with OpenSRS and Anthropic (Claude)?
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
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
});
},
})
The Anthropic (Claude) API offers a conversational AI that can be leveraged for a variety of applications, ranging from answering questions to generating content or providing customer support. In Pipedream, you can create powerful workflows that utilize the capabilities of Claude to automate responses, analyze text, or enhance data with AI-generated insights. Pipedream's serverless platform simplifies integrating Claude into your processes with other apps and services for seamless automation.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
anthropic: {
type: "app",
app: "anthropic",
}
},
async run({steps, $}) {
const data = {
"model": "claude-3-haiku-20240307",
"max_tokens": 300,
"messages": [
{"role": "user", "content": "Write me a haiku about Pipedream workflows."}
]
}
return await axios($, {
method: "post",
url: `https://api.anthropic.com/v1/messages`,
headers: {
"x-api-key": `${this.anthropic.$auth.api_key}`,
"anthropic-version": `2023-06-01`,
},
data,
})
},
})