NAV

Introduzione

Benvenuto nella documentazione API di SupportHost per la rivendita domini!

Con le nostre API puoi gestire in modo semplice e veloce tutte le operazioni relative alla registrazione, trasferimento e gestione dei domini direttamente dal tuo sistema. Puoi usare il nostro modulo per WHMCS o direttamente le API.

Troverai endpoint chiari e ben strutturati per integrare i nostri servizi nei tuoi software o pannelli di controllo.

Nella documentazione sono disponibili esempi di chiamate in diversi linguaggi di programmazione per facilitare lo sviluppo.

Se invece cerchi guide pratiche e tutorial passo-passo, visita la nostra sezione tutorial sul sito SupportHost.

Buona integrazione!

Autenticazione

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/balance',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

Per accedere all'API di SupportHost è necessario utilizzare una API Key personale.

Puoi creare la tua API Key e autorizzare gli indirizzi IP abilitati direttamente dalla tua area clienti.
Consulta la guida dettagliata nella nostra sezione tutorial: Come creare una API Key e autorizzare un IP.

L'API Key deve essere inviata in ogni richiesta HTTP nel campo header X-Api-Key come nell'esempio. Devi anche inviare la mail che usi in area clienti nel campo header X-Email

Account

Questa sezione raccoglie tutti gli endpoint relativi alla gestione dell’account reseller per domini.

Qui trovi metodi per verificare il credito disponibile, contare i domini attivi, elencare i dettagli dei domini e altre operazioni correlate al tuo account reseller.

GET /account/balance

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/balance',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere il credito attualmente disponibile associato all'account utente.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Nessuno, solo i dati di login sono necessari.

{
  "result": "success",
  "data": {
    "credit": "3.00",
    "currency": "EUR"
  }
}

Parametri della risposta

Parametro Tipo Descrizione
result string Stato della risposta (es. "success" o "error")
data object Contiene i dettagli del credito disponibile
credit string Importo del credito disponibile (es. "3.00")
currency string Valuta del credito (es. "EUR")

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.

GET /account/domaincount

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/alldomains',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere una conta di tutti i domini attivi, divisi per estensione, oltre a una conta totale.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Nessuno, solo i dati di login sono necessari.

