with Teamup and OpenSRS?
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
Deletes an existing event on a specified calendar. See the documentation
Updates an existing event on a specified calendar. See the documentation
The TeamUp API provides an interface to interact with TeamUp's calendar services, allowing for robust management of schedules, events, and calendars. Leveraging this API within Pipedream, you can create automated workflows that handle event synchronization, notifications, and calendar data manipulation. Pipedream's serverless platform facilitates seamless integration with various services to enhance the capabilities of TeamUp, such as triggering actions on a schedule or in response to events, and connecting with other apps like Slack or Google Sheets for extended functionality.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
teamup: {
type: "app",
app: "teamup",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.teamup.com/check-access`,
headers: {
"Teamup-Token": `${this.teamup.$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
});
},
})