API de SSLmarket pour simplifier vos commandes SSL

Afin de faciliter les commandes des certificats SSL, SSLmarket utilise un service d'automatisation "API". Une fois le certificat délivré, les fichiers d'installation sont disponibles dans votre espace client. Cet article décrit le processus de démarrage avec l'API.

L'API peut vous faire gagner du temps, surtout lorsque vous commandez plusieurs certificats en même temps. Il permet d'accélérer les commandes et vous évite de perdre du temps. Grâce à cela, vous pouvez vous concentrer mieux sur votre business !

Processus simplifié par API de SSLmarket

L'API (Application Programming Interface) de SSLmarket permet de commander tous les types de certificats (à l'exception des produits qui ne peuvent pas être automatisés). Il suffit de remplir tous les champs obligatoires du formulaire de commande. L'API permet d'ajouter les SAN à votre certificat SSL/TLS multi-domaine.

  • Pour tout type de certificat (sauf quelques exceptions)
  • Téléchargement du certificat simple
  • Définition de tous les paramètres de la commande
  • Commande en un clic (à l'aide de l'outil)
  • Processus accéléré pour vous éviter de perdre du temps
  • Possibilité de définir des données de votre entreprise par défaut

Comment utiliser API de SSLmarket

API peut être utilisée de deux façons. La méthode recommandée est l'implémentation d'API dans votre système ou votre interface. Pour ce faire, il suffit de connaître les informations ci-dessous. La deuxième méthode est recommandé pour les clients qui ne savent pas programmer ou qui n'ont pas de programmeur disponible. L'application Postman vous permet de passer facilement des commandes à l'aide d'API, sans implémenter Postman dans votre système. Cela vous facilite la gestion des certificats sans parler du temps.

Commencer avec API de SSLmarket

L'API de SSLmarket peut utiliser chacun de vous, l'accès est rapide et sans administrations. Connectez-vous à l'espace client et activez "Accéder au compte client via l'API" (Paramètres du compte). Cette fonctionnalité génère une clé API pour appeler l'API SSLmarket (pour votre espace client). Vous pouvez passer la documentation à votre programmeur.

Pour appeler l'API utilisez l'URL suivant : https://www.sslmarket.fr/api

Authentification des demandes

Toutes les requêtes HTTP doivent contenir un token d'authentification d'accès (X-Auth-Token). Il suffit d'activer "Accéder au compte client via l'API", votre X-Auth-Token sera disponible dans vos Paramètres du compte.

GET /api/order/list HTTP/1.1
Host: sslmarket.fr
X-Auth-Token: {{AUTH_TOKEN}}

Valeurs de données renvoyées

Après un appel d'endpoint réussi, API renvoie un code de réponse HTTP 2XX. Après un appel d'endpoint non réussi, API renvoie un code de réponse HTTP 4XX ; le corps de la réponse contient le type d'erreur (string) et sa description.

Fonctions disponibles de l'API

La liste des fonctionnalités API se trouve ici.

Appeler une fonction : chaque fonction est accessible via son endpoint, auquel vous envoyez une requête contenant les paramètres nécessaires. Les paramètres d'entrée se distinguent en deux catégories : obligatoires, qui doivent être intégrés dans chaque requête, et non obligatoires (facultatifs). Chaque fonction contient l'utilisation, l'adresse de l'endpoint, la description des paramètres d'entrée et de sortie et le format de la réponse.

La fonction renvoie la liste des produits disponibles dans l'API.

GET /product/list
  • Code de réponse HTTP : 200
  • Réponse au format de données : application/json

Paramètres de sortie

