with Zoho Recruit and OpenSRS?
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
Creates a new record or updates existing record if already present. See the documentation
Initiate a domain transfer to OpenSRS. See the documentation
The Zoho Recruit API lets you access the Zoho Recruit ATS functionalities programmatically, enabling integrations with other services, automation of tasks, and enhancement of the recruitment process. With this API in Pipedream, you can trigger workflows based on events in Zoho Recruit, manipulate candidate data, post jobs, schedule interviews, and automate communication. The seamless connection between Zoho Recruit and other apps through Pipedream creates a powerful ecosystem to streamline your hiring workflows.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zoho_recruit: {
type: "app",
app: "zoho_recruit",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://recruit.${this.zoho_recruit.$auth.base_api_uri}/recruit/v2/settings/roles`,
headers: {
"Authorization": `Zoho-oauthtoken ${this.zoho_recruit.$auth.oauth_access_token}`,
},
})
},
})
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
});
},
})