{
  "result": "success",
  "count": 36,
  "domains": {
    "it": 22,
    "com": 6,
    "net": 3,
    "eu": 2,
    "uk": 1,
    "us": 1,
    "xyz": 1
  }
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
count int Numero totale di domini attivi
domains json Oggetto JSON contenente il conteggio per estensione

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.

GET /account/alldomains

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/alldomains',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere una lista dei soli domini attivi con le relative informazioni. Vengono mostrati solo i domini attivi.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Nessuno, solo i dati di login sono necessari.

{
    "result": "success",
    "count": 57,
    "domains": [
        {
            "supporthost.it": {
                "domain": "supporthost.it",
                "status": "Active",
                "recurringamount": "9.84",
                "registrationperiod": 1,
                "registrationdate": "2014-02-15",
                "expirydate": "2026-07-03",
                "nextduedate": "2026-07-03",
                "donotrenew": 0
            },
            "supporthost.com": ...
        }
    ]
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
count int Numero totale di domini
domains json Oggetto JSON contenente la lista ed i dettagli di tutti i domini presenti nell’account

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.

GET /account/activedomains

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/activedomains',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere una lista dei soli domini attivi con le relative informazioni. Vengono mostrati solo i domini attivi.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Nessuno, solo i dati di login sono necessari.

{
    "result": "success",
    "count": 36,
    "domains": [
        {
            "supporthost.it": {
                "domain": "supporthost.it",
                "status": "Active",
                "recurringamount": "9.84",
                "registrationperiod": 1,
                "registrationdate": "2014-02-15",
                "expirydate": "2026-07-03",
                "nextduedate": "2026-07-03",
                "donotrenew": 0
            },
            "supporthost.com": ...
        }
    ]
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
count int Numero totale di domini attivi
domains json Oggetto JSON contenente la lista ed i dettagli di tutti i domini presenti nell’account

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.

GET /account/tldprices

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/account/tldprices',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere il prezzo dei domini per il tuo account rivenditore. I prezzi variano a seconda del numero di domini attivi nel tuo account. Oltre al prezzo è indicata la valuta nella risposta json.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Nessuno, solo i dati di login sono necessari.

{
    "result": "success",
    "currency": {
        "id": 1,
        "code": "EUR",
        "prefix": "",
        "suffix": "€",
        "format": 3,
        "rate": "1.00000"
    },
    "pricing": {
        "it": {
            "categories": [
                "Other"
            ],
            "addons": {
                "dns": true,
                "email": true,
                "idprotect": false
            },
            "group": "",
            "register": {
                "1": "5.99",
                "2": "11.98",
                "3": "17.97",
                "4": "23.96",
                "5": "29.95",
                "6": "35.94",
                "7": "41.93",
                "8": "47.92",
                "9": "53.91",
                "10": "59.90"
            },
            "transfer": {
                "1": "5.99",
                "2": "11.98",
                "3": "17.97",
                "4": "23.96",
                "5": "29.95",
                "6": "35.94",
                "7": "41.93",
                "8": "47.92",
                "9": "53.91",
                "10": "59.90"
            },
            "renew": {
                "1": "6.49",
                "2": "12.98",
                "3": "19.47",
                "4": "25.96",
                "5": "32.45",
                "6": "38.94",
                "7": "45.43",
                "8": "51.92",
                "9": "58.41",
                "10": "64.90"
            },
            "grace_period": {
                "days": 10,
                "price": "0.00"
            },
            "grace_period_days": 10,
            "grace_period_fee": "0.00",
            "redemption_period": {
                "days": 30,
                "price": "7.00"
            },
            "redemption_period_days": 30,
            "redemption_period_fee": "7.00"
        },
        "eu": ...
    }
}

Parametri della risposta

Parametro Tipo Descrizione
result string Stato della risposta (es. "success" o "error")
currency json Oggetto json contenente i dettagli relativi alla valuta del tuo account
pricing json. Oggetto json che elenca tutte le estensioni disponibili e i relativi prezzi

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.

Domain

Questa sezione contiene gli endpoint per gestire i domini, inclusi registrazione, trasferimento, rinnovo e modifica dei dati.

Troverai le funzioni principali per operare sui domini tramite API in modo semplice e veloce.

GET /domain/availability

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/availability?domain=ivanmessina.it',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere la disponibilità di un determinato dominio. Il fatto che un dominio è disponibile significa che è libero per la registrazione.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio da controllare Richiesto
{
    "result": "success",
    "domain": "dominiolibero.it",
    "status": "available",
    "whois": null
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
domain string Il dominio che siamo controllando
status json Lo stato del dominio: available o unavailable
whois string/null null se il dominio è libero, una string di testo contenente le informazioni del WHOIS se il dominio è già registrato

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
The domain field is required.

GET /domain/info

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/info?domain=supporthost.it&whois=yes&nameservers=yes&lockstatus=yes&epp=yes',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di interrogare il sistema per ottenere le informazioni su un dominio nel tuo account.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome completo del dominio da interrogare
whois string Indica se includere le informazioni WHOIS ("yes" o "no") No
nameservers string Indica se includere i nameservers ("yes" o "no") No
lockstatus string Indica se includere lo stato di blocco del dominio ("yes" o "no") No
epp string Indica se includere il codice EPP ("yes" o "no") No
{
    "result": "success",
    "domain": "supporthost.it",
    "data": {
        "domain": "supporthost.it",
        "status": "Active",
        "recurringamount": "9.84",
        "registrationperiod": 1,
        "registrationdate": "2014-02-15",
        "expirydate": "2026-07-03",
        "nextduedate": "2026-07-03",
        "donotrenew": 0
    },
    "whoisData": {
        "result": "success",
        "Registrant": {
            "Name": "xxxxxxxxxx",
            "Company": "xxxxxxxxxx",
            "City": "xxxxxxxxxx",
            "State": "xxxxxxxxxx",
            "Country": "xxxxxxxxxx",
            "Postcode": "xxxxxxxxxx",
            "Phone_Number": "xxxxxxxxxx",
            "Email": "xxxxxxxxxx",
            "Address": "xxxxxxxxxx",
            "entityType": "1",
            "itNationality": "IT",
            "regCode": "xxxxxxxxxx",
            "consentForPublishing": "false"
        },
        "Admin": {
            "Name": "xxxxxxxxxx",
            "Company": "xxxxxxxxxx",
            "City": "xxxxxxxxxx",
            "State": "xxxxxxxxxx",
            "Country": "xxxxxxxxxx",
            "Postcode": "xxxxxxxxxx",
            "Phone_Number": "xxxxxxxxxx",
            "Email": "xxxxxxxxxx",
            "Address": "xxxxxxxxxx3"
        },
        "Tech": {
            "Name": "xxxxxxxxxx",
            "Company": "xxxxxxxxxx",
            "City": "xxxxxxxxxx",
            "State": "xxxxxxxxxx",
            "Country": "xxxxxxxxxx",
            "Postcode": "xxxxxxxxxx",
            "Phone_Number": "xxxxxxxxxx",
            "Email": "xxxxxxxxxx",
            "Address": "xxxxxxxxxx3"
        }
    },
    "nameservers": {
        "result": "success",
        "ns1": "glen.ns.cloudflare.com",
        "ns2": "jamie.ns.cloudflare.com"
    },
    "lockstatus": {
        "result": "success",
        "lockstatus": "Unknown"
    },
    "epp": {
        "result": "success",
        "eppcode": "xxxxxxxxxx5"
    }
}

Parametri della risposta

Parametro Tipo Descrizione
result string Stato dell'operazione: "success" o "error"
domain string Il dominio controllato
data json Oggetto contenente le informazioni base del dominio: stato, costo rinnovo, date di registrazione, rinnovo e scadenza, stato rinnovo automatico
whoisData json Oggetto contenente i dati WHOIS del dominio
nameservers json Oggetto contenente i nameservers del dominio
lockstatus json Oggetto contenente lo stato di lock del dominio
epp json Oggetto contenente il codice EPP (auth code) del dominio

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
The domain field is required.
Domain not found in your account

POST /domain/register

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/register',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "xxxxx.it",
    "eppcode": "xxxxxx",
    "firstname": "xxxxxx",
    "lastname": "xxxxxx",
    "companyname": "xxxxxx",
    "contactemail": "[email protected]",
    "address1": "xxxxxx 123",
    "address2": "xxxxxx",
    "city": "xxxxxx",
    "state": "RM",
    "postcode": "12345",
    "country": "IT",
    "phonenumber": "+39.0000000000",
    "idnLanguage": "",
    "regperiod": "0",
    "nameserver1": "ns1.domain.com",
    "nameserver2": "ns2.domain.com",
    "idprotection": "",
    "additionalfields": {
        "entity": "1",
        "taxid": "xxxxxx",
        "itterms": "on",
        "whois": "on"
    }
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per la registrazione di un nuovo dominio. Se ci sono stati errori puoi inviare la richiesta di registrazione più volte, i nuovo dati andranno a correggere i dati inviati con le richieste precedenti. Non c’è un limite nel numero di volte che puoi inviare la stessa richiesta di registrazione per lo stesso dominio.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio da registrare
firstname string Il nome del registrante
lastname string Il cognome del registrante
companyname string Il nome della società. Richiesto solo se il dominio viene registrato per una società No
contactemail string L’email del registrante
address1 string La prima riga dell’indirizzo del registrante
address2 string La seconda riga dell’indirizzo del registrante No
city string La città dell’indirizzo del registrante
state string Lo stato dell’indirizzo del registrante. Nel caso di indirizzo in Italia, la sigla della provincia
postcode string Il codice di avviamento postale dell’indirizzo del registrante
country string La nazione dell’indirizzo del registrante, due lettere
phonenumber string Il numero di telefono del registrante nel formato +39.0000000000
idnLanguage string Se si tratta di un dominio IDN, specificare la lingua IDN No
regperiod int Il periodo di registrazione espresso in anni, da 1 a 10 (compresi)
nameserver1 string Il primo nameserver del dominio, es: ns1.domino.it
nameserver2 string Il secondo nameserver del dominio, es: ns2.domino.it
nameserver3 string Eventuale nameserver aggiuntivo No
nameserver4 string Eventuale nameserver aggiuntivo No
nameserver5 string Eventuale nameserver aggiuntivo No
idprotection booleano false se non si vuole attivare la privacy WHOIS, vero se si vuole attivare
additionalfields array Un array contenente i campi addizionali per i domini. Dettagli nella tabella sotto No

Additional fields

Alcuni domini hanno dei campi aggiuntivi richiesti, necessari per la registrazione.

Estensione Campo Aggiuntivo Descrizione
.it entity Un numero int da 1 a 7 come indicato dal nic: 1 Persone fisiche italiane e straniere, 2 Società, 3 Imprese individuali, liberi professionisti / ordini professionali, 4 Enti no-profit, 5 Enti pubblici, 6 Altri soggetti, 7 Soggetti stranieri equiparati ai precedenti escluso le persone fisiche
.it taxid Codice fiscale se “entity” è una persona fisica italiana. Numero del documento se persona fisica straniera. Partita IVA (solo numeri) in tutti gli altri casi, nel caso di enti no-profit può essere n.a. (se non hanno partita IVA o codice fiscale numerico)
.it whois true o false a seconda che si vogliano pubblicare o meno i dati personali. La scelta è possibile solo per le persone fisiche, per tutti gli altri “entity” deve essere necessariamente su true
.it itterms Accettazione dei termini del nic.it, è Richiesto accettare i termini
{
    "result": "success",
    "domain": "supporthost.it",
    "message": "Domain registered successfully"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
domain string Il dominio che stiamo registrando
message string Il messaggio, di successo o di errore

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Validazioni: per tutti i campi obbligatori eseguiamo della validazioni, se la validazione non viene superata ricevi un messaggio di errore.
The domain is not available for registration
Domain is already pending in your account. Go to the SupportHost clientarea and pay the invoice to register it
Domain is already in your account
Errori da parte del registro: se il registro restituisce un errore lo riportiamo nell’errore della registrazione

POST /domain/transfer

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/transfer',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "xxxxx.it",
    "eppcode": "xxxxxx",
    "firstname": "xxxxxx",
    "lastname": "xxxxxx",
    "companyname": "xxxxxx",
    "contactemail": "[email protected]",
    "address1": "xxxxxx 123",
    "address2": "xxxxxx",
    "city": "xxxxxx",
    "state": "RM",
    "postcode": "12345",
    "country": "IT",
    "phonenumber": "+39.0000000000",
    "idnLanguage": "",
    "regperiod": "0",
    "nameserver1": "ns1.domain.com",
    "nameserver2": "ns2.domain.com",
    "idprotection": "",
    "additionalfields": {
        "entity": "1",
        "taxid": "xxxxxx",
        "itterms": "on",
        "whois": "on"
    }
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per avviare il trasferimento di un nuovo dominio. Se ci sono stati errori puoi inviare la richiesta di trasferimento più volte, i nuovo dati andranno a correggere i dati inviati con le richieste precedenti. Non c’è un limite nel numero di volte che puoi inviare la stessa richiesta di trasferimento per lo stesso dominio.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome completo del dominio da utilizzare
firstname string Nome del registrante
lastname string Cognome del registrante
companyname string Nome dell’azienda (se applicabile) No
contactemail string Email del registrante
address1 string Indirizzo riga 1
address2 string Indirizzo riga 2 No
city string Città
state string Stato o provincia
postcode string CAP
country string Codice paese (es. IT)
phonenumber string Numero di telefono in formato internazionale
regperiod integer Periodo di registrazione in anni
idprotection boolean Attivazione privacy WHOIS
additionalfields array Campi aggiuntivi specifici per estensione No

Additional fields

Alcuni domini hanno dei campi aggiuntivi richiesti, necessari per la registrazione.

Estensione Campo Aggiuntivo Descrizione
.it entity Un numero int da 1 a 7 come indicato dal nic: 1 Persone fisiche italiane e straniere, 2 Società, 3 Imprese individuali, liberi professionisti / ordini professionali, 4 Enti no-profit, 5 Enti pubblici, 6 Altri soggetti, 7 Soggetti stranieri equiparati ai precedenti escluso le persone fisiche
.it taxid Codice fiscale se “entity” è una persona fisica italiana. Numero del documento se persona fisica straniera. Partita IVA (solo numeri) in tutti gli altri casi, nel caso di enti no-profit può essere n.a. (se non hanno partita IVA o codice fiscale numerico)
.it whois true o false a seconda che si vogliano pubblicare o meno i dati personali. La scelta è possibile solo per le persone fisiche, per tutti gli altri “entity” deve essere necessariamente su true
.it itterms Accettazione dei termini del nic.it, è Richiesto accettare i termini
{
    "result": "success",
    "domain": "supporthost.it",
    "message": "Domain transfer started successfully"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: success o error
domain string Il dominio che stiamo trasferendo
message string Il messaggio, di successo o di errore

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Validazioni: per tutti i campi obbligatori eseguiamo della validazioni, se la validazione non viene superata ricevi un messaggio di errore.
The domain is not available for transfer
Domain is already pending in your account. Go to the SupportHost clientarea and pay the invoice to transfer it
Domain is already in your account
Errori da parte del registro: se il registro restituisce un errore lo riportiamo nell’errore della registrazione

POST /domain/renew

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/renew',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "dominio.it",
    "regperiod": 1
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per rinnovare un dominio. Se c’è abbastanza credito nell’account la fattura viene segnata come pagata in automatico.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio da rinnovare
regperiod int Numero di anni per il rinnovo (1-9)
{
    "result": "success",
    "latestinvoiceid": 12345
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"
latestinvoiceid int ID della fattura di rinnovo creata. Puoi trovarla nell'area clienti

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
The status of the domain doesn’t allow renewal
The domain has been cancelled. You need to restore it.
There is already a renewal invoice for this domain. Go to the SupportHost clientarea and pay it to renew

POST /domain/restore

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/restore?domain=dominio.it',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));
$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per recuperare un dominio cancellato. I domini cancellati possono essere recuperati a seguito di un pagamento di un costo di recupero. Se c’è abbastanza credito nell’account la fattura viene segnata come pagata in automatico.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio da recuperare
{
    "result": "success",
    "invoiceid": 12345
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"
invoiceid int. ID della fattura di recupero creata. Non ricevi una email con la fattura creata, ma puoi trovarla in area clienti.

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
The status of the domain doesn’t allow restore
The domain has been cancelled. You need to restore it.
There is already a renewal invoice for this domain. Go to the SupportHost clientarea and pay it to renew

POST /domain/nameservers

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/nameservers',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "dominio.it",
    "ns1": "ns1.supporthost.com",
    "ns2": "ns2.supporthost.com"
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per modificare i nameservers di un dominio.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio da modificare
ns1 string Primo nameserver (es. ns1.dominio.it)
ns2 string Secondo nameserver (es. ns2.dominio.it)
ns3 string Terzo nameserver (opzionale) No
ns4 string Quarto nameserver (opzionale) No
ns5 string Quinto nameserver (opzionale) No
{
    "result": "success"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
The status of the domain doesn’t allow nameservers change

POST /domain/idprotect

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/idprotect',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "colibri.com",
    "idprotect": false
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per attivare o disattivare la privacy WHOIS di un dominio. Questa funzione non è supportata da tutte le estensioni.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio
idprotect bool true per attivare, false per disattivare
{
    "result": "success"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
This domain extension do not support ID protection

POST /domain/updatelockingstatus

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/updatelockingstatus',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "dominio.it",
    "idprotect": false
}',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per attivare o disattivare il blocco trasferimento per un dominio. Questa funzione non è supportata da tutte le estensioni.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio
lockstatus bool true per attivare, false per disattivare
{
    "result": "success"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
This domain extension do not support lock

POST /domain/updatewhois

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://my.supporthost.com/domainapi.php/domain/updatewhois',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "domain": "colibri.com",
    "contactdetails": {
      "Registrant": {
        "Name": "xxxxxx"
        "Company": "xxxxxx"
        "City": "xxxxxx"
        "State": "xxxxxx"
        "Country": "EE"
        "Postcode": "12345"
        "Phone_Number": "+39.0000000000"
        "Email": "[email protected]"
        "Address": "xxxxxx"
        "entityType": "1"
        "itNationality": "IT"
        "regCode": "xxxxxx"
        "consentForPublishing": true
      }
      "Admin": {
        "Name": "xxxxxx"
        "Company": "xxxxxx"
        "City": "xxxxxx"
        "State": "xxxxxx"
        "Country": "EE"
        "Postcode": "12345"
        "Phone_Number": "+39.0000000000"
        "Email": "[email protected]"
        "Address": "xxxxxx"
      }
      "Tech": {
        "Name": "xxxxxx"
        "Company": "xxxxxx"
        "City": "xxxxxx"
        "State": "xxxxxx"
        "Country": "EE"
        "Postcode": "12345"
        "Phone_Number": "+39.0000000000"
        "Email": "[email protected]"
        "Address": "xxxxxx"
      }
    }
  }',
  CURLOPT_HTTPHEADER => array(
    'X-Email: your_email',
    'X-Api-Key: your_apikey'
  ),
));

curl_close($curl);
echo $response;
?>

Descrizione

Questo endpoint consente di inviare un comando per aggiornare i dati di contatto del dominio.

Limite di richieste

300 richieste ogni 10 minuti.

Parametri della richiesta

Parametro Tipo Descrizione Richiesto
domain string Il nome del dominio per cui vuoi modificare i dati
contactdetails array Un array contenente tutti i dati dei contatti, sia quelli da aggiornare che quelli da mantenere.
I dati devono essere mandati seguendo lo stesso schema in cui arrivano con l'endpoint /domain/info
{
    "result": "success"
}

Parametri della risposta

Parametro Tipo Descrizione
result string Il risultato dell’operazione: "success" o "error"

Risposte di errore

Connection refused from unauthorized host. IP xxx.xxx.xxx.xxx is NOT allowed to access your account
Invalid email or not a reseller.
Invalid API key.
Domain not found in your account
Eventuali errori del registro dovuti ai nuovi dati dei contatti del dominio

Modulo WHMCS

Puoi scaricare l’ultima versione del modulo WHMCS per la rivendita domini SupportHost dal seguente link:
Scarica il modulo WHMCS (ZIP)

Per una guida completa all’installazione e configurazione del modulo, consulta il nostro tutorial ufficiale:
Come installare il modulo WHMCS per reseller domini

Se hai bisogno di assistenza o supporto, non esitare a contattarci.