Nom Type Description
products array
.. product_type string Type de produit. Valeur de paramètre ssl_certificateou client_certificate
.. product_code string Code de produit
.. title string Nom de produit
.. type string Autorité de certification
.. validate_type string Type de validation SSL. Valeur de paramètre dv, ov ou ev
.. csr_required string CSR obligatoire. Valeur de paramètre true ou false
.. max_years string Durée de validité maximale
.. min_san_values int Nombre minimum de SAN
.. max_san_values int Nombre maximum de SAN

  
{
    "products": [
        {
            "product_type": "ssl_certificate",
            "product_code": "digicert-standard-ssl",
            "type": "DigiCert",
            "title": "Standard SSL",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "digicert-wildcard",
            "type": "DigiCert",
            "title": "WildCard",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "digicert-ev-ssl",
            "type": "DigiCert",
            "title": "EV SSL",
            "validate_type": "ev",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "geotrust-geotrust-standard-dv-ssl",
            "type": "GeoTrust",
            "title": "DV SSL",
            "validate_type": "dv",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "geotrust-geotrust-wildcard-dv",
            "type": "GeoTrust",
            "title": "DV SSL Wildcard",
            "validate_type": "dv",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "rapidssl-rapidssl-dv",
            "type": "RapidSSL",
            "title": "RapidSSL DV",
            "validate_type": "dv",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-client-premium-class-1",
            "type": "DigiCert",
            "title": "Client Premium Class 1",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-ssl",
            "type": "DigiCert",
            "title": "Secure Site SSL",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "thawte-ssl-123-dv",
            "type": "Thawte",
            "title": "SSL 123 DV",
            "validate_type": "dv",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-client-premium-class-2",
            "type": "DigiCert",
            "title": "Client Premium Class 2",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "rapidssl-rapidssl-wildcard-dv",
            "type": "RapidSSL",
            "title": "RapidSSL Wildcard DV",
            "validate_type": "dv",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "geotrust-truebusiness-id-ov",
            "type": "GeoTrust",
            "title": "TrueBusiness ID OV",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "thawte-ssl-webserver-ov",
            "type": "Thawte",
            "title": "SSL Webserver OV",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-pro-ssl",
            "type": "DigiCert",
            "title": "Secure Site Pro SSL",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "thawte-ssl-webserver-ov-wildcard",
            "type": "Thawte",
            "title": "SSL Webserver OV Wildcard",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "geotrust-truebusiness-id-ov-wildcard",
            "type": "GeoTrust",
            "title": "TrueBusiness ID OV Wildcard",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-document-signing-individual-500",
            "type": "DigiCert",
            "title": "Document Signing - Individual (500)",
            "validate_type": "ev",
            "csr_required": "false",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-ev-ssl",
            "type": "DigiCert",
            "title": "Secure Site EV SSL",
            "validate_type": "ev",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "geotrust-truebusiness-id-ev",
            "type": "GeoTrust",
            "title": "TrueBusiness ID EV",
            "validate_type": "ev",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "thawte-ssl-webserver-ev",
            "type": "Thawte",
            "title": "SSL Webserver EV",
            "validate_type": "ev",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-document-signing-individual-2000",
            "type": "DigiCert",
            "title": "Document Signing - Individual (2000)",
            "validate_type": "ev",
            "csr_required": "false",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-pro-ev-ssl",
            "type": "DigiCert",
            "title": "Secure Site Pro EV SSL",
            "validate_type": "ev",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-document-signing-organization-2000",
            "type": "DigiCert",
            "title": "Document Signing Organization (2000)",
            "validate_type": "ev",
            "csr_required": "false",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "client_certificate",
            "product_code": "quovadis-rsassa-pss-smime",
            "type": "QuoVadis",
            "title": "RSASSA-PSS S/MIME",
            "validate_type": "qv",
            "csr_required": "false",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-wildcard-ssl",
            "type": "DigiCert",
            "title": "Secure Site Wildcard SSL",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        },
        {
            "product_type": "client_certificate",
            "product_code": "digicert-document-signing-organization-5000",
            "type": "DigiCert",
            "title": "Document Signing Organization (5000)",
            "validate_type": "ev",
            "csr_required": "false",
            "max_years": "3",
            "min_san_values": "0",
            "max_san_values": "0"
        },
        {
            "product_type": "ssl_certificate",
            "product_code": "symantec-secure-site-pro-ssl-wildcard",
            "type": "Digicert",
            "title": "Secure Site Pro Wildcard",
            "validate_type": "ov",
            "csr_required": "true",
            "max_years": "6",
            "min_san_values": "0",
            "max_san_values": "250"
        }
    ]
}
 

