Créer un sous-compte

POST
https://www.digicert.com/services/v2/account

Si votre gestionnaire de compte n’a pas activé de sous-comptes pour votre compte, vous recevrez l’erreur access_denied|missing_permission.

Appelez ce point de terminaison pour créer un sous-compte.

Lors de la création d'un compte géré, la clé API apparaît une seule fois dans le paramètre api_key du corps de réponse. Elle ne s’affichera plus jamais et il n’existe aucun moyen de la récupérer si elle est égarée.

cURL
curl -X POST \
  https://www.digicert.com/services/v2/account \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "account_type": "retail",
  "allowed_grandchildren": [
    "retail",
    "enterprise",
    "reseller"
  ],
  "account_manager_user_id": 12345,
  "user": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "username": "john.smith@example.com",
    "job_title": "Statistician",
    "telephone": "111-222-333-4444"
  },
  "organization": {
    "name": "Example Company, LLC",
    "address": "123 Fake Street",
    "address2": "Suite 321",
    "zip": "93090",
    "city": "Toledo",
    "state": "AL",
    "country": "US",
    "telephone": "111-222-333-4445"
  }
}'
Python
import requests

url = "https://www.digicert.com/services/v2/account"

payload = "{\n  \"account_type\": \"retail\",\n  \"allowed_grandchildren\": [\n    \"retail\",\n    \"enterprise\",\n    \"reseller\"\n  ],\n  \"account_manager_user_id\": 12345,\n  \"user\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"email\": \"john.smith@example.com\",\n    \"username\": \"john.smith@example.com\",\n    \"job_title\": \"Statistician\",\n    \"telephone\": \"111-222-333-4444\"\n  },\n  \"organization\": {\n    \"name\": \"Example Company, LLC\",\n    \"address\": \"123 Fake Street\",\n    \"address2\": \"Suite 321\",\n    \"zip\": \"93090\",\n    \"city\": \"Toledo\",\n    \"state\": \"AL\",\n    \"country\": \"US\",\n    \"telephone\": \"111-222-333-4445\"\n  }\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
Go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://www.digicert.com/services/v2/account"

	payload := strings.NewReader("{\n  \"account_type\": \"retail\",\n  \"allowed_grandchildren\": [\n    \"retail\",\n    \"enterprise\",\n    \"reseller\"\n  ],\n  \"account_manager_user_id\": 12345,\n  \"user\": {\n    \"first_name\": \"John\",\n    \"last_name\": \"Smith\",\n    \"email\": \"john.smith@example.com\",\n    \"username\": \"john.smith@example.com\",\n    \"job_title\": \"Statistician\",\n    \"telephone\": \"111-222-333-4444\"\n  },\n  \"organization\": {\n    \"name\": \"Example Company, LLC\",\n    \"address\": \"123 Fake Street\",\n    \"address2\": \"Suite 321\",\n    \"zip\": \"93090\",\n    \"city\": \"Toledo\",\n    \"state\": \"AL\",\n    \"country\": \"US\",\n    \"telephone\": \"111-222-333-4445\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'POST',
  url: 'https://www.digicert.com/services/v2/account',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { account_type: 'retail',
     allowed_grandchildren: [ 'retail', 'enterprise', 'reseller' ],
     account_manager_user_id: 12345,
     user: 
      { first_name: 'John',
        last_name: 'Smith',
        email: 'john.smith@example.com',
        username: 'john.smith@example.com',
        job_title: 'Statistician',
        telephone: '111-222-333-4444' },
     organization: 
      { name: 'Example Company, LLC',
        address: '123 Fake Street',
        address2: 'Suite 321',
        zip: '93090',
        city: 'Toledo',
        state: 'AL',
        country: 'US',
        telephone: '111-222-333-4445' } },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
201 Created
{
  "id": 1122334,
  "account_type": "retail",
  "account_manager_user_id": 12345,
  "organization": {
    "id": 3344556,
    "status": "active",
    "name": "Example Company, LLC",
    "display_name": "Example Company, LLC",
    "is_active": true,
    "address": "123 Fake Street",
    "zip": "93090",
    "city": "Toledo",
    "state": "AL",
    "country": "us",
    "telephone": "111-222-333-4445",
    "container": {
      "id": 112234,
      "parent_id": 0,
      "name": "Example Company, LLC",
      "is_active": true
    }
  },
  "user": {
    "id": 45321,
    "username": "john.smith@example.com",
    "account_id": 12121,
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "job_title": "Statistician",
    "telephone": "111-222-333-4444",
    "type": "standard"
  }
}
201 Created (managed subaccount)
{
  "id": 1122334,
  "account_type": "managed",
  "account_manager_user_id": 12345,
  "organization": {
    "id": 3344556,
    "status": "active",
    "name": "Example Company, LLC",
    "display_name": "Example Company, LLC",
    "is_active": true,
    "address": "123 Fake Street",
    "zip": "93090",
    "city": "Toledo",
    "state": "AL",
    "country": "us",
    "telephone": "111-222-333-4445",
    "container": {
      "id": 112234,
      "parent_id": 0,
      "name": "Example Company, LLC",
      "is_active": true
    }
  },
  "user": {
    "id": 45321,
    "username": "john.smith@example.com",
    "account_id": 12121,
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@example.com",
    "job_title": "Statistician",
    "telephone": "111-222-333-4444",
    "type": "standard"
  },
  "api_key": "{{api_key}}"
}

Paramètres de demande

Nom Obligatoire/facultatif Type Description
account_type Obligatoire string Spécifiez le type de sous-compte à créer.
Consultez le Glossaire — Types de sous-comptes.
Valeurs autorisées : standard, enterprise, reseller, managed
allowed_grandchildren Obligatoire array Liste des types de compte qu’il est possible de créer dans un compte.
Consultez le Glossaire — Types de sous-comptes.
Valeurs autorisées : standard, enterprise, reseller
account_manager_user_id Facultatif int ID de l’utilisateur existant qui gèrera le sous-compte.
bill_parent Facultatif bool Spécifier si toutes les commandes de certificats doivent être facturées sur le compte parent.
Valeur par défaut : false
user Obligatoire object Détails relatifs à l’utilisateur du sous-compte à créer
.. first_name Obligatoire string Prénom de l’utilisateur du sous-compte
.. last_name Obligatoire string Nom de l’utilisateur du sous-compte
.. email Obligatoire string Adresse électronique de l’utilisateur du sous-compte
Le courrier électronique de création de compte sera envoyé à cette adresse.
.. username Facultatif string Nom d’utilisateur permettant de se connecter au sous-compte.
Si omis, la valeur de l’élément email sera utilisée comme nom d’utilisateur.
.. job_title Facultatif string Intitulé de poste de l’utilisateur du sous-compte
.. telephone Facultatif string Numéro de téléphone de l’utilisateur du sous-compte
organization Obligatoire object Détails relatifs à l’organisation principale du sous-compte
.. name Obligatoire string Nom légal de l’organisation
.. assumed_name Facultatif string Nom public de l’organisation
Également appelé « nom DBA »
.. address Obligatoire string Adresse de l’organisation
.. address2 Facultatif string
.. zip Obligatoire string Code postal de l’organisation
.. city Obligatoire string Ville où est établie l’organisation
.. state Obligatoire string État où est établie l’organisation
.. country Obligatoire string Pays où est établie l’organisation
.. telephone Facultatif string Numéro de téléphone de l’organisation

Paramètres de réponse

Nom Type Description
id int ID du sous-compte
account_type string Type de sous-compte
account_manager_user_id int ID utilisateur du gestionnaire du sous-compte
bill_parent bool Indique si le compte parent doit être facturé pour les commandes de certificat.
organization object Détails relatifs à l’organisation principale du sous-compte
.. id int ID de l’organisation
.. status string Statut de l’organisation
Valeurs possibles : active, inactive
.. name string Nom légal de l’organisation
.. assumed_name string Nom public de l’organisation
Également appelé « nom DBA »
.. display_name string Nom complet de l’organisation
Composé du nom + assumed_name.
.. is_active bool Statut actif de l’organisation
.. address string Adresse de l’organisation
.. address2 string
.. zip string Code postal de l’organisation
.. city string Ville où est établie l’organisation
.. state string État où est établie l’organisation
.. country string Pays où est établie l’organisation
.. telephone string Numéro de téléphone de l’organisation
.. container object Conteneur primaire auquel l’organisation est rattachée
.. .. id int ID du conteneur
.. .. parent_id int ID du conteneur parent
.. .. name string Nom du conteneur
.. .. is_active bool Statut actif de l’organisation
user object Détails relatifs au nouvel utilisateur du sous-compte
.. id int ID de l’utilisateur
.. username string Nom d’utilisateur permettant de se connecter au sous-compte.
.. account_id int ID du nouveau sous-compte
.. first_name string Prénom de l’utilisateur
.. last_name string Nom de l’utilisateur
.. email string Adresse électronique de l’utilisateur
.. job_title string Intitulé de poste de l’utilisateur
.. telephone string Numéro de téléphone de l’utilisateur
.. type string Type de l’utilisateur
Valeurs possibles : standard
api_key string Clé d’API générée pour le sous-compte
Renvoyée seulement si l’élément subaccount_type est managed.