AutoApplyOrder-3 0
AutoApplyOrder-3 0
Version 3.0
2020
https://secure.trust-provider.com/products/!AutoApplyOrder
One API for Multiple Products – Sectigo Product Integration has never been easier
Our new, single API – AutoApplyOrder – makes order request not only for our wide range of legacy SSL certificates, but also newer products such as Sectigo
Web Security Platform, SectigoSSL Pro, Premium and Enterprise SSL certificates, CodeGuard Website Backup & Restore, HackerGuardian PCI Compliance and
our other portfolio of products. This single API reduces Product Integration efforts for our Partners from weeks or months to hours or even minutes. It has
been never easier than now.
Version History
2.0. Added: Support of license products and bundling options by adding CodeGuard and HackerGuardian to AutoApplyOrder
Various modifications and simplifications of some parameters and values
Added a contents section and sections covering examples, push notification
Version history prior to 2.0 was removed – please refer to AutoApplySSL API documentation for historical version information
2.3. Added: Status Code for HackerGuardian and CodeGuard.
Required Request Parameters for HackerGuardian and CodeGuard.
2.4. Added: AutoRefund for Single and Wildcard SSL Certificates.
Error codes -54 and -69.
Error codes -70, -71.
2.5. Added: Document Signing Certificates (released 30-Sep-2019)
Multi-year subscription certificates
2.6. Update: List of required parameters for HackerProof
2.7. Update: List of required parameters for eToken Cost / Shipping Cost
2.8. Update: Added errorCode -47
2.9. Update: Section 8 added that describes the capability for getting information on SSL/TLS Certificates order status through API.
3.0 Update: Added New SectigoWeb Product Packages & new SectigoSSL Pro/Premium/Enterprise Certificate Products
Contents
1. API request parameters
2. API response (when return format is newline-separated - default)
3. API response (when return format is URL-encoded)
4. Parameters for new products available with AutoApplyOrder API
5. Example API calls
6. Push/webhook notification service information
7. Parameters for refunding SSL/TLS Certificates
1. Request
Required variables are in bold.
Optional variables are in italics.
PositiveSSL:
291 = PositiveSSL Trial DV (30 day)
287 = PositiveSSL DV
289 = PositiveSSL Wildcard DV
279 = PositiveSSL Multi-Domain DV
556 = PositiveSSL EV
557 = PositiveSSL EV Multi-Domain
InstantSSL:
330 = InstantSSL DV
331 = InstantSSL Wildcard DV
7 = InstantSSL OV
35 = InstantSSL OV Wildcard
361 = InstantSSL UCC OV
567 = InstantSSL EV
568 = InstantSSL EV Multi-Domain
SectigoSSL:
488 = SectigoSSL DV
489 = SectigoSSL Wildcard DV
492 = SectigoSSL UCC DV
316 = SectigoSSL OV
322 = SectigoSSL OV Wildcard
583 = SectigoSSL OV Multi Domain
337 = SectigoSSL EV
410 = SectigoSSL EV Multi-Domain EV
SectigoSSL Pro:
720 = SectigoSSL Pro Trial DV
721 = SectigoSSL Pro DV
722 = SectigoSSL Pro Wildcard DV
723 = SectigoSSL Pro Multi-Domain DV
726 = SectigoSSL Pro OV
727 = SectigoSSL Pro OV Wildcard
728 = SectigoSSL Pro OV Multi-Domain
731 = SectigoSSL Pro EV
732 = SectigoSSL Pro EV Multi-Domain
SectigoSSL Premium:
734 = SectigoSSL Premium Trial DV
735 = SectigoSSL Premium DV
736 = SectigoSSL Premium Wildcard DV
737 = SectigoSSL Premium Multi-Domain DV
740 = SectigoSSL Premium OV
741 = SectigoSSL Premium OV Wildcard
742 = SectigoSSL Premium OV Multi-Domain
745 = SectigoSSL Premium EV
746 = SectigoSSL Premium EV Multi-Domain
Sectigo EnterpriseSSL:
748 = SectigoSSL Enterprise Trial DV
749 = SectigoSSL Enterprise DV
750 = SectigoSSL Enterprise Wildcard DV
751 = SectigoSSL Enterprise Multi-Domain DV
63 = SectigoSSL EnterpriseSSL OV
64 = SectigoSSL EnterpriseSSL Pro OV
65 = SectigoSSL EnterpriseSSL Pro Wildcard OV
335 = SectigoSSL EnterpriseSSL Pro Multi-Domain OV
562 = SectigoSSL EnterpriseSSL Pro EV
563 = SectigoSSL EnterpriseSSL Pro EV Multi-Domain
TrustLogo
36 = EV or OV TrustLogo
Add this value to any OV or EV product code, separated by a comma, such as:
316,36 to include a Trustlogo on a ‘SectigoSSL OV’ certificate.
CodeGuard Products:
700 = CodeGuard (Personal)
701 = CodeGuard (Professional)
702 = CodeGuard (Company)
703 = CodeGuard (Small Business)
Document Signing:
706 = Sectigo Document Signing Certificate (Organization)
days integer For certificate products: 30, 90, 365, 730 Validity Period (in
days)
Note: ‘years’ parameter is deprecated in favour of ‘days’
Multi-Year / SubscriptionSSL
Sectigo now allows purchase of a certificate bundle for multiple years.
3, 4 and 5 year certificates bundle can be placed by settings the ‘days’
parameter to: 1095, 1461 or 1826 respectively.
Note that the certificate itself will be issued with a maximum allowed
lifetime under industry guidelines. The certificate can be reissued (using
the AutoReplaceSSL API) and the expiry date of the certificate will be
increased each time, for the duration of the order.
serverSoftware integer 2 = Apache
10 = Java-based servers
14 = Microsoft IIS 5.x to 6.x
35 = Microsoft IIS 7.x and later
36 = nginx
18 = Oracle
30 = Plesk
31 = WHM/cPanel
-1 = OTHER
Note: This parameter does not directly affect the certificate content. Please
use ‘-1’ as the default option.
domainNames string 32767 A comma-separated (or whitespace-separated) list of Domain Names / IP List of Domain Names
(only relevant for Multi- chars Addresses to be placed into the EV Multi-Domain SSL Certificate, Multi-
Domain SSL Certificates and Domain SSL Certificate or Unified Communications Certificate.
Unified Communications If the CSR's Subject Alternative Name extension...
Certificates) i) includes 1 or more Domain Names, and this “domainNames” parameter
is omitted, then the Domain Names from the CSR will be used.
ii) includes 1 or more Domain Names, and this “domainNames” parameter
is specified, then the Domain Names from the CSR will be ignored.
iii) is not present, or is present but includes 0 Domain Names, then this
“domainNames” parameter must be present.
Note that all of the Domain Names listed in “domainNames” will always be
included as dnsName components of the Subject Alternative Name
extension in the resulting Multi-Domain SSL Certificate or EV Multi-
Domain SSL Certificate.
From 20th July 2017, the use of unique Request Tokens, the new
/.well-known/pki-validation path, and the underscore prepended to the
NAME for the CNAME will be required for the HTTP_CSR_HASH and
CNAME_CSR_HASH dcvMethods.
This uniqueValue is used to ensure that the Request Token for this
certificate is unique.
Request Tokens are as defined in the CABF Baseline Requirements
(version 1.4.1 or later) and used in the manner described in Sectigo’s
‘Domain Control Validation’ document (version 1.09 or later)
For more information, see the “Domain Control Validation” document (version
1.09 or later).
dcvEmailAddress string 255 If specified, this email address must be an acceptable email address with Domain Control
(only relevant for single- chars which to perform Domain Control Validation (DCV) for this certificate. See the Validation Email
domain SSL certificates) documentation for the GetDCVEmailAddressList API for more information. Address
Alternative DCV mechanisms are now available. See the “Domain Control
Validation” document for full details.
dcvEmailAddresses string 32767 A comma (or white-space)-separated list of DCV Email Addresses to be List of DCV Email
(only relevant for Multi- chars used to perform Domain Control Validation for each domain in this Addresses
Domain SSL Certificates and certificate. The order in which these email addresses are listed must be
Unified Communications exactly the same as the order of the domain names in the certificate
Certificates) request (see ‘domainNames’ variable, above).
Alternative DCV mechanisms are now available – see the “Domain Control
Validation” document for full details. You can pass the following values for
each domain:
HTTPCSRHASH or CNAMECSRHASH or IPADDRESSPRE
You can use one of the following magic tokens if all the domains in the
order are to be set to the same alternative DCV method:
ALLHTTPCSRHASH or ALLCNAMECSRHASH or ALLIPADDRESSPRE
Note: The magic token must be the only value passed to the parameter for
it to work.
Alternative DCV mechanisms are now available – see the “Domain Control
Validation” document for full details. You can pass the following values for
each domain:
HTTPCSRHASH or CNAMECSRHASH or IPADDRESSPRE
You can use one of the following magic tokens if all the domains in the
order are to be set to the same alternative DCV method:
ALLHTTPCSRHASH or ALLCNAMECSRHASH or ALLIPADDRESSPRE
Note: The magic token must be the only value passed to the parameter for
it to work.
appRepTelephone string 32 Required when Sectigo will perform the Organizational callback. Applicant
(only relevant for OV and EV chars Representative's
Certificates) phone number for
callback.
appRepTitle string 64 Applicant
(only relevant for OV and EV chars Representative's title
Certificates) to be used for
callback.
appRepFax string 32 Applicant
(only relevant for OV and EV chars Representative's fax
Certificates) number to be used for
callback.
appRepOrganization string 255 DO NOT specify this field unless the Applicant Representative's Applicant
Name chars Organization Name/Address details are different to the Organization Representative's
(only relevant for OV and EV Name/Address details that have been requested to appear in the Organization Name
Certificates) certificate.
appRepOrganizationalUnitNa string 64 If appRepOrganizationName is not specified, then this field is ignored. Applicant
me chars Representative's
(only relevant for OV and EV Organizational Unit
Certificates) Name
appRepStreetAddress1 string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's
Certificates) street address 1
appRepStreetAddress2 string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's
Certificates) street address 2
appRepStreetAddress3 string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's
Certificates) street address 3
appRepPostOfficeBox string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's post
Certificates) office box #
appRepLocalityName string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's
Certificates) locality name
appRepStateOr string 128 If appRepOrganizationName is not specified, then this field is ignored. Applicant
ProvinceName chars Representative's state
(only relevant for OV and EV
Certificates)
appRepPostalCode string 40 If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV chars Representative's Zip
Certificates)
appRepCountryName char 2 chars If appRepOrganizationName is not specified, then this field is ignored. Applicant
(only relevant for OV and EV Representative's
Certificates) country code
(ISO3166 2-character
country code)
callbackMethod char 1 char T = The appRepTelephone number will be called to communicate a callback Callback method for
verification code which will be used to confirm the identity of the verification of
Applicant Representative. Applicant
L = A letter, containing a callback verification code, will be posted to the Representative's
Applicant Representative. identity
isAppRepValidated char 1 char Y = The Partner Reseller has verified that the Applicant Representative's Who will verify the
contact details are legitimate, using a data source other than the Applicant. Applicant
(Only Partner Resellers with sufficient RA privileges may specify Y). Representative's
N = Sectigo will verify the Applicant Representative's contact details before contact details before
performing the callback using the method specified by callbackMethod. the callback is
performed?
isCallbackCompleted char 1 char Y = The Partner has completed the callback and verified the identity of the Who will perform the
Applicant Representative. (Only Partner Resellers with sufficient RA callback?
privileges may specify Y. If isCallbackCompleted=Y is specified, then
isAppRepValidated=Y must also be specified).
N = Sectigo will perform the callback using the method specified by
callbackMethod.
showCertificateState char 1 char Y or N. If this value is set to
Y, the state of the SSL
certificate generated
by the order is also
part of the resultSet.
omitAdditionalFQDN char 1 char N = Sectigo will add an additional FQDN, either for www.<domain> (if the If omitted, its value
(only relevant for single-domain certificate was requested for <domain>) or for <domain> (if the certificate defaults to N.
SSL certificates) was requested for www.<domain>).
Note: We reserve the right to define additional error codes/messages in the future.
3.2 Parameters
4.1 CodeGuard
4.2 HackerGuardian
Notes:
parameters ‘appRepLoginName’, ‘organizationName’, ’appRepSurname’, ‘appRepSurname’ has a length limit of 50 Unicode characters
parameter ‘appRepEmailAddress’ has a length limit of 128 Unicode characters
4.3 HackerProof
Notes:
parameters ‘appRepLoginName’, ‘organizationName’, ’appRepSurname’, ‘appRepSurname’ has a length limit of 50 Unicode characters
parameter ‘appRepEmailAddress’ has a length limit of 128 Unicode characters
4.4 DocumentSigning
5.1 DV certificate
Request
Parameter Value Details
loginName mypartnerusername
loginPassword th15ISNOTas3ns!blePassW0rd!
isCustomerValidated N Required
serverSoftware -1 Required, used ‘OTHER’
days 365 365 days = 1 year
product 488 Code for SectigoSSL DV single cert
csr <full base64 encoded CSR> CSR for ‘sectigo.com’
dcvEmailAddress [email protected] Acceptable email address for DCV
Response
Output Details
0 Successful!
123456789 Sectigo OrderNumber
35.00 Amount debited to account - $35.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
ImWhh1J1 (Optional) A ‘uniqueValue’ returned as one was not provided and the CSR has
been re-used.
Request
Parameter Value Details
loginName mypartnerusername
loginPassword th15ISNOTas3ns!blePassW0rd!
isCustomerValidated N Required
serverSoftware -1 Required, used ‘OTHER’
days 730 730 days = 2 years
product 583 Code for SectigoSSL OV MDC cert
appRepEmailAddress [email protected] Email address of the customer to action the callback
organizationName Sectigo Company name and information
streetAddress1 5 Becker Farm Road
localityName Roseland
stateOrProvinceName NJ
countryName US ISO-3166 2-letter country code for United States
potsalCode 07068
csr <full base64 encoded CSR> CSR for ‘sectigo.com’
domainNames sectigo.com,www.sectigo.com,secure.sectigo.com List of FQDNs
primaryDomainName sectigo.com Name for the Subject CN
validationTokens ALLCNAMECSRHASH Single token indicating all names to be DCV’d by DNS
method
Response
Output Details
0 Successful!
987654321 Sectigo OrderNumber
210.00 Amount debited to account - $210.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
5.3 EV Certificate
Request
Parameter Value Details
loginName mypartnerusername
loginPassword th15ISNOTas3ns!blePassW0rd!
isCustomerValidated N Required
serverSoftware -1 Required, used ‘OTHER’
days 365 365 days = 1 year
product 562 Code for EnterpriseSSL EV Pro certificate
appRepEmailAddress [email protected] Email address of the customer to action the callback
appRepForename John Name of representative of organisation
appRepSurname Smith
organizationName Sectigo Company name and information
streetAddress1 5 Becker Farm Road
localityName Roseland
stateOrProvinceName NJ
countryName US ISO-3166 2-letter country code for United States
potsalCode 07068
csr <full base64 encoded CSR> CSR for ‘sectigo.com’
domainNames sectigo.com,www.sectigo.com,secure.sectigo.com List of FQDNs
primaryDomainName sectigo.com Name for the Subject CN
validationTokens ALLCNAMECSRHASH Single token indicating all names to be DCV’d by DNS
method
Response
Output Details
0 Successful!
987654321 Sectigo OrderNumber
210.00 Amount debited to account - $210.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
5.4 HackerGuardian
Request:
Parameter Value Details
loginName mypartnerusername
loginPassword th15ISNOTas3ns!blePassW0rd!
days 365 365 days = 1 year
product 586,587
appRepEmailAddress [email protected] Email address of the customer to action the callback
organizationName Sectigo Company name and information
streetAddress1 5 Becker Farm Road
localityName Roseland
countryName US ISO-3166 2-letter country code for United States
appRepLoginName myhackerguardianusername
appRepForename John
appRepSurname Smith
Response:
Output Details
0 Successful!
987654321 Sectigo OrderNumber
210.00 Amount debited to account - $210.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
5.5 HackerProof
Request:
Parameter Value Details
loginName mypartnerusername
loginPassword th15ISNOTas3ns!blePassW0rd!
days 365 365 days = 1 year
product 346,329 Sectigo HackerGuardian Standard
appRepEmailAddress [email protected] Email address of the customer to action the callback
organizationName Sectigo Company name and information
streetAddress1 5 Becker Farm Road
localityName Roseland
countryName US ISO-3166 2-letter country code for United States
appRepLoginName myhackerguardianusername
appRepForename John
appRepSurname Smith
appRepLoginPassword myhackerguardianpassword
Response:
Output Details
0 Successful!
987654321 Sectigo OrderNumber
210.00 Amount debited to account - $210.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
Response:
Output Details
0 Successful!
987654321 Sectigo OrderNumber
210.00 Amount debited to account - $210.00
1 (Ignore, deprecated ‘Estimated Delivery Time’)
6. Push Notification / Webhook API
Sectigo has the ability to 'push' information about issued certificates to your system when the certificates are signed.
The signed certificate and certificate chain can optionally also be pushed to your system.
This 'push' mechanism allows us to notify you when your certificates change status or are signed and available. The signed certificate itself can also optionally be
included along with the certificate chain, or you can choose not to have the certificate sent and use the status push to trigger a call to the CollectSSL API.
This system helps alleviate the requirement for frequent polling of order status.
Notes:
• Changes in state are communicated, when triggered by completion of various actions – e.g. DCV completed, OV or EV validation completed.
• We only push the details of signed SSL (server) certificates. Client/email and code signing certificates are not supported at this time.
• There is a ‘failed’ status that can be pushed. It should never occur. Please handle this error, but we would suggest notifying your Account Manager if this
occurs.
• You should ensure that the endpoint URL to which we call is available as much as possible. Should there be a problem communicating the call to your
system, we will log as a failure within our system. The call will be attempted three (3) times only. A ‘failure’ can be defined as: a network connectivity
issue; verification failure of your SSL certificate; an authentication failure (if provided); a protocol error or server-issued error (HTTP error codes).
• While this system alleviates the need for frequent polling of CollectSSL for status, we understand it does not remove it altogether. We advise that if you
do wish to continue with polling for status of your certificate orders you do so no more frequently than once every 3 hours.
• If you choose to have the signed certificate and chain pushed, our system will make a POST call instead of GET – including for status changes without
certificates attached.
OV Callback Link:
https://secure.trust-provider.com/products/EnterCallbackCode?orderNumber={orderNumber}&code2={verificationCode}
Setup:
To setup the certificate issuance push, you should setup a system to receive HTTP or HTTPS calls.
The system should accept all the parameters from the IP listed below. You do not need to utilise both orderNumber and certificateID unless you wish to.
The URL must be visible on the public internet, although you may wish to add IP-restrictions to only allow the call to be made from our system.
Once you have your endpoint URL setup, please contact your Account Manager or [email protected] with both your account number or username and
the URL (including basic authentication credentials if necessary).
Please also specify if you wish to have the signed certificate and chain pushed or not.
Sectigo has the ability to refund via this API only Single and Wildcard SSL Certificates at this time. Multi-Domain certificates can currently only be refunded by
submitting a ticket to https://sectigo.com/support-ticket
The request should be POSTed (NOT GETed) to the below URL.
Required variables are in bold.
Optional variables are in italics.
https://secure.trust-provider.com/products/!AutoRefund
Request
loginPassword string 128 chars 128 chars Account Password (case sensitive)
Response
The MIME type will be application/x-www-form-urlencoded, because the format of the response will be the same “URL-encoded” format as the request (e.g.
name1=value1&name2=value2).
Here are the names of the various variables that will or may appear in the response:
errorCode integer Error code (see list below for possible values)
errorCode errorMessage
0 Successful
-1 Request was not made over HTTPS!
-2 ‘xxxx’ is an unrecognized argument!
-3 The ‘xxxx’ argument is missing!
-4 The value of the ‘xxxx’ argument is invalid!
-14 An unknown error occurred!
-16 Permission denied!
-17 Request used GET rather than POST!
-18 Text explaining why the refund was unsuccessful.
8. Parameters for getting information on the status of order for SSL/TLS Certificates / HackerGuardian Products /
CodeGuard Products
Sectigo provides the ability to fetch the order status via this API.
The request should be POSTed (NOT GETed) to the below URL.
Required variables are in bold.
Optional variables are in italics.
https://secure.trust-provider.com/products/!GetDetailedOrderStatus
Request
orderNumber Integer Any incomplete order number of the webhost Any incomplete order number of the
(either “orderNumber” or account. webhost account.
“certificateID” must be provided)
certificateID Integer 16 digits A Certificate ID. The internal Certificate ID of the SSL
(either “orderNumber” or certificate.
“certificateID” must be provided)
0 = return status only
1 = return status and detailed status information
queryType Integer
2=return status and detailed status information as for
queryType =1 and also include information about
replacement orders (if any)
Response
The MIME type will be application/x-www-form-urlencoded.
Here are the names of the various variables that will or may appear in the response:
X_orderNumber
X_orderStatusReason A string describing the reason of status (only relevant for rejected orders)
If Auto Organizational validation was requested for this order – this parameter will include status of such
validation as well as details of matching organizations (if found). Will include following parameters:
X_suggestedOrgDetails
Status . Indicates status of Auto Organizational Validation. Possible values:
Found - match found (additional parameters will be added as detailed below)
NotFound – match not found
NotYetCompleted – the process is not completed yet
NotApplicable – Organizational validation is not required or was already completed
X_Y_certificateStatusReason A string describing the reason of status (only relevant for rejected or revoked certificates)
CSR Status of certificate (if queryType = 1 or 2)
-1 - not-required
X_Y_csrStatus
0 - not-completed
1 - completed
2 - in-progress
DCV Status of certificate (if queryType = 1 or 2)
-1 - not-required
X_Y_dcvStatus
0 - not-completed
1 - completed
2 - in-progress
OV CallBack Status of account (if queryType = 1 or 2)
-1 - not-required
X_Y_ovCallBackStatus
0 - not-completed
1 - completed
2 - in-progress
A string describing the current status of account validation (OV) (if queryType = 1 or 2)
-1 - not-required
X_Y_organizationValidationStatus
0 - not-completed
1 - completed
2 - in-progress
Status of Free DV Upgrade (if queryType = 1 or 2)
-1 - not-required
X_Y_freeDVUPStatus
0 - not-completed
1 - completed
2 - in-progress
Status of EV ClickThrough Acceptance (if queryType = 1 or 2)
-1 - not-required
X_Y_evClickThroughStatus
0 - not-completed
1 - completed
2 - in-progress
Status of CAA Check (if queryType = 1 or 2)
-1 - not-required
X_Y_caaStatus
0 - not-completed
1 - completed
2 - in-progress