Avant qu'on puisse émettre un certificat SSL/TLS, vous devez prouver que vous contrôlez les domaines (et tous les noms SAN (Subject alternative Names)) de la commande de certificat. L'autorité de certification envoie un courrier électronique d’autorisation à cinq adresses électroniques construites pour le domaine : admin, administrateur, webmaster, hostmaster et postmaster @[domain_name].

PUT /certificate/order_id/{{ORDER_ID}}/resend
  • {{ORDER_ID}} - numéro de commande
  • Request data format : application/json
  • HTTP réponse status code : 202
  • La réponse n'inclut pas de corps de réponse ; elle est vide

Paramètres d'entrée

Sans paramètres d'entrée

La fonction permet d'insérer une nouvelle commande sur le compte client.

POST /order/certificate/{{PRODUCT_CODE}}
  • {{PRODUCT_CODE}} - code de produit
  • HTTP réponse status code : 201
  • Request data format : application/json
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Obligatoire Description
domaine string oui Nom de domaine
dns_names array no Noms de domaine ajoutés aux SAN
years int oui Validité du certificat
csr string oui* Requête CSR
voucher string non Coupon de réduction
dv_auth_method string non Méthode de vérification du propriétaire d'un nom de domaine. Les valeurs acceptées sont e-mail, FILE ou DNS. La valeur par défault est e-mail
owner_name string oui Nom du titulaire du certificat
owner_street string oui Rue du propriétaire
owner_city string oui Ville du propriétaire
owner_zip string oui Code postal du propriétaire
owner_country string oui Code de pays à deux lettres (ISO 3166-1 alpha-2)
owner_tel string oui Téléphone du titulaire du certificat au format +33.554112554
auth_title string oui
auth_firstname string oui Prénom du titulaire du certificat
auth_lastname string oui Nom du titulaire du certificat
auth_tel string oui Téléphone du titulaire du certificat au format +33.554112554
auth_email string oui E-mail du titulaire du certificat
tech_title string oui
tech_firstname string oui Nom du contact technique du certificat
tech_lastname string oui Prénom du contact technique du certificat
tech_email string oui E-mail du contact technique du certificat
tech_tel string oui Téléphone du contact technique du certificat au format +33.554112554
invoice_name string oui Raison sociale
invoice_street string oui Rue de l'adresse de facturation
invoice_city string oui Ville de l'adresse de facturation
invoice_zip string oui Code postal de l'adresse de facturation
invoice_country string oui Code de pays de facturation à deux lettres (ISO 3166-1 alpha-2)
invoice_email string oui E-mail de facturation
invoice_ic string non N° SIREN
invoice_dic string non Numéro de TVA

* Dépend du type de certificat

Paramètres de sortie

Le numéro de commande est le numéro interne de SSLmarket ; vous pouvez l'utiliser dans la recherche.

Nom Type Description
order_id int Numéro de commande

La fonction affiche toutes les commandes du compte client.

GET /order/list
  • Code de statut de réponse HTTP : 200
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Description
orders array Champ des commandes
.. order_id int Numéro de commande
.. product_type string Type de produit
.. product_code string Code de produit
.. domain string Nom de domaine dans le certificat
.. dns_names array Noms de domaine aux SAN
.. sans_order_count int Nombre de SAN insérés dans la commande
.. years int Validité du certificat
.. inserted datetime Date/heure de l'insertion de la commande
.. published datetime Date/heure de l'émission du certificat
.. expired date Date de fin de validité du certificat
.. state string Statut du certificat

