Integration platform for developers
Exposes an HTTP API for scheduling messages to be emitted at a future time
Emit new event based on a time interval before an upcoming event in the calendar. This source uses Pipedream's Task Scheduler. See the documentation for more information and instructions for connecting your Pipedream account.
Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation.
Emit new event at a specified time before a card is due.
Emit new event for each new domain registration. See the documentation.
Initiate a domain transfer to OpenSRS. See the documentation.
Pipedream is an API that allows you to build applications that can connect to
various data sources and processes them in real-time. You can use Pipedream to
create applications that can perform ETL (Extract, Transform, and Load) tasks,
as well as to create data-driven workflows.
Some examples of applications you can build using the Pipedream API include:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
pipedream: {
type: "app",
app: "pipedream",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.pipedream.com/v1/users/me`,
headers: {
Authorization: `Bearer ${this.pipedream.$auth.api_key}`,
},
})
},
})
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
});
},
})