with OpenSRS and Pipefy?
Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation
Emit new event for each new domain registration. See the documentation
Initiate a domain transfer to OpenSRS. See the documentation
Update DNS records for a specified domain. See the documentation
import { axios } from "@pipedream/platform";
import crypto from 'crypto';
export default defineComponent({
props: {
opensrs: {
type: "app",
app: "opensrs",
}
},
async run({steps, $}) {
const connectionDetails = {
reseller_username: this.opensrs.$auth.reseller_username,
api_key: this.opensrs.$auth.api_key,
api_host_port: this.opensrs.$auth.api_host_port
};
//Payload of the request
const xml = `<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">LOOKUP</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">${this.opensrs.$auth.domain}</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>`;
// Generate signature
const generateSignature = (xml, apiKey) => {
let md5 = crypto.createHash('md5');
md5.update(xml + apiKey);
let firstHash = md5.digest('hex');
md5 = crypto.createHash('md5');
md5.update(firstHash + apiKey);
return md5.digest('hex');
};
const signature = generateSignature(xml, connectionDetails.api_key);
// Prepare and call OpenSRS API
const headers = {
'Content-Type': 'text/xml',
'X-Username': connectionDetails.reseller_username,
'X-Signature': signature
};
return await axios($, {
method: "POST",
url: connectionDetails.api_host_port,
headers,
data: xml
});
},
})
Pipefy is a platform that empowers users to streamline complex processes and workflows without the need for technical skills. With the Pipefy API, you can automate various aspects of your Pipefy environment, such as creating cards, updating fields, and managing pipelines programmatically. Use Pipedream to connect Pipefy with hundreds of other apps and orchestrate workflows that can save time, reduce errors, and enhance efficiency.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
pipefy: {
type: "app",
app: "pipefy",
}
},
async run({steps, $}) {
const data = {
"query": `{ me { name } }`,
}
return await axios($, {
method: "post",
url: `https://api.pipefy.com/graphql`,
headers: {
Authorization: `Bearer ${this.pipefy.$auth.token}`,
},
data,
})
},
})