with OpenSRS and wit.ai?
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
Add a sample utterance to train your app with an intent. See the documentation
Creates a new entity with the given attributes. 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
});
},
})
Wit.ai API enables your apps to process natural language and understand human commands contextually. With it, you can build conversational interfaces, decipher intent from text or voice inputs, and train your model to improve recognition. Pipedream provides a seamless platform to trigger workflows using this API, allowing the automation of tasks based on language cues. It's perfect for crafting custom bots, enhancing customer service, or streamlining internal operations by interpreting human requests and taking action accordingly.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
wit_ai: {
type: "app",
app: "wit_ai",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.wit.ai/message?v=20170307&q=hello`,
headers: {
Authorization: `Bearer ${this.wit_ai.$auth.app_token}`,
},
})
},
})