OpenSRS

Reseller Platform for Domains, Email, and SSL

Integrate the OpenSRS API with the Pipedream Utils API

Setup the OpenSRS API trigger to run a workflow which integrates with the Pipedream Utils API. Pipedream's integration platform allows you to integrate OpenSRS and Pipedream Utils 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
Formatting - [Data] Convert JSON to String with Pipedream Utils API on New DNS Zone Change from OpenSRS API
OpenSRS + Pipedream Utils
 
Try it
Formatting - [Data] Convert JSON to String with Pipedream Utils API on New Domain Registration from OpenSRS API
OpenSRS + Pipedream Utils
 
Try it
Formatting - [Data] Convert JSON to String with Pipedream Utils API on New Transfer Status from OpenSRS API
OpenSRS + Pipedream Utils
 
Try it
Formatting - [Date/Time] Add/Subtract Time with Pipedream Utils API on New DNS Zone Change from OpenSRS API
OpenSRS + Pipedream Utils
 
Try it
Formatting - [Date/Time] Add/Subtract Time with Pipedream Utils API on New Domain Registration from OpenSRS API
OpenSRS + Pipedream Utils
 
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
Formatting - [Data] Convert JSON to String with the Pipedream Utils API

Convert an object to a JSON format string

 
Try it
Formatting - [Data] Parse JSON with the Pipedream Utils API

Parse a JSON string

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

Add or subtract time from a given input

 
Try it
Formatting - [Date/Time] Compare Dates with the Pipedream Utils 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
		});
  },
})

Overview of Pipedream Utils

The Pipedream Utils app is a set of pre-built functions that streamline common tasks in your workflows. It acts like a Swiss Army knife for developers, providing essential tools such as format conversion, date manipulation, and text processing. By leveraging these functions, you can reduce the boilerplate code needed for routine operations, speeding up the development of intricate automations. The Helper Functions API can be a game changer when it comes to tasks like parsing dates in user-friendly formats, encoding and decoding data, or generating UUIDs, making them more efficient and less error-prone.

Connect Pipedream Utils

1
2
3
4
5
6
7
8
9
10
11
12
export default defineComponent({
  props: {
    pipedream_utils: {
      type: "app",
      app: "pipedream_utils",
    }
  },
  async run({steps, $}) {

  },
})

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