OpenSRS

Reseller Platform for Domains, Email, and SSL

Integrate the OpenSRS API with the Formatting API

Setup the OpenSRS API trigger to run a workflow which integrates with the Formatting API. Pipedream's integration platform allows you to integrate OpenSRS and Formatting remarkably fast. Free for developers.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
[Data] Convert JSON to String with Formatting API on New DNS Zone Change from OpenSRS API
OpenSRS + Formatting
 
Try it
[Data] Convert JSON to String with Formatting API on New Domain Registration from OpenSRS API
OpenSRS + Formatting
 
Try it
[Data] Convert JSON to String with Formatting API on New Transfer Status from OpenSRS API
OpenSRS + Formatting
 
Try it
[Data] Parse JSON with Formatting API on New DNS Zone Change from OpenSRS API
OpenSRS + Formatting
 
Try it
[Data] Parse JSON with Formatting API on New Domain Registration from OpenSRS API
OpenSRS + Formatting
 
Try it
New DNS Zone Change from the OpenSRS API

Emit new event when the DNS/ZONE check has passed or failed at the registry. See the documentation.

 
Try it
New Domain Registration from the OpenSRS API

Emit new event for each new domain registration. See the documentation.

 
Try it
New Transfer Status from the OpenSRS API

Emit new event when the status of a domain transfer changes. See the documentation.

 
Try it
Initiate Domain Transfer with the OpenSRS API

Initiate a domain transfer to OpenSRS. See the documentation.

 
Try it
[Data] Convert JSON to String with the Formatting API

Convert an object to a JSON format string

 
Try it
[Data] Parse JSON with the Formatting API

Parse a JSON string

 
Try it
[Date/Time] Add/Subtract Time with the Formatting API

Add or subtract time from a given input

 
Try it
[Date/Time] Compare Dates with the Formatting API

Get the duration between two dates in days, hours, minutes, and seconds along with checking if they are the same.

 
Try it

Connect OpenSRS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
		});
  },
})

Connect Formatting

1
2
3
4
5
6
export default defineComponent({
  async run({ steps, $ }) {
    const text = ' Hello world! ';
    return text.trim()
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo