SSL API (SOAP)

EPAG offers registration or renewal of SSL certificates of various certification authorities (CA). In addition to the manual order form on our website www.epag.de, EPAG provides a SOAP-based webservice as an API which allows for the full automation of the ordering process.

This document describes the process for registrations and renewals of SSL certificates using the SOAP interface. Standards such as W3C SOAP and WSDL allow for using this SOAP interface on different platforms and make it easy to integrate it into different systems.

The following sections will first explain the design and usage of the interface and its parameters in detail. Afterwards, some code examples will show how the API can be implemented in some of the most commonly used programming languages.

Introduction

URL and Authentication

Webservice URL
https://soap.epnic.net (OT&E: soap.ote.epnic.net)

WSDL URL
https://soap.epnic.net/cert_order/?wsdl

Authentication
In order to authenticate SOAP requests directed at the system, please use the same username and password which you usually use to log into your EPAG customer account.

Abbreviations and Terms

SSL

The abbreviation SSL is short for Secure Sockets Layer and means a protocol to encrypt the transmission of data within the TCP/IP layer.

CSR

The abbreviation CSR is short for Certificate Signing Request. A CSR is a set of characters which is created specifically for the hostname that is to be certified using a piece of SSL software. Only after a CSR is submitted, the certification authority (e.g. VeriSign or thawte) can create and issue a digital certificate.

WSDL

The Web Services Description Language (WSDL) is a script language for webservices which is independent of platforms, programming languages or protocols and is used to exchange information using XML.

Ordering and Managing Certificates using SOAP

Introduction

This API is used for automated registrations and renewals of SSL certificates. The interface is available as a webservice based on SOAP and enables clients to automate the processing of SSL orders.

To ease implementation, the API can be used in a testing mode. If the test mode is used, all orders will be validated, but not forwarded for real processing. This allows integration of the interface in client systems without effecting real orders. The following sections will illustrate which parameter is used to activate test mode.

For more information, please see the FAQ section on certificates at http://www.epag.de/en/certs-faq.

Functions

The API provides the following functions:

parseCSR

Check and parse a CSR

certOrder

Order a SSL certificate

getOrders

Retrieves a list of all SSL orders in the account

getOrderDetails

Retrieves the status of a specific existing order.

getEvents

Retrieves events in the course of the ordering process.

acknowledgeEvent

Confirms that a specific event has been read.

resendApproverEMail

Triggers that that email to approve a certificate is being resent.

changeApproverEMail

Changes the approver email address during processing of an order.

cancelOrder

Cancels a pending order.

Order process

Using the method parseCSR it is possible to check whether a CSR is valid and which data it contains before the actual order is submitted.

Placing SSL orders is done using the method certOrder. This will submit all data to EPAG which is required to issue a certificate. EPAG will check the received data and return an order ID or, in case the order is not accepted, respond with an error message. If the order has been successfully submitted, it will be processed by EPAG and forwarded to the certification authority.

Using the getOrders function, a full or filtered list of all orders can be retrieved. The getOrderDetails will provide information about the status of a specific order. The function getEvents will return messages that occur when the processing status of orders changes. After such message has been read or processed, it can be marked as “read” using the acknowledgeEvent function. In this case, this event will not be returned any longer when unsing the getEvents function for the next time.

The function resendApproverEMail can be used to resend the email which is needed to approve a certificate order. If the destination address for this email is wrong and needs to be changed, this can be done using the changeApproverEMail function.

Cancelling of a pending order can be done using cancelOrder.

Order codes

Provider
Product name
Order code

Symantec

Secure Site

SecureSite

Symantec

Secure Site with EV

SecureSiteEV

Symantec

Secure Site Pro

SecureSitePro

Symantec

Secure Site Pro with EV

SecureSiteProEV

Symantec

Code Signing Certificate

VeriSignCSC

Symantec

Trust Seal

TrustSealOrg

Thawte

SSL123

SSL123

Thawte

SSL Webserver

SSLWebServer

Thawte

SSL Webserver with SAN

SSLWebServerSAN

Thawte

SSL Webserver with Wildcard

SSLWebServerWC

Thawte

Code Signing Certificate

ThawteCSC

Thawte

SSL Webserver with EV

SSLWebServerEV

Thawte

SSL Webserver with EV & SAN

SSLWebServerEVSAN

GeoTrust

QuickSSL Premium

QuickSSLPremium

GeoTrust

True BusinessID

TrueBizID

GeoTrust

True BusinessID Wildcard

TrueBizIDWC

GeoTrust

True BusinessID with SAN

TrueBizIDSAN

GeoTrust

True BusinessID with EV

TrueBizIDEV

GeoTrust

True BusinessID with EV & SAN

TrueBizIDEVSAN

RapidSSL

RapidSSL Certificate

RapidSSL

RapidSSL

RapidSSL Wildcard Certificate

RapidSSLWC

GlobeSSL

GlobeSSL Standard Certificate

GlobeSSL

Order status/ Event codes

An order usually goes through several processes before being completed. The order status describes the current status of the order, while an event provides updates on the steps followed during order processing. The following list shows the possible status and event codes which may be returned for an order:

Status and event codes

Status code
Event code
Status
Event

0

0

Order received.

Order has been accepted.

1

1

Order in process.

Order is being processed.

10

Order is in manual processing.

20

An error occurred during processing.

30

Certificate has been issued.

80

Cancellation pending.

97

97

Order cancelled.

Order has been cancelled.

98

98

Order cancelled due to an error.

Order cancelled due to an error.

99

99

Order completed sucessfully.

Order completed successfully.

Error codes

In case of an error during order processing, the Web Service methods will return one of the following error codes:

Code
Description

VAL001

A required parameter is missing.

VAL100

A required parameter contains no data.

VAL101

Invalid data type.

VAL102

A required parameter contains invalid data.

VAL103

Authentication failed.

VAL104

Access to webservice denied (insufficient user rights).

VAL105

Access to webservice denied (no SSL connection).

VAL200

CSR is invalid and cannot be parsed.

VAL201

CSR: invalid country code.

VAL202

CSR: missing data.

VAL203

CSR: commonName[CN] is invalid.

VAL204

CSR: invalid BEGIN- oder END-character string.

VAL210

CSR: insufficient key length.

VAL300

Invalid email address format.

VAL301

“Wildcard” option not available.

VAL302

Invalid registration period.

VAL303

Invalid domain name format.

VAL304

“Code-Signing” option is invalid.

VAL305

Invalid date or period.

VAL306

Domain name (SAN) may not be more than 64 characters.

VAL307

Number of domains for SAN option invalid.

VAL308

Domain names (SAN) must be subordinated to the second-level-domain of the "main" host.

VAL309

Domain names (SAN) must be unique. Duplicate entries are not allowed.

DBA001

Database error.

ORD001

Order has already been completed.

ORD002

Order process is cancelled.

ORD003

Order does not exist.

ORD004

Invalid approver email address.

ORD005

Event does not exist.

ORD006

Action not available with the current order status.

ORD007

Insufficient funds in account.

GEO001

Connection to GeoTrust API could not be created.

GEO002

GeoTrust API error.

GEO003

GeoTrust API warning.

GEO004

GeoTrust API unknown error code.

GEO005

GeoTrust API exception.

GLB001

GlobeSSL API error.

UNK001

Unknown or unhandled error.

Web Service Functions

parseCSR

This method is used to check and parse a Certificate Signing Request (CSR).

Input parameters

parseCSR input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth

Contains authentication data.

csr

yes

String

Certificate Signing Request.

product

yes

String

Order code of the certificate.

Siehe "Order codes"

Data type certAuth:

Parameter
Mandatory field
Data type
Definition
Content

username

yes

String

User name of EPAG account.

password

yes

String

Password of EPAG account.

parseCSR return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

certCSRInfo

Contains the data of a successful processing result
This parameter is only returned if the CSR can be parsed successfully.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if the CSR has not been validated successfully.

Data type certCSRInfo:

Parameter
Data type
Definition
Content

countryName

String

Country code.

stateOrProvinceName

String

Name of state or province.

localityName

String

Name of city.

organizationName

String

Name of organization.

organizationalUnitName

String

Name of unit, division or branch.

commonName

String

Host or domain name.

emailAddress

String

Email address of the administrative contact.

Data type certError:

Parameter
Data type
Definition
Content

Code

String

Error code.

Description

String

Short text description of error.

Parameters

String

List / array of additional information (for specific errors only).

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:parseCSR>
      <body>
	  <auth>
	    <username>?</username>
	    <password>?</password>
	  </auth>
	  <csr>?</csr>
	  <product>?</product>
	</body>
    </ns1:parseCSR>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:parseCSRResponse>
      <body>
        
        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>                     <-- if resultCount greater 0 -->   
          <countryName>?</countryName>
          <stateOrProvinceName>?</stateOrProvinceName>
          <localityName>?</localityName>
          <organizationName>?</organizationName>
          <commonName>?</commonName>
        </result>

        <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

      </body>
    </ns1:parseCSRResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

certOrder

This method is used to submit orders of SSL certificates using the SOAP interface. The following table contains an overview on the function parameters and how to use these for the available certificates.

Input parameters

certOrder input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

ja

certAuth. See "parseCSR"

Contains authentication data.

orderData

ja

certOrderData

Contains the order details of the certificate.

adminContact

ja

certAdminContact

Contains the contact data of the administrative contact.

techContact

ja

certTechContact

Contains the contact data of the technical contact.

testOrder

optional

Boolean

Indicates if the test mode shall be used for the request. If test mode is used, no payable orders are created.

Data type certOrderData:

Parameter
Mandatory field
Data type
Definition
Content

product

yes

String

Product code of certificate.

See "Order codes"

orderType

yes

String

Indicates if a certificate is to be initially registered or renewed.

Register
Renew

period

yes

String

Period in years for which the certificate shall be registered or renewed.

contactEmail

yes

String

Email address of billing recipient and contact for the ordering process at EPAG (this contact will be contacted by EPAG; it will not be contacted by the certification authority).

valid email address.

csr

See table

String

Certificate Signing Request
For wildcard certificates please make sure to chose a host name like *.sld.tld.

hostName

See table

String

Domain Name.

dnsNames

See table

String

Additional hostnames (comma separated) for SAN extension.

i.e. www.name1.de,www.name2.de

webserverType

See table

String

Name of software used on the server.

MSIIS
Other

codeSigningType

See table

String

Type identifier for Code Signing certificates.

Apple, JavaSoft,
MSAuthentiCode
VBA, AdobeAir

approverEmail

See table

String

Email address to which the confirmation request for the order will be sent (will not be contacted by EPAG; will only be contacted by the certification authority).

Email addresses of the following format will be accepted:
admin@yourdomain
administrator@yourdomain
hostmaster@yourdomain
root@yourdomain
webmaster@yourdomain
postmaster@yourdomain

Data type certAdminContact:

Parameter
Mandatory field
Data type
Definition
Content

firstName

See table

String

First name of admin contact.

lastName

See table

String

Last name of admin contact.

Position

See table

String

Job title or position of admin contact.

organization

See table

String

Organization name of admin contact.

country

See table

String

Country of admin contact.

e.g. DE

state

See table

String

Region/ province of admin contact.

postalCode

See table

String

Postal code of admin contact.

city

See table

String

City of admin contact.

street

See table

String

Street and number of admin contact.

phone

See table

String

Phone number of admin contact.

fax

See table

String

Fax number of admin contact.

email

See table

String

Email address of admin contact.

valid email address

Data type certTechContact:

Parameter
Mandatory field
Data type
Definition
Content

firstName

See table

String

First name of tech contact.

lastName

See table

String

Last name of tech contact.

position

See table

String

Job title or position of tech contact.

organization

See table

String

Organization name of tech contact.

country

See table

String

Country of tech contact.

e.g. DE

state

See table

String

Region/ province of tech contact.

postalCode

See table

String

Postal code of tech contact.

city

See table

String

City of tech contact.

street

See table

String

Street and number of tech contact.

phone

See table

String

Phone number of tech contact.

fax

See table

String

Fax number of tech contact.

email

siehe Tabelle

String

Email address of tech contact.

valid email address

Return parameters

certOrder return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

certOrderResult

Contains the data of a successful processing result
This parameter is only returned if the order has been accepted successfully.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

Data type certOrderResult:

Parameter
Data type
Definition
Content

orderId

String

Returns an order ID which can be used later to retrieve the processing status of the order.
Please note that test-orders will not generate an order ID.

description

String

Describes the result of the request.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:certOrder>
      <body>

        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        
        <orderData> <!-- see description -->
            <product>?</product>
            <orderType>?</orderType>
            <period>?</period>
            <contactEmail></contactEmail>
            <csr>?</csr>
            <hostName>?</hostName>
            <dnsNames>?</dnsNames>
            <webserverType>?</webserverType>
            <codeSigningType>?</codeSigningType>
            <approverEmail>?</approverEmail>
          </orderData>
          
          <adminContact> <!-- see description -->
            <firstName>?</firstName>
            <lastName>?</lastName>
            <position>?</position>
            <organization>?</organization>
            <country>?</country>
            <state>?</state>
            <postalCode>?</postalCode>
            <city>?</city>
            <street>?</street>
            <phone>?</phone>
            <fax>?</fax>
            <email>?</email>
          </adminContact>
          
          <techContact> <!-- see description -->
            <firstName>?</firstName>
            <lastName>?</lastName>
            <position>?</position>
            <organization>?</organization>
            <country>?</country>
            <state>?</state>
            <postalCode>?</postalCode>
            <city>?</city>
            <street>?</street>
            <phone>?</phone>
            <fax>?</fax>
            <email>?</email>
          </techContact>
        
        <testSystem>?</testSystem>  <!-- Optional -->
      </body>
    </ns1:certOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-EvNV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:certOrderResponse>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>                     <-- if resultCount greater 0 -->
          <orderId>?</orderId>
          <description>?</description>
        </result>
        
        <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

      </body>
    </ns1:certOrderResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

getOrders

This method is used to list all certificate orders. The return list can be filtered and sorted by different criteria. Multiple criteria may be used in combination.

Input parameters

getOrders input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. Siehe 3.1 parseCSR.

Contains authentication data.

filter

optional

certGetOrdersFilter

Contains the criteria for filtering the result list.

sort

optional

certGetOrdersSort

Contains the criteria for sorting the result list.

Data type certGetOrdersFilter:

Parameter
Data type
Mandatory field
Definition
Content

dateFrom

DateTime

Will return only orders submitted after this date.

ISO 8601 date (e.g.
2010-01-01T08:00:00-02_00)

dateTo

DateTime

Will return only those orders submitted prior to this date.

ISO 8601 date (e.g.
2010-01-01T08:00:00-02_00)

statusCode

String

Will return only orders in the specified status (see status list on the right).

See "Order status/Event codes"

product

String

Will return only orders with the specified order code (type of certificate).

See "Order codes"

orderType

String

Will return only orders with the specified order type.

Register
Renew

hostName

String

Will return only orders with the specified domain name.

Data type certGetOrdersSort:

Parameter
Mandatory field
Data type
Definition
Content

sortBy

String

Will sort the result using the specified criteria.

statusCode
product
orderDate
nextRenewal
orderType
hostName

sortOrder

String

Sorting type.

ASC
DESC

Return parameters

getOrders return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

certGetOrdersResult

Contains the data of a successful processing result.
This parameter is only returned if the order has been accepted successfully.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

Data type certGetOrdersResult:

Parameter
Data type
Definition
Content

orderId

String

Unique order ID.

orderDate

DateTime

Order creation date.

ISO 8601 Datum

nextRenewal

DateTime

Expiry date of the certificate, end of paid period.

ISO 8601 Datum

product

String

Order code of certificate.

Siehe "Order codes"

orderType

String

Indicates if a certificate is to be initially registered or renewed.

hostName

String

Hostname.

statusCode

String

Order status as a numeric value.

Siehe "Order status/Event codes"

statusDesc

String

Text description of order status.

vendorId

String

Id of certificate authority. Will be filled during order process.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getOrders>
      <body>

        <auth>
          <username>?</username>
          <password>?</password>
        </auth>

        <filter> <!-- optional -->
          <dateFrom>?</dateFrom>
          <dateTo>?</dateTo>
          <statusCode>?</statusCode>
          <product>?</product>
          <orderType>?</orderType>
          <hostName>?</hostName>
        </filter>

        <sort> <!-- optional -->
          <sortBy>?</sortBy>
          <sortOrder>?</sortOrder>
        </sort>

      </body>
    </ns1:getOrders>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getOrdersResponse>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>                     <-- if resultCount greater 0 -->
          <orderId>?</orderId>
          <orderDate>?</orderDate>
          <nextRenewal>?</nextRenewal>
          <product>?</product>
          <orderType>?</orderType>
          <hostName>?</hostName>
          <statusCode>?</statusCode>
          <statusDesc>?</statusDesc>
          <vendorId>?</vendorId> <!-- filled during order process -->
        </result>
        
        <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

      </body>
    </ns1:getOrdersResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

getOrderDetails

This method is used to query the status of a specific order.

Input parameters

getOrderDetails input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR"

Contains authentication data.

orderId

yes

String

Unique order ID.

Return parameters

getOrderDetails return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

certOrderDetails

Contains data for the requested order.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

Data type certOrderDetails:

Parameter
Data type
Definition
Content

orderData

certOrderData. See "certOrder".

Contains order data for the certificate.

adminContact

certAdminContact. See "certOrder".

Contains contact data for the admin contact.

techContact

certTechContact. See "certOrder".

Contains contact data for the tech contact.

orderDate

DateTime

Date of the order.

ISO 8601 Datum

statusCode

String

Order status code.

Siehe "Bestellstatus-/Event-Codes"

statusDesc

String

Short status description.

certificate

String

Certificate data (only if the order has been completed successfully).

vendorId

String

Id of certificate authority. Will be filled during order process.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getOrderDetails>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <orderId>?</orderId>
      </body>
    </ns1:getOrderDetails>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getOrderDetailsResponse>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>                     <-- if resultCount greater 0 -->
          
          <orderData>
            <product>?</product>
            <orderType>?</orderType>
            <period>?</period>
            <contactEmail></contactEmail>
            <csr>?</csr>
            <hostName>?</hostName>
            <dnsNames>?</dnsNames>
            <webserverType>?</webserverType>
            <codeSigningType>?</codeSigningType>
            <approverEmail>?</approverEmail>
          </orderData>
          
          <adminContact>
            <firstName>?</firstName>
            <lastName>?</lastName>
            <position>?</position>
            <organization>?</organization>
            <country>?</country>
            <state>?</state>
            <postalCode>?</postalCode>
            <city>?</city>
            <street>?</street>
            <phone>?</phone>
            <fax>?</fax>
            <email>?</email>
          </adminContact>
          
          <techContact>
            <firstName>?</firstName>
            <lastName>?</lastName>
            <position>?</position>
            <organization>?</organization>
            <country>?</country>
            <state>?</state>
            <postalCode>?</postalCode>
            <city>?</city>
            <street>?</street>
            <phone>?</phone>
            <fax>?</fax>
            <email>?</email>
          </techContact>
          
          <orderDate>?</orderDate>
          <statusCode>?</statusCode>
          <statusDesc>?</statusDesc>
          <certificate>?</certificate> <!-- filled if order completed -->
          <vendorId>?</vendorId> <!-- filled during order process -->


        </result>
       
	 <errorCount>?</errorCount> <-- number of error-elements -->
       <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

      </body>
    </ns1:getOrderDetailsResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

