with OpenSRS and Nifty?
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
Emit new event when a new message is posted in a team's discussion.
Initiate a domain transfer to OpenSRS. See the documentation
Assigns a specific task to a team member in Nifty. See the documentation
Creates a new project in a designated portfolio. 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 Nifty API allows for streamlined project management, facilitating task automation and data synchronization within Pipedream. By integrating with the Nifty API, you can automate workflows involving project tracking, task assignments, and progress monitoring, effectively reducing manual overhead. On Pipedream, the API's endpoints can trigger actions, respond to changes, and update records across different services, bringing cohesion to your project management ecosystem.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
nifty: {
type: "app",
app: "nifty",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://openapi.niftypm.com/api/v2.0/users/me`,
headers: {
Authorization: `Bearer ${this.nifty.$auth.oauth_access_token}`,
"accept": `application/json`,
},
})
},
})