La fonction affiche les détails de la commande (disponibles également sur l'espace client).

GET /order/order_id/{{ORDER_ID}}
  • {{ORDER_ID}} - Numéro de commande
  • Code de statut de réponse HTTP : 200
  • Réponse data format : application/json

Paramètres de sortie

Nom Type Description
product_type string Type de produit
product_code string Code de produit
domain string Nom de domaine pour lequel vous demandez le certificat
dns_names array Champ de domaines aux SANs
sans_order_count int Nombre de SANs dans la commande
years int Validité du certificat
csr string Requête CSR pour le certificat
certificate_serial_number string certificate serial number
owner_name string Nom du titulaire du certificat
owner_street string Rue
owner_city string Ville
owner_zip string Code postal
owner_country string Code de pays à deux lettres (ISO 3166-1 alpha-2)
owner_tel string Téléphone du titulaire du certificat au format +33.554112554
auth_title string
auth_firstname string Prénom de la personne d'autorisation
auth_lastname string Nom de la personne d'autorisation
auth_tel string Téléphone de la personne d'autorisation au format +33.554112554
auth_email string E-mail de la personne d'autorisation
tech_title string
tech_firstname string Prénom de la personne technique
tech_lastname string Nom de la personne technique
tech_email string E-mail de la personne technique
tech_tel string Téléphone de la personne technique au format +33.554112554
inserted datetime La date et l'heure de la commande
published datetime La date et l'heure de l'émission du certificat
expired date La date et l'heure de la fin de validité du certificat
dv_auth_method string Méthodes de validation du contrôle du domaine du certificat. Le paramètre n'est inclus dans la réponse que si product_type=ssl_certificate
dv_auth_content string Valeur unique pour vérifier le contrôle du domaine. Le paramètre en réponse uniquement pour product_type=ssl_certificate et dv_auth_method=DNS nebo dv_auth_method=FILE
state string Statut du certificat
days_remaining int Validité restante du certificat (en jours). Le paramètre est en réponse uniquement pour les certificats émis. (state=published).
auto_reissue bool Indique si la reémission du certificat sera lancée automatiquement. Le paramètre est en réponse uniquement pour les certificats pluriannuels.

La fonctionnalité permet de modifier certains paramètres de la commande. Une fois le certificat demandé, la commande ne peut plus être modifiée.

PUT /order/order_id/{{ORDER_ID}}
  • {{ORDER_ID}} - numéro de commande
  • Code de statut de réponse HTTP : 200
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Non facultatif Description
csr string non Requête CSR
dv_auth_method string non Méthode de vérification du propriétaire d'un nom de domaine. Les valeurs acceptées sont e-mail, FILE ou DNS. La valeur par défault est e-mail
owner_name string non Nom du titulaire du certificat
owner_street string non Rue du propriétaire
owner_city string non Ville du propriétaire
owner_zip string non Code postal du propriétaire
owner_country string non Code de pays à deux lettres (ISO 3166-1 alpha-2)
owner_tel string non Téléphone du titulaire du certificat au format +33.554112554
auth_title string non
auth_firstname string non Prénom du titulaire du certificat
auth_lastname string non Nom du titulaire du certificat
auth_tel string non Téléphone du titulaire du certificat au format +33.554112554
auth_email string non E-mail du titulaire du certificat
tech_title string non
tech_firstname string non Nom du contact technique du certificat
tech_lastname string non Prénom du contact technique du certificat
tech_email string non E-mail du contact technique du certificat
tech_tel string non Téléphone du contact technique du certificat au format +33.554112554
invoice_name string non Nom de facturation
invoice_street string non Rue de l'adresse de facturation
invoice_city string non Ville de l'adresse de facturation
invoice_zip string non Code postal de facturation
invoice_country string non Code pays de facturation (ISO 3166-1 alpha-2)
invoice_email string non email de facturation
invoice_ic string non Numéro SIREN
invoice_dic string non Numéro de TVA

La fonction est gratuite et généralement utilisée lorsque la clé privée est perdue. Le certificat est réémis avec les mêmes paramètres et la même date d'expiration que le certificat original.

POST /certificate/order_id/{{ORDER_ID}}/reissue
  • {{ORDER_ID}} - numéro de commande
  • Request data format : application/json
  • Code de statut de réponse HTTP : 202

Paramètres d'entrée

Nom Obligatoire Type Description
csr oui string Requête CSR pour le certificat

La fonctionnalité annule la réémission demandée du certificat(reissue). Le certificat reste Émis.

PUT /certificate/order_id/{{ORDER_ID}}/cancel-reissue
  • {{ORDER_ID}} - Numéro de commande
  • Request data format : application/json
  • Code de statut de réponse HTTP : 202
  • La réponse n'inclut pas de corps de réponse ; elle est vide

Paramètres d'entrée

Sans paramètres d'entrée

La fonction de révocation invalidera définitivement le certificat. La révocation signifie l'annulation du certificat sans compensation. Il est utilisé en cas d'utilisation abusive de la clé privée du certificat.

PUT /certificate/order_id/{{ORDER_ID}}/revoke
  • Disponible uniquement pour les produits DigiCert Client Premium Class 1 et Client Premium Class 2
  • {{ORDER_ID}} - numéro de commande
  • Code de statut de réponse HTTP : 202

La fonction est utilisée pour télécharger le certificat émis au format souhaité, que vous spécifiez dans les paramètres d'entrée {{FORMAT}}. PEM est le format de texte en Base64, P7B le format binaire.

GET /certificate/order_id/{{ORDER_ID}}/format/{{FORMAT}}
  • {{ORDER_ID}} - numéro de commande
  • {{FORMAT}} - format du certificat
    • pem_server - renvoie le certificat serveur au format texte Base64.
    • pem_intermediate - renvoie le certificat serveur avec le certificat intermédiaire. Il est nécessaire pour l'installation du certificat. Ce format convient aux serveurs Linux (Apache, nginx etc.).
    • p7b - renvoie le certificat serveur et sa chaîne (certificat intermédiaire + racine) au format binaire P7B (PKCS#7).
  • Code de statut de réponse HTTP : 200
  • Request data format : text/plain

Décodeur CSR permet d'afficher les informations contenues dans la requête CSR au format texte (Base64) et vérifier, si les données sont corrects.

POST /tool/decoder/csr
  • Code de statut de réponse HTTP : 200
  • Request data format : application/json
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Obligatoire Description
csr string oui CSR

Paramètres de sortie

Nom Type Description
csr array champ de valeurs
.. subject array
.. .. CN string
.. .. O string
.. .. L string
.. .. ST string
.. .. C string
.. .. OU string
.. pkey array
.. .. length string
.. .. alghoritm string
.. .. pkey string
.. sans array

Le décodeur de certificat fonctionne de la même façon que le décodeur CSR ; il affiche les informations contenues dans le certificat, y compris la clé publique. Vous pouvez facilement vérifier l'organisation et le domaine pour lesquelles le certificat est émis. Il affiche également le numéro de série qui sert à l'identification unique.

POST /tool/decoder/certificate
  • Code de statut de réponse HTTP : 200
  • Request data format : application/json
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Obligatoire Description
certificate string oui Format texte (Base64)

Paramètres de sortie

Nom Type Description
certificate array champ de valeurs
.. owner array
.. .. domain string
.. .. organization string
.. .. city string
.. .. locality string
.. .. country string
.. length string
.. alghoritm int
.. pkey array
.. sans array
.. valid_from string
.. valid_to string
.. serial_number string
.. serial_number_hex string

Le protocole OCSP permet de vérifier la validité d'un certificat. L'état good indique un certificat valide, l'état revoked signifie que le certificat a déjà été révoqué et n'est plus valide.

POST /tool/ocsp
  • Code de statut de réponse HTTP : 200
  • Request data format : application/json
  • Réponse data format : application/json

Paramètres d'entrée

Nom Type Obligatoire Description
certificate string oui Format texte (Base64)

Paramètres de sortie

Nom Type Description
status string Résultat : good ou revoked
this_update string Date de la dernière mise à jour
next_update string Date de la prochaine mise à jour
besoin d'aide

Besoin d'aide ?

N'hésitez pas à nous contacter si vous avez la moindre question.

Envoyez-nous un message
info@sslmarket.fr
Question rapide
Appelez-nous
+33 6 80 91 96 86
Cet article vous a-t-il été utile ?