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 | Sì |
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 | Sì |
firstname | string | Il nome del registrante | Sì |
lastname | string | Il cognome del registrante | Sì |
companyname | string | Il nome della società. Richiesto solo se il dominio viene registrato per una società | No |
contactemail | string | L’email del registrante | Sì |
address1 | string | La prima riga dell’indirizzo del registrante | Sì |
address2 | string | La seconda riga dell’indirizzo del registrante | No |
city | string | La città dell’indirizzo del registrante | Sì |
state | string | Lo stato dell’indirizzo del registrante. Nel caso di indirizzo in Italia, la sigla della provincia | Sì |
postcode | string | Il codice di avviamento postale dell’indirizzo del registrante | Sì |
country | string | La nazione dell’indirizzo del registrante, due lettere | Sì |
phonenumber | string | Il numero di telefono del registrante nel formato +39.0000000000 | Sì |
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) | Sì |
nameserver1 | string | Il primo nameserver del dominio, es: ns1.domino.it | Sì |
nameserver2 | string | Il secondo nameserver del dominio, es: ns2.domino.it | Sì |
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 | Sì |
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 | Sì |
firstname | string | Nome del registrante | Sì |
lastname | string | Cognome del registrante | Sì |
companyname | string | Nome dell’azienda (se applicabile) | No |
contactemail | string | Email del registrante | Sì |
address1 | string | Indirizzo riga 1 | Sì |
address2 | string | Indirizzo riga 2 | No |
city | string | Città | Sì |
state | string | Stato o provincia | Sì |
postcode | string | CAP | Sì |
country | string | Codice paese (es. IT) | Sì |
phonenumber | string | Numero di telefono in formato internazionale | Sì |
regperiod | integer | Periodo di registrazione in anni | Sì |
idprotection | boolean | Attivazione privacy WHOIS | Sì |
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 | Sì |
regperiod | int | Numero di anni per il rinnovo (1-9) | Sì |
{
"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 | Sì |
{
"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 | Sì |
ns1 | string | Primo nameserver (es. ns1.dominio.it) | Sì |
ns2 | string | Secondo nameserver (es. ns2.dominio.it) | Sì |
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 | Sì |
idprotect | bool | true per attivare, false per disattivare | Sì |
{
"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 | Sì |
lockstatus | bool | true per attivare, false per disattivare | Sì |
{
"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 | Sì |
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 | Sì |
{
"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.