Reseller Platform for Domains, Email, and SSL
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 SWAPI - Star Wars API is a treasure trove of structured data from the Star Wars universe. It's a go-to resource for fetching information about planets, spaceships, vehicles, people, films, and species from the iconic franchise. Using Pipedream, you can harness this data to create automations and workflows that trigger based on specific criteria from SWAPI. For instance, you could set up a workflow that notifies you when new data is added, enrich customer profiles with their favorite Star Wars characters, or even use it for trivia games by pulling random facts.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
swapi: {
type: "app",
app: "swapi",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://swapi.dev/api/films/1/`,
})
},
})