API: OpenSRS

OpenSRS API Guide: Domains and SSL

Welcome to the OpenSRS API guide. Here you will find comprehensive documentation regarding our domain and SSL services. We hope this guide will help you start working with OpenSRS as quickly as possible. If you have any questions or concerns, please do not hesitate to contact help@opensrs.com

Get Started

process_pending

Processes or cancels pending orders; also applicable to any order that is declined. The order is cancelled and a new order is created. Can also be used to process cancelled domain orders, provided the cancelled order was a new order or a transfer.

Request parameters for process_pending

Standard parameters

  • action = process_pending
  • object = domain or trust_service attributes

Attributes

Parameters within the attributes associative array are described below.

Parameter name
Obligation
Definition/Value

approver_email

Required

Approver email only needed when dv_auth method is set to email

dv_auth_method

Required

Preferred authorization method for domain-vetted certificates.

Possible values include:

  • DNS
  • File
  • Email

Note: The default value is Email, if preferred method is not set.

command

Optional

Only necessary if you want to cancel the pending order. If you want to process the pending order, do not add this attribute.

Allowed value is cancel.

fax_received

Optional

Only required for .DE orders that are pending a confirmation fax.

  • 0—No
  • 1—Yes

order_id

Required

The ID of the order to be processed.

owner_address

Optional

Owner's email address; only used for .DE transfers.

Response parameters for process_pending

Standard parameters action = reply

  • object = domain
  • is_success = a Boolean is returned, indicating success or failure of the
    request
  • response_code = response code indicating outcome of the request
  • response_text = message describing the outcome of the request attributes

Attributes

If the request is successful, the attributes associative array may include the
following:

Parameter name
Obligation
Definition/Value

async_reason

Included in domain response for asynchronous requests

Indicates the reason that the request was asynchronous. Allowed values are:

  • general—Order was submitted to an asynchronous registry.

  • has_claim—Registrant action required before order can complete.

domain

Included in SSL Service response if is_success = true

The domain with which the SSL Service order is associated.

dv_auth_details

optional

Displays the contents of the domain validation entry required for proper validation.

If DNS was set as the preferred method, the DNS entry content will be returned. If file is the method selected, the file name and file contents will be returned.

Note: If email was set as the preferred method, no value will be returned.

dv_auth_method

Included if the dv authorization method is DNS or File

Note: If the authorization method selected is email, no value for dv_auth_method will be returned.

The authorization method selected.

f_auto_renew

Included in domain response if is_success = true

Flag indicating whether domain is automatically renewed. Allowed values are Y or N.

id

Included in domain response if is_success = true

The ID of the domain

order_id

Included in SSL Service response if is_success = true

The ID of the order.

registration expiration date

Included in domain response if is_success = true

The new expiration date for the service, in the format YYYY-MM-DD hh:mm:ss

state

Included in SSL Service response if is_success = true

The state of the order. Allowed values are:

  • awaiting-approval—Order processed successfully; waiting for supplier approval.

  • in-progress—Order is in progress.

supplier_order_id

Included in SSL Service response if is_success = true

Note: Required for domain-vetted RapidSSL, GeoTrust and Comodo SSL certificates

The ID number for the vendor.

Examples for process_pending domain

Request

<?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">process_pending</item>
                <item key="object">domain</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="owner_address">myemail@example.com</item>
                        <item key="fax_received">1</item>
                        <item key="order_id">535242</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Response

<?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">REPLY</item>
                <item key="object">DOMAIN</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="f_auto_renew">Y</item>
                        <item key="id">3343012</item>
                        <item key="registration expiration date">2007-12-05
15:23:15</item>
                    </dt_assoc>
                </item>
                <item key="is_success">1</item>
                <item key="response_code">200</item>
                <item key="response_text"> Domain registration successfully
completed
            </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?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">REPLY</item>
                <item key="object">DOMAIN</item>
                <item key="is_success">0</item>
                <item key="response_code">480</item>
                <item key="response_text">Order 535242 is not a pending or declined order and cannot be processed</item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?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="object">DOMAIN</item>
                <item key="response_code">260</item>
                <item key="is_success">1</item>
                <item key="response_text">Registration is pending registrant review before completing due to claim/trademark.</item>
                <item key="transaction_id" />
                <item key="action">REPLY</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="order_id">654155</item>
                        <item key="async_reason">has_claim</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Examples for process_pending trust_service

Example 1

Request