getEvents

This function is used to retrieve all events during processing of an order..

Input parameters

getEvents input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR".

Contains authentication data.

filter

optional

certGetEventsFilter

Contains the criteria for filtering the result list.

Data type certGetEventsFilter:

Parameter
Mandatory field
Data type
Definition
Content

orderId

optional

String

Will return events for the specified order-ID only.

dateFrom

optional

DateTime

Will return events dated after the specified date only.

ISO 8601 date (e.g.
2010-01-01T08:00:00-02_00)

dateTo

optional

DateTime

Will return events dated prior to the specified date only.

ISO 8601 date (e.g.
2010-01-01T08:00:00-02_00)

acknowledged

optional

Boolean

Indicates if only acknowledge or unacknowledged events are to be returned.

true = read only acknowledged events.
false = read only unacknowledged events.

Return parameters

getEvents return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = erfolgreich.
-1 = gescheitert.

resultCount

Integer

Number of results returned in „result“.

result

certGetEventsResult

Contains result data.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

Data type certGetEventsResult:

Parameter
Data type
Definition
Content

orderId

String

Unique order ID.

eventId

String

Unique event ID.

eventCode

String

Event code.

See "Order status/Event codes"

eventMsg

String

Short text description of event.

eventDate

DateTime

Date and time of event.

ISO 8601 Datum

acknowledged

Boolean

Indicates if the event has already been acknowledged.

errorCount

Integer

Number of error messages in relation to the event.

error

certError

Contains all error messages related to this event
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getEvents>
      <body>
        
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>

        <filter> 				<-- all optional -->
          <orderId>?</orderId>
          <dateFrom>?</dateFrom>
          <dateTo>?</dateTo>
          <acknowledged>?</acknowledged>
        </filter>

      </body>
    </ns1:getEvents>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:getEventsResponse>
      <body>
        
        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>                     <-- if resultCount greater 0 -->
          <orderId>?</orderId>
	    <eventId>?</eventId>
	    <eventCode>?</eventCode>
	    <eventMsg>?</eventMsg>
	    <eventDate>?</eventDate>
	    <acknowledged>?</acknowledged>
	    <errorCount>?</errorCount>
          <error>                   <-- if errorCount greater 0 -->
            <code>?</code>
            <desc>?</desc>
            <params>                <-- zero, one or more elements -->
              <name>a</name>        <-- Param-Name -->
              <value>b</value>      <-- Param-Value -->
            </params>
          </error>
        </result>
       
	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

      </body>
    </ns1:getEventsResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

acknowledgeEvent

If a specific event has been acknowledged, this can be confirmed using this function.

Input parameters

acknowledgeEvent input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR"

Contains authentication data.

eventId

yes

String

Unique event ID.

Return parameters

acknowledgeEvent return parameters:

Parameter
Mandatory field
Data type
Definition
Content

resultCode

Integer

Function result code

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“

result

String

Short success message

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:acknowledgeEvent>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <eventId>?</eventId>
      </body>
    </ns1:acknowledgeEvents>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:acknowledgeEventResponse>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>?</result>           <-- if resultCount greater 0 -->

	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

     </body>
    </ns1:acknowledgeEventResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

resendApproverEMail

Using this function, it is possible to resend the email required to approve a certificate.

Attention:

This operation is not available for “GlobeSSL”.

Input parameters

resendApproverEMail input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR"

Contains authentication data.

orderId

yes

String

Unique order ID.

Reurn parameters

resendApproverEMail return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

String

Short success message
this parameter is only returned upon successful completion.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:acknowledgeEvent>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <eventId>?</eventId>
      </body>
    </ns1:acknowledgeEvents>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:acknowledgeEventResponse>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>?</result>           <-- if resultCount greater 0 -->

	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

     </body>
    </ns1:acknowledgeEventResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

