Crea subaccount

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

Se i subaccount non sono stati abilitati dal tuo rappresentante account, riceverai l’errore access_denied|missing_permission.

Usa questo endpoint per creare un nuovo subaccount.

Quando si crea un account gestito, la chiave API viene mostrata solamente questa volta nel parametro api_key del corpo della risposta. Non sarà mai visualizzata di nuovo e non c’è modo per recuperarla se viene persa.

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}}"
}

Parametri richiesta

Nome Rich/Opz Tipo Descrizione
account_type obbligatorio string Specifica tipo di subaccount da creare.
Consulta Glossario — Tipi di subaccount
Valori consentiti: standard, enterprise, reseller, managed
allowed_grandchildren obbligatorio array Elenco dei tipi di account che possono essere creati sotto l’account.
Consulta Glossario — Tipi di subaccount
Valori consentiti: standard, enterprise, reseller
account_manager_user_id facoltativo int ID di un utente esistente che gestirà il subaccount.
bill_parent facoltativo bool Specifica se all’account principale devono essere fatturati tutti gli ordini di certificato.
Predefinita: false
user obbligatorio object Dettagli sul nuovo utente subaccount da creare.
.. first_name obbligatorio string Nome dell’utente subaccount.
.. last_name obbligatorio string Cognome dell’utente subaccount.
.. email obbligatorio string Indirizzo e-mail dell’utente subaccount.
L’e-mail di creazione account sarà inviata a questo indirizzo.
.. username facoltativo string Nome utente usato per accedere al subaccount.
Se omesso, il valore email sarà usato come nome utente.
.. job_title facoltativo string Qualifica dell’utente subaccount.
.. telephone facoltativo string Numero di telefono dell’utente subaccount.
organization obbligatorio object Dettagli sull’organizzazione principale del subaccount
.. name obbligatorio string Ragione sociale dell’organizzazione.
.. assumed_name facoltativo string Nome pubblico dell’organizzazione.
Chiamato anche nome DBA.
.. address obbligatorio string Indirizzo dell’organizzazione.
.. address2 facoltativo string
.. zip obbligatorio string Codice postale dell’organizzazione.
.. city obbligatorio string Città in cui si trova l’organizzazione.
.. state obbligatorio string Stato in cui si trova l’organizzazione.
.. country obbligatorio string Paese in cui si trova l’organizzazione.
.. telephone facoltativo string Numero di telefono dell'organizzazione.

Parametri di risposta

Nome Tipo Descrizione
id int ID account del subaccount.
account_type string Tipo account del subaccount.
account_manager_user_id int ID utente del subaccount manager.
bill_parent bool Specifica se all’account principale vengono fatturati gli ordini di certificato.
organization object Dettagli sull’organizzazione principale del subaccount.
.. id int ID organizzazione.
.. status string Stato organizzazione.
Valori possibili: active, inactive
.. name string Ragione sociale dell’organizzazione.
.. assumed_name string Nome pubblico dell’organizzazione.
Chiamato anche nome DBA.
.. display_name string Nome completo dell’organizzazione.
Costruito usando nome + assumed_name.
.. is_active bool Stato attivo dell’organizzazione.
.. address string Indirizzo dell’organizzazione.
.. address2 string
.. zip string Codice postale dell’organizzazione.
.. city string Città in cui si trova l’organizzazione.
.. state string Stato in cui si trova l’organizzazione.
.. country string Paese in cui si trova l’organizzazione.
.. telephone string Numero di telefono dell'organizzazione.
.. container object Contenitore principale a cui è collegata l’organizzazione.
.. .. id int ID contenitore.
.. .. parent_id int ID dell’elemento principale del contenitore.
.. .. name string Nome del contenitore.
.. .. is_active bool Stato attivo dell’organizzazione.
user object Dettagli sul nuovo utente subaccount.
.. id int ID utente.
.. username string Nome utente usato per accedere al subaccount.
.. account_id int ID account del nuovo subaccount.
.. first_name string Nome dell’utente.
.. last_name string Cognome dell’utente.
.. email string Indirizzo e-mail dell’utente.
.. job_title string Qualifica dell’utente.
.. telephone string Numero di telefono dell’utente.
.. type string Tipo di utente.
Valori possibili: standard
api_key string Chiave API generata per il subaccount.
Riportato solo se subaccount_type è managed.