<?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">process_pending</item>
                <item key="object">trust_service</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="order_id">6617</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Response

<?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">REPLY</item>
                <item key="object">TRUST_SERVICE</item>
                <item key="response_text">Command completed successfully.</item>
                <item key="is_success">1</item>
                <item key="response_code">200</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="domain">example.com</item>
                        <item key="order_id">6617</item>
                        <item key="supplier_order_id">219</item>
                        <item key="state">awaiting-approval</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Example 2

This example uses dv_auth_method to request DV authorization details for all three methods (File, DNS and Email) on orders for Comodo and Symantec SSL products.

Request

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<OPS_envelope>
    <header>
        <version>0.9</version>
        <msg_id>2.21765911726198</msg_id>
        <msg_type>standard</msg_type>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="action">process_pending</item>
                <item key="object">trust_service</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="order_id">17600</item>
                        <item key="dv_auth_method">file</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<OPS_envelope>
    <header>
        <version>0.9</version>
        <msg_id>2.21765911726198</msg_id>
        <msg_type>standard</msg_type>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="action">process_pending</item>
                <item key="object">trust_service</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="order_id">16685</item>
                        <item key="dv_auth_method">dns</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<OPS_envelope>
    <header>
        <version>0.9</version>
        <msg_id>2.21765911726198</msg_id>
        <msg_type>standard</msg_type>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="action">process_pending</item>
                <item key="object">trust_service</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="order_id">16686</item>
                        <item key="approver_email">admin@20160122comodoemailb.com</item>
                        <item key="dv_auth_method">email</item>
                    </dt_assoc>
                </item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

Response

<?xml version='1.0' encoding="UTF-8" standalone="no"?>
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="object">TRUST_SERVICE</item>
                <item key="response_text">Command completed successfully.</item>
                <item key="action">PROCESS_PENDING:REPLY</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="domain">simpletest1.com</item>
                        <item key="dv_auth_method">file</item>
                        <item key="order_id">17601</item>
                        <item key="dv_auth_details">
                            <dt_assoc>
                                <item key="file_contents">23D6930CD9F7B47AB1716D732BAA6114E83CAF64
                                    comodoca.com</item>
                                <item key="file_name">7E2537E8CE7B9D0554BD50BBC675A179.txt</item>
                            </dt_assoc>
                        </item>
                        <item key="state">awaiting-approval</item>
                        <item key="supplier_order_id">21843012</item>
                    </dt_assoc>
                </item>
                <item key="response_code">200</item>
                <item key="is_success">1</item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?xml version='1.0' encoding="UTF-8" standalone="no"?>
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="object">TRUST_SERVICE</item>
                <item key="response_text">Command completed successfully.</item>
                <item key="action">PROCESS_PENDING:REPLY</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="domain">simpletest1.com</item>
                        <item key="dv_auth_method">dns</item>
                        <item key="order_id">17600</item>
                        <item key="dv_auth_details">
                            <dt_assoc>
                                <item key="dns_entry">7E2537E8CE7B9D0554BD50BBC675A179.simpletest1.com CNAME 23D6930CD9F7B47AB1716D732BAA6114E83CAF64.comodoca.com</item>
                            </dt_assoc>
                        </item>
                        <item key="state">awaiting-approval</item>
                        <item key="supplier_order_id">21842891</item>
                    </dt_assoc>
                </item>
                <item key="response_code">200</item>
                <item key="is_success">1</item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>
<?xml version='1.0' encoding="UTF-8" standalone="no"?>
<OPS_envelope>
    <header>
        <version>0.9</version>
    </header>
    <body>
        <data_block>
            <dt_assoc>
                <item key="protocol">XCP</item>
                <item key="object">TRUST_SERVICE</item>
                <item key="response_text">Command completed successfully.</item>
                <item key="action">PROCESS_PENDING:REPLY</item>
                <item key="attributes">
                    <dt_assoc>
                        <item key="domain">20160122comodoemailb.com</item>
                        <item key="order_id">16686</item>
                        <item key="state">awaiting-approval</item>
                        <item key="supplier_order_id">20073400</item>
                    </dt_assoc>
                </item>
                <item key="response_code">200</item>
                <item key="is_success">1</item>
            </dt_assoc>
        </data_block>
    </body>
</OPS_envelope>

process_pending

Processes or cancels pending orders; also applicable to any order that is declined. The order is cancelled and a new order is created. Can also be used to process cancelled domain orders, provided the cancelled order was a new order or a transfer.