changeApproverEMail

Using this function, it is possible to change the email address which receives approval requests for certificates while the order is being processed.

Attention:

This operation is not available for “GlobeSSL”.

Input parameters

changeApproverEMail input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR"

Enthält die Daten zur Anmeldung bei EPAG.

orderId

yes

String

Zugehörige Bestellnummer.

email

yes

String

New email address

Return parameters

changeApproverEMail return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“

result

String

Short success message
this parameter is only returned upon successful completion

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:resendApproverEmail>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <orderId>?</orderId>
      </body>
    </ns1:resendApproverEmail >
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:resendApproverEmail>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>?</result>           <-- if resultCount greater 0 -->

	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

     </body>
    </ns1:resendApproverEmail>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

getApproverEmailList

Returns a list of valid email addresses for domain validated certificates.

Input parameters

getApproverEmailList input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. Siehe "parseCSR"

Contains authentication data.

auth

product

yes

String

Order code of the certificate.

Siehe "Order codes"

hostName

yes

String

Name of domain.

Return parameters

getApproverEmailList return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

String

Short success message
this parameter is only returned upon successful completion.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:changeApproverEmail>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <orderId>?</orderId>
        <email>?</email>
      </body>
    </ns1:changeApproverEmail>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:changeApproverEmail>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>?</result>           <-- if resultCount greater 0 -->

	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

     </body>
    </ns1:changeApproverEmail>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

cancelOrder

Using this function, a pending order can be cancelled. Unprocessed orders will be cancelled immediately. Orders where processing has already started will get an internal remark, and we will try to cancel the order at the earliest possible occasion.

Attention:

This operation is not available for “GlobeSSL”.

Input parameters

cancelOrder input parameters:

Parameter
Mandatory field
Data type
Definition
Content

auth

yes

certAuth. See "parseCSR"

Contains authentication data.

orderId

yes

String

Unique order ID.

reason

optional

String

Reason for cancellation.

Return parameters

cancelOrder return parameters:

Parameter
Data type
Definition
Content

resultCode

Integer

Function result code.

1 = successful.
-1 = failed.

resultCount

Integer

Number of results returned in „result“.

result

String

Short success message
this parameter is only returned upon successful completion.

errorCount

Integer

Number of error messages.

error

certError

Contains all error messages
This parameter is only returned if errors have occurred.

SOAP Examples

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:cancelOrder>
      <body>
        <auth>
          <username>?</username>
          <password>?</password>
        </auth>
        <orderId>?</orderId>
        <reason>?</reason>
      </body>
    </ns1:cancelOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="epag.cert-order">
  <SOAP-ENV:Body>
    <ns1:cancelOrder>
      <body>

        <resultCode>?</resultCode>   <-- success-code -->
        <resultCount>?</resultCount> <-- number of result-elements -->
        <result>?</result>           <-- if resultCount greater 0 -->

	  <errorCount>?</errorCount> <-- number of error-elements -->
        <error>                    <-- if errorCount greater 0 -->
          <code>?</code>
          <desc>?</desc>
          <params>                <-- zero, one or more elements -->
            <name>a</name>        <-- Param-Name -->
            <value>b</value>      <-- Param-Value -->
          </params>
        </error>

     </body>
    </ns1:cancelOrder>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SSL API (SOAP)


EPAG offers registration or renewal of SSL certificates of various certification authorities (CA). In addition to the manual order form on our website www.epag.de, EPAG provides a SOAP-based webservice as an API which allows for the full automation of the ordering process.

This document describes the process for registrations and renewals of SSL certificates using the SOAP interface. Standards such as W3C SOAP and WSDL allow for using this SOAP interface on different platforms and make it easy to integrate it into different systems.

The following sections will first explain the design and usage of the interface and its parameters in detail. Afterwards, some code examples will show how the API can be implemented in some of the most commonly used programming languages.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.