with OpenSRS and Agile CRM?
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
Emit new event when the status of a domain transfer changes. See the documentation
Initiate a domain transfer to OpenSRS. See the documentation
Used to change the score of a contact. See the documentation
Adds a tag or tags to an existing contact. 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
});
},
})
The Agile CRM API interacts with Agile's sales, marketing, and service software, offering a suite of features including contact management, deals, and campaign automation. On Pipedream, you can automate interactions with Agile CRM, such as syncing contacts, updating deals, or triggering campaigns. By leveraging Pipedream's serverless platform, you can connect Agile CRM to hundreds of other apps, creating custom, automated workflows that operate in real-time, and with no server maintenance required.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
agile_crm: {
type: "app",
app: "agile_crm",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.agile_crm.$auth.domain}.agilecrm.com/dev/api/contacts`,
auth: {
username: `${this.agile_crm.$auth.username}`,
password: `${this.agile_crm.$auth.api_key}`,
},
})
},
})