Navigazione tramite API

Introduzione


L'interfaccia API è completamente gratuita e disponibile su tutti gli account Zadarma.

Link all'API
Versione
v1
Link al metodo
https://api.zadarma.com/v1/METHOD/

Biblioteche

Scarica le classi pronte per lavorare con l'API

Nell’API sono disponibili tutte le funzionalità di base per lavorare con:

  • Telefonia e numeri virtuali
  • Centralino e Teamsale CRM
  • SMS e richieste HLR
  • Call tracking
  • Riconoscimento vocale

Autorizzazione

Ogni richiesta che richiede l'autorizzazione è accompagnata da un'intestazione aggiuntiva del tipo:
"Authorization: chiave_utente:firma"

Le chiavi per l'autorizzazione devono essere richieste nell' area personale.

La firma viene generata secondo il seguente algoritmo:

  • l'array dei parametri trasmessi (GET, POST, PUT, DELETE) è ordinato in base al nome della chiave in ordine alfabetico;
  • Dall’array ottenuto viene generata una stringa di richiesta (ad esempio, funzione http_build_query in PHP), esempio "from=DATEFROM&to=DATETO…";
  • ecc. - viene unito tramite la formula: riga = nome_metodo riga_richiesta md5( riga_richiesta ), dove "nome_metodo" è la riga della richiesta che inizia con il dominio (indicando la versione API) prima dell'enumerazione dei parametri, ad esempio - '/v1/sip/'
  • la stringa risultante viene trasformata tramite la funzione hash secondo l'algoritmo sha1 con una password dell'utente: hash = hash( stringa, chiave_segreta )
  • e poi l'hash viene codificato in base64 firma = base64_encode( hash )

                                    ksort($params);
$paramsStr = http_build_query($params, null, '&', PHP_QUERY_RFC1738);
$sign = base64_encode(hash_hmac('sha1', $method . $paramsStr . md5($paramsStr), $secret));
$header = 'Authorization: ' . $userKey . ':' . $sign;

La classe PHP pronta all'uso per lavorare con l'API può essere scaricata all'indirizzo GitHub.

Il titolo Content-Type per le richieste POST e PUT deve essere uguale a application/x-www-form-urlencoded o multipart/form-data.

Formati di risposta: json (per impostazione predefinita) e xml.

Per ottenere una risposta dall'API in formato xml, aggiungere il parametro "format=xml" alla stringa di richiesta.

Limitazioni

                                    {
    "status":"error",
    "message":"Check phone's number"
}

La risposta contiene anche informazioni sui limiti e sulla richiesta corrente, ad esempio:

X-Zadarma-Method: /v1/ X-RateLimit-Reset: 1434371160 X-RateLimit-Limit: 100 X-RateLimit-Remaining: 99

dove,

  • X-Zadarma-Method - metodo attualmente richiamato;
  • X-RateLimit-Remaining - numero di richieste rimanenti, tenendo conto del limite per metodo e per utente;
  • X-RateLimit-Limit - numero del limite totale di richieste al minuto;
  • X-RateLimit-Reset - tempo di reset del limite.

Limiti generali: 100 richieste al minuto, per i metodi statistici: 3 richieste al minuto.

In caso di blocco, il metodo restituisce la risposta 429 con l'intestazione "You exceeded the rate limit".

La risposta è composta da una chiave obbligatoria "status" (success o error). Successivamente, a seconda del metodo, vengono restituite le chiavi con le informazioni richieste.

In caso di errore, viene restituita una chiave aggiuntiva "message" con la descrizione dell'errore.

Inoltre, tutte le risposte sono accompagnate dai relativi intestazioni HTTP.

Attenzione: se è necessaria una statistica del centralino sempre aggiornata, Non è necessario richiedere ogni minuto il metodo statistics/pbx/. Attiva le notifiche webhooks e ricevi informazioni su ogni chiamata al momento della sua inizio e fine.

Metodi

Info

get /v1/info/balance/

saldo utente

                                    {
    "status":"success", 
    "balance":10.34, 
    "currency":"USD"
}

get /v1/info/price/

costo della chiamata in base alla tariffa attuale dell'utente

                                    {
    "status":"success",
    "info": {
        "prefix":"4420",
        "description":"United Kingdom, London",
        "price":"0.009",
        "currency":"USD",
    }
}

Parametri

  • number – numero di telefono
  • caller_id (opzionale) – CallerID che verrà utilizzato durante la chiamata.


get /v1/info/timezone/

fuso orario dell'utente

                                    {
    "status":"success",
    "unixtime":1483228800,
    "datetime":"2017-01-01 00:00:00",
    "timezone":"UTC+0"
}

get /v1/tariff/

informazioni sulla tariffa attuale dell'utente

                                    {
    "status":"success",
    "info": {
        "tariff_id":5,
        "tariff_name":"Standart, special",
        "is_active":false,
        "cost":0,
        "currency":USD,
        "used_seconds":1643,
        "used_seconds_mobile":34,
        "used_seconds_fix":726,
        "tariff_id_for_next_period":5,
        "tariff_for_next_period":Standart, special
    }
}

Dove:

  • tariff_id – ID della tariffa attuale dell'utente;
  • tariff_name – nome della tariffa attuale dell'utente;
  • is_active – la tariffa attuale è attiva o non attiva;
  • cost – costo della tariffa;
  • currency – valuta della tariffa;
  • used_seconds – numero di secondi utilizzati della tariffa;
  • used_seconds_mobile – numero di secondi utilizzati della tariffa per i telefoni cellulari;
  • used_seconds_fix – numero di secondi utilizzati della tariffa per i telefoni fissi;
  • used_seconds_speech_recognition – numero di secondi utilizzati della tariffa per il riconoscimento vocale;
  • tariff_id_for_next_period – ID della tariffa dell'utente per il periodo successivo;
  • tariff_for_next_period – nome della tariffa dell'utente per il periodo successivo.

get /v1/request/callback/

richiamata

                                    {
    "status":"success", 
    "from":442037691880, 
    "to":442037691881, 
    "time":1435573082
}

Parametri

  • from – il tuo numero di telefono o SIP, o numero interno del centralino, o numero dello scenario del centralino (nel formato 0-1, dove 0 è il numero del menu vocale, 1 è il numero dello scenario) a cui viene effettuato il callback;
  • to – numero di telefono o SIP chiamato;
  • sip (opzionale) – Numero SIP dell’utente o numero interno del centralino (ad esempio 100) tramite cui verrà effettuata la chiamata. Verrà utilizzato il CallerID di questo numero e, nelle statistiche, verrà mostrato il numero SIP/centralino specificato, se per il numero indicato è attivata la registrazione delle chiamate o dei prefissi di composizione, anche questi saranno utilizzati;

  • predicted (opzionale) – Se questo flag è impostato, la richiesta è predicativa (il sistema chiama inizialmente il numero "to" e, solo se la chiamata va a buon fine, collega al tuo SIP o numero di telefono);

get /v1/request/checknumber/

confirmazione del numero

                                    {
    "status":"success",
    "from":442037691880,
    "to":442037691881,
    "lang":"fr",
    "time":1612779278
}

Parametri

  • caller_id - numero visualizzato durante la chiamata, sono disponibili solo i numeri collegati al sistema;
  • to - numero di telefono o SIP chiamato;
  • code - codice che verrà riprodotto. Solo numeri e lunghezza non superiore a 20 caratteri;
  • lang - lingua del testo. In assenza, viene preso dell'area personale del cliente e verificato per la disponibilità nelle lingue del sistema.

post /v1/info/number_lookup/

aggiornamento dei contatti

Parametri

  • numbers – elenco dei numeri da aggiornare in formato internazionale.

Se numbers contiene 1 numero, il risultato verrà restituito immediatamente; se è specificato un elenco di numeri, il risultato verrà inviato all'indirizzo indicato nella pagina di aggiornamento dei contatti o inviato via e-mail se l'indirizzo non è specificato.

Attenzione: le impostazioni di questo metodo vengono effettuate nella pagina di aggiornamento dei contatti nell'area personale.

Esempio di risposta per il numero 1:

(Esempio 1)

                                    Esempio 1:
{ "status":"success", "info":{ "mcc":"24702", "mnc":"02", "mccName":"Latvia", "mncName":"Tele2", "ported":false, "roaming":false, "errorDescription":"No Error" } }

Esempio di risposta per più numeri:

(Esempio 2)

                                    Esempio 2:
{ "status":"success" }

Esempio di risultato inviato all'indirizzo indicato nella pagina di aggiornamento:

(Esempio 3)

                                    Esempio 3:
{ "success":true, "description":"Success", "result": [ { "mcc":"24702", "mnc":"02", "ported":false, "roaming":false, "errorDescription":"No Error", "mccName":"Latvia", "mncName":"Tele2", "number":"3712812858", }, ... ] }

get /v1/info/lists/currencies/

Elenco delle valute

                                    {
    "status": "success",
    "currencies": [
        "USD",
        "EUR",
        "GBP",
        "PLN"
    ]
}

get /v1/info/lists/languages/

Elenco delle lingue disponibili nell'area personale

                                    {
    "status": "success",
    "languages": [
        "en",
        "es",
        "de",
        "pl",
        "ru",
        "ua",
        "fr"
    ]
}

get /v1/info/lists/tariffs/

Elenco delle tariffe

                                    {
    "status": "success",
    "currency": "EUR",
    "tariffs": [
        {
            "tariff_id": 5,
            "name": "Standard",
            "cost": 0,
            "days": "30"
        },
        ...
    ],
    "package_tariffs": [
        {
            "id": 1,
            "name": "EU",
            "tariffs": [
                {
                    "tariff_id": 23,
                    "name": "Office",
                    "cost": 22,
                    "cost_annual": 216
                },
                ...
            ]
        },
        ...
    ]
}

Parametri:

  • currency – valuta

SIP

get /v1/sip/

elenco dei numeri SIP dell'utente

                                    {
    "status":"success",
    "sips":[
        {"id":"00001", "display_name":"SIP 1", "lines":3},
        {"id":"00002", "display_name":"SIP 2", "lines":3}
    ],
    "left":3
}

Dove:

  • id – SIP-id;
  • display_name – nome visualizzato;
  • lines – numero di linee;
  • left – numero di SIP rimanenti che è possibile creare (dipende dal saldo dell'utente e dal numero totale di SIP già creati).

get /v1/sip/<SIP>/status/

stato online del numero SIP dell'utente

                                    {
    "status":"success",
    "sip":"00001",
    "is_online":"false"
}

put /v1/sip/callerid/

modifica CallerID

                                    {
    "status":"success",
    "sip":"00001",
    "new_caller_id":"442037691880"
}

Parametri

  • id – SIP id, che cambia il CallerID;
  • number – numero che viene cambiato in formato internazionale (dall'elenco dei numeri confermati o acquistati dall'utente).

get /v1/sip/redirection/

Visualizzazione dell’inoltro corrente dei numeri SIP dell’utente

                                    {
    "status":"success",
    "info": [
        {
            "sip_id":"00001",
            "status":"on",
            "condition":"always",
            "destination":"phone",
            "destination_value":"442037691880"
        },
    ...
    ]
}

Parametri

  • id – (opzionale) selezione di un ID SIP specifico.

Dove:

  • sip_id – id SIP dell'utente;
  • status – stato attuale: on o off;
  • condition – condizioni di inoltro: always – sempre (impostazione predefinita), unavailable – in caso di mancata risposta o assenza di connessione SIP;
  • destination – dove viene inoltrata la chiamata: phone – al numero di telefono, pbx – al centralino;
  • destination_value – numero a cui inoltrare la chiamata: numero di telefono o ID del centralino.

put /v1/sip/redirection/

attivazione/disattivazione dell'inoltro per numero SIP

                                    {
    "status":"success",
    "sip":"00001",
    "current_status":"on"
}

Parametri

  • id – SIP id;
  • status – stato di inoltro impostato sul numero SIP selezionato.

put /v1/sip/redirection/

modifica dei parametri di inoltro

                                    {
    "status":"success",
    "sip":"00001",
    "destination":"442037691880"
}

Parametri

  • id – id SIP;
  • type – tipo di inoltro: phone – al telefono;
  • number – numero di telefono.
  • condition – parametro opzionale, condizione di inoltro (always - sempre, unavailable - in caso di mancata risposta o assenza di connessione SIP)

post /v1/sip/create/

Creazione di un numero SIP

                                    {
    "status": "success",
    "sip": "123456"
}

Parametri

  • name - nome visualizzato;
  • password - password;
  • callerid - numero per CallerID;
  • redirect_to_phone - parametro opzionale, inoltro SIP al telefono;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

put /v1/sip/<SIP>/password/

Modifica della password SIP

Parametri

                                    {
    "status":"success",
    "sip":$sip,
}

  • value - nuova password;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Statistiche

get /v1/statistics/

ottenimento di statistiche generali

(Esempio 1)

                                    Esempio 1:
{ "status":"success", "start":"2015-06-01 00:00:00", "end":"2015-06-29 13:45:23", "stats":[ { "id":"155112249", "sip":"00001", "callstart":"2015-06-02 12:20:25", "from":442037691880, "to":442037691881, "description":"United Kingdom, London", "disposition":"busy", "billseconds":0, "cost":0.1950, "billcost":0.0000, "currency":"USD" }, … ] }

Parametri

  • start - data di inizio della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • end - data di fine della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • sip (opzionale) - filtro per un numero SIP specifico;
  • cost_only (opzionale) - visualizzazione solo delle spese sostenute nel periodo;
  • type (opzionale - solo sulle statistiche generali) - tipo di richiesta: generale (non specificato nella richiesta) e toll (numeri 800);
  • skip (opzionale – non viene considerato se è impostato il parametro cost_only) - numero di righe da saltare nella selezione; la visualizzazione inizia dalla riga skip + 1 (viene utilizzato per la paginazione insieme al parametro limit, il valore predefinito è 0);
  • limit (opzionale – non viene considerato se è impostato il parametro cost_only) - limite al numero di righe restituite (viene utilizzato per la paginazione insieme al parametro skip, valore massimo 1000, valore predefinito 1000).

Il periodo massimo per ottenere le statistiche è di un mese. Se nella richiesta viene superato il limite, il periodo viene automaticamente ridotto a 30 giorni. Se non viene specificata la data di inizio del campione, viene selezionato l'inizio del mese corrente. Se non viene specificata la data di fine del campione, il campione è limitato alla data e all'ora correnti.

Il numero massimo di righe visualizzabili per una singola richiesta è 1000. Per la paginazione, utilizzare i parametri skip e limit.

?type=cost_only:

(Esempio 2)

                                    Esempio 2:
{ "status":"success", "start":"2015-06-01 00:00:00", "end":"2015-06-29 14:03:57", "stats":[ { "cost":38.094, "currency":"USD", "seconds":9785 } ] }

Dove:

  • start – data di inizio della visualizzazione delle statistiche;
  • end – data di fine della visualizzazione delle statistiche;
  • id – id della chiamata;
  • sip – numero SIP;
  • callstart – ora di inizio della chiamata;
  • description – descrizione della direzione della chiamata;
  • disposition – stato della chiamata:
    • ‘answered’ – conversazione,
    • ‘busy’ – occupato,
    • ‘cancel’ - annullato,
    • ‘no answer’ - senza risposta,
    • ‘call failed’ - non riuscito,
    • 'no money' - fondi insufficienti, limite superato,
    • 'unallocated number' - numero inesistente,
    • 'no limit' - limite superato,
    • 'no day limit' - limite giornaliero superato,
    • 'line limit' - limite delle linee superato,
    • 'no money, no limit' - limite superato;
  • billseconds – numero di secondi della chiamata;
  • cost – costo al minuto della chiamata per questa destinazione;
  • billcost – costo dei minuti pagati;
  • currency – valuta del costo;
  • from – numero di origin;
  • to – numero di destinazione.

get /v1/statistics/pbx/

statistiche del centralino

Attenzione: se hai bisogno di statistiche sempre aggiornate sul centralino, non è necessario richiedere ogni minuto il metodo statistics/pbx/. Attiva le notifiche webhooks e ricevi informazioni su ogni chiamata all’inizio e alla fine della stessa.

                                    {
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-30 23:59:59",
    "version":2,
    "stats":[
        {
            "call_id":1439981389.2702773,
            "sip":200,
            "callstart":"2015-06-01 15:04:00",
            "clid":200,
            "destination":5,
            "disposition":"answered",
            "seconds":5,
            "is_recorded":true,
            "pbx_call_id":"in_ae6b03b3b0765d127ec0b739209346bbc4f0d52d"
        },
        …
    ]
}

Parametri

  • start - data di inizio della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • end - data di fine della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • version - formato di visualizzazione delle statistiche (2 - nuovo, 1 - vecchio);
  • skip (opzionale) - numero di righe da saltare nella selezione, la visualizzazione inizia dalla riga skip + 1 (Utilizzato per la paginazione insieme al parametro limit, valore predefinito 0);
  • limit (opzionale) - limite al numero di righe restituite (viene utilizzato per la paginazione insieme al parametro skip, valore massimo 1000, valore predefinito 1000);
  • call_type (opzionale) - direzione delle chiamate ('in' per le chiamate in entrata, 'out' per le chiamate in uscita). Se non specificato, vengono visualizzate tutte le chiamate.

Dove:

  • start – data di inizio della visualizzazione delle statistiche;
  • end – data di fine della visualizzazione delle statistiche;
  • version - formato di visualizzazione delle statistiche (2 - nuovo, 1 - vecchio);
  • call_id – id univoco della chiamata, questo id è indicato nel nome del file con la registrazione della chiamata (univoco per ogni registrazione nelle statistiche);
  • sip – numero SIP;
  • callstart – ora di inizio della chiamata;
  • clid – CallerID;
  • destination – numero di destinazione;
  • destination – dove è stata effettuata la chiamata;
  • disposition – stato della chiamata:
    • ‘answered’ – conversazione,
    • ‘busy’ – occupato,
    • ‘cancel’ - annullata,
    • ‘no answer’ - nessuna risposta,
    • ‘call failed’ - non riuscito,
    • ‘no money’ - fondi insufficienti, limite superato,
    • ‘unallocated number’ - numero inesistente,
    • ‘no limit’ - limite superato,
    • ‘no day limit’ - limite giornaliero superato,
    • ‘line limit’ - limite linee superato,
    • ‘no money, no limit’ - limite superato;
  • seconds – durata della chiamata in secondi;
  • is_recorded – (true, false) chiamata registrata o meno;
  • pbx_call_id – ID permanente della chiamata esterna su centralino (non cambia durante l'esecuzione di scenari, menu vocali, transfer, ecc., viene visualizzato nelle statistiche e nelle notifiche);

get /v1/statistics/callback_widget/

statistiche relative al widget di richiamata

                                    {
    "status":"success",
    "start":"2016-09-01 00:00:00",
    "end":"2016-09-30 23:59:59",
    "stats":[
        {
            "id":"57d16d6a1e46c53d1f8ce323",
            "widget_id":"1",
            "sip":"00001",
            "ip":"127.0.0.1",
            "actions":[
                {
                    "kind":"come",
                    "date":"2016-09-08 16:53:45",
                    "referrer_url":"http://test.domain.com/page1/",
                    "url":"http://home.domain.com/page2/"
                },
                {
                    "kind":"show",
                    "date":"2016-09-08 16:53:46",
                    "rate":15
                },
                {
                    "kind":"call_request",
                    "date":"2016-09-08 16:54:07",
                    "number":"442037691880",
                    "request_call_date":"2016-09-09 10:00:00",
                    "redial":"n"
                },
                {
                    "kind":"close",
                    "date":"2016-09-08 16:54:35"
                }
            ]
        },
        ...
    ]
}

Parametri

  • start - data di inizio della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • end - data di fine visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • widget_id - (opzionale) - identificativo del widget, in assenza di questo parametro vengono prese in considerazione le statistiche di tutti i widget;

Il periodo massimo per ottenere le statistiche è di un mese. Se nella richiesta viene superato il limite, il periodo viene automaticamente ridotto a 30 giorni. Se non viene specificata la data di inizio del campione, viene selezionato l'inizio del mese corrente. Se non viene specificata la data di fine del campione, il campione è limitato alla data e all'ora correnti.

Il numero massimo di righe visualizzabili per una singola richiesta è - 1000. Per la paginazione, utilizzare i parametri skip e limit.

Dove:

  • start – data di inizio della visualizzazione delle statistiche;
  • end – data di fine della visualizzazione delle statistiche;
  • id – id sessione;
  • widget_id – id widget;
  • sip – Numero SIP;
  • ip – indirizzo IP del visitatore;
  • kind – tipo di evento:
    • 'come' – il visitatore è arrivato alla pagina con il widget,
    • 'show' – è stato mostrato il modulo del widget,
    • 'call' – richiesta di richiamata,
    • 'call_request' – richiesta di richiamata posticipata;
    • 'rate' – il visitatore ha valutato la chiamata;
    • 'fail' – il visitatore ha segnalato che non ha ricevuto la richiamata;
    • 'close' – il visitatore ha chiuso il modulo del widget;
  • date – data e ora dell'evento;
  • referrer_url – indirizzo della pagina da cui il visitatore è passato alla pagina con il widget (solo per l'evento ‘come’);
  • url – indirizzo della pagina del widget (solo per l'evento ‘come’);
  • rate – per l'evento “show” – numero di punti ottenuti, per l'evento “rate” – valutazione della chiamata;
  • request_call_date – data e ora indicate dal visitatore come convenienti per la richiamata (solo per l'evento “call_request”);
  • redial – (true, false) richiamata effettuata o meno in risposta alla richiesta di richiamata posticipata (solo per l'evento ‘call_request’);
  • number – numero inserito dal visitatore (per gli eventi ‘call’, ‘call_request’, ‘rate’, ‘fail’).

get /v1/statistics/incoming-calls/

ottenere statistiche generali sulle chiamate in entrata

                                    {
    "status":"success",
    "start":"2015-06-01 00:00:00",
    "end":"2015-06-29 13:45:23",
    "stats":[
        {
            "id":"155112249",
            "sip":"00001",
            "callstart":"2015-06-02 12:20:25",
            "from":442037691880,
            "to":442037691881,
            "billseconds":0,
            "disposition":"busy",
            "description":"United Kingdom, London"
        },
        …
    ]
}

Parametri

  • start - data di inizio della visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • end - data di fine visualizzazione delle statistiche (formato - AAAA-MM-GG HH:MM:SS);
  • sip (opzionale) - filtro per numero SIP specifico;
  • skip (opzionale – non viene considerato se è impostato il parametro cost_only) - numero di righe da saltare nella selezione, la visualizzazione inizia dalla riga skip + 1 (viene utilizzato per la paginazione insieme al parametro limit, il valore predefinito è 0);
  • limit (opzionale – non viene considerato se è impostato il parametro cost_only) - limite al numero di righe restituite (viene utilizzato per la paginazione insieme al parametro skip, valore massimo 1000, valore predefinito1000).

Il periodo massimo per ottenere le statistiche è di un mese. Se nella richiesta viene superato il limite, il periodo viene automaticamente ridotto a 30 giorni. Se non viene specificata la data di inizio del campione, viene selezionato l'inizio del mese corrente. Se non viene specificata la data di fine del campione, il campione è limitato alla data e all'ora correnti.

Il numero massimo di righe visualizzabili per una singola richiesta è - 1000. Per la paginazione, utilizzare i parametri skip e limit.

Dove:

  • start – data di inizio della visualizzazione delle statistiche;
  • end – data di fine della visualizzazione delle statistiche;
  • id – id della chiamata;
  • sip – Numero SIP;
  • callstart – ora di inizio della chiamata;
  • from – numero di origine;
  • to – numero di destinazione;
  • billseconds – numero di secondi della chiamata;
  • disposition – stato della chiamata:
    • 'answered' – conversazione,
    • 'busy' – occupato,
    • 'cancel' - annullata,
    • 'no answer' - senza risposta,
    • 'call failed' - non riuscita,
    • 'no money' - fondi insufficienti, limite superato,
    • 'unallocated number' - numero inesistente,
    • 'no limit' - limite superato,
    • 'no day limit' - limite giornaliero superato,
    • 'line limit' - Limite delle linee superato,
    • 'no money, no limit' - limite superato;
  • description – descrizione della direzione della chiamata.

Centralino

post /v1/pbx/redirection/

modifica dei parametri di inoltro sul numero interno del centralino

                                    {
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"442037691880",
    "condition":"noanswer"
}

Parametri

Per attivare e configurare l'inoltro delle chiamate:

  • pbx_number – numero interno del centralino, ad esempio 100;
  • status – on;
  • type – tipo di inoltro: phone, voicemail, menu, sip oppure sip_uri;
  • destination – telefono, e-mail, identificativo del menu vocale o dello scenario di chiamata, il tuo SIP o numero interno di centralino o indirizzo del server esterno in formato SIP URI a seconda del tipo di inoltro selezionato nel parametro type precedente;
  • condition – condizione di inoltro, valori possibili: always o noanswer;
  • voicemail_greeting – avviso di inoltro, valori possibili: no, standart, own. Specificato solo se type = voicemail;
  • greeting_file – file con avviso in formato mp3 o wav fino a 5 MB. Da specificare solo se type = voicemail e voicemail_greeting = own;

Per disattivare l'inoltro:

  • pbx_number – numero interno del centralino, ad esempio 100;
  • status – off;

get /v1/pbx/redirection/

ottenimento dei parametri di inoltro sul numero interno del centralino

                                    {
    "status":"success",
    "current_status":"on",
    "pbx_id":"1234",
    "pbx_name":"100",
    "type":"phone",
    "destination":"442037691880",
    "condition":"noanswer",
}

Parametri

  • pbx_number – numero interno del centralino, ad esempio 100;

get /v1/pbx/record/request/

richiesta del file di registrazione della chiamata

Parametri

  • call_id – ID univoco della chiamata, indicato nel nome del file con la registrazione della chiamata (univoco per ogni registrazione nelle statistiche);
  • pbx_call_id – ID permanente della chiamata esterna sul centralino (non cambia durante l'esecuzione di scenari, menu vocali, transfer, ecc., viene visualizzato nelle statistiche e nelle notifiche);
  • lifetime – (opzionale) durata del link in secondi (minimo 180, massimo 5184000, predefinito 1800).

Nota: è sufficiente indicare uno dei due parametri di identificazione (pbx_call_id o call_id), se viene indicato il pbx_call_id, la risposta alla richiesta può contenere più link.

Esempio di risposta quando è specificato solo call_id, con un solo link:

(Esempio 1)

                                    Esempio 1:
{ "status":"success", "link": "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3", "lifetime_till": "2016-01-01 23:56:22" }

Esempio di risposta quando è specificato solo pbx_call_id, possono esserci più link:

(Esempio 2)

                                    Esempio 2:
{ "status":"success", "links":[ "https://api.zadarma.com/v1/pbx/record/download/NjM3M..NzM2Mg/1-1458313316.343456-100-2016-01-11-100155.mp3", "https://api.zadarma.com/v1/pbx/record/download/pw7Cj..iOzn99/1-1458313475.213487-101-2016-01-11-100211.mp3" ], "lifetime_till": "2016-01-01 23:56:22" }

Parametri:

  • link – link al file della chiamata;
  • lifetime_till – fino a quando il link sarà attivo.

delete /v1/pbx/record/request/

eliminazione del file di registrazione della chiamata

Parametri

  • call_id – id univoco della chiamata, indicato nel nome del file con la registrazione della chiamata (univoco per ogni registrazione nelle statistiche);
  • pbx_call_id – ID permanente della chiamata esterna sul centralino (non cambia durante l’esecuzione degli scenari, del menu vocale, dei trasferimenti, ecc., viene visualizzato nelle statistiche e nelle notifiche).

Nota: è sufficiente specificare uno dei due parametri di identificazione (pbx_call_id o call_id); specificando pbx_call_id è possibile eliminare più file di registrazione.

Esempio di risposta quando è specificato solo call_id, un file è stato eliminato:

(Esempio 1)

                                    Esempio 1:
{ "status":"success", "file_name": "filename.mp3" }

Esempio di risposta quando è specificato solo pbx_call_id, è possibile che vengano eliminati più file:

(Esempio 2)

                                    Esempio 2:
{ "status":"success", "deleted_files":[ "filename1.mp3", "filename2.mp3" ] }

Parametri:

  • file_name – nome del file eliminato;
  • deleted_files – elenco dei file eliminati;
  • failed_files – elenco dei file che non è stato possibile eliminare.

post /v1/pbx/waitmelody/upload

caricamento della melodia al posto dei toni di chiamata

Parametri

  • file - il file stesso

put /v1/pbx/waitmelody/switch

att/disatt la melodia per il centralino

Parametri

  • state - stato (on - att, off - disatt);
  • melody - tipo di melodia (none - nessuna melodia predefinita, mymelody - melodia precedentemente caricata dall'utente)

delete /v1/pbx/waitmelody/delete

eliminazione della melodia al posto dei toni

get /v1/pbx/callinfo/

ottenere le impostazioni del centralino call info

                                    {
    "status": "success",
    "url": "",
    "notifications": {
        "notify_start": "true",
        "notify_internal": "false",
        "notify_end": "true",
        "notify_out_start": "false",
        "notify_out_end": "false",
        "notify_answer": "false"
    }
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/pbx/callinfo/url/

modifica dell'url per centralino call info

                                    {
    "status": "success",
    "url": ""
}

Parametri:

  • url - link al tuo script, con codice di verifica <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?> all'inizio dello script;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/pbx/callinfo/notifications/

attivazione o disattivazione delle notifiche webhook NOTIFY_* per centralino call info

                                    {
    "status": "success",
    "notifications": {
        "notify_start": "true",
        "notify_internal": "false",
        "notify_end": "true",
        "notify_out_start": "false",
        "notify_out_end": "false",
        "notify_answer": "false"
    }
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • notify_start - “true” o “false” parametro opzionale;
  • notify_internal - “true” o “false” parametro opzionale;
  • notify_end - “true” o “false” parametro opzionale;
  • notify_out_start - “true” o “false” parametro opzionale;
  • notify_out_end - “true” o “false” parametro opzionale;
  • notify_answer - “true” o “false” parametro opzionale.

delete /v1/pbx/callinfo/url/

eliminazione url per centralino call info

                                    {
    "status": "success",
    "url": ""
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/pbx/create/

creazione del centralino

                                    {
    "status": "success",
    "stop_datetime": "2021-12-31 23:59:59"
}

Parametri:

  • sip_id - numero SIP per collegare il centralino; se non specificato, proverà a selezionare un SIP libero (parametro opzionale)
  • password - password per il primo numero del centralino ‘100’;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

get /v1/pbx/webhooks/

ottenere le impostazioni del centralino webhooks

                                    {
    "status": "success",
    "url": "",
    "hooks": {
        "number_lookup": "true",
        "call_tracking": "false",
        "sms": "true",
        "speech_recognition": "true"
    }
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/pbx/webhooks/url/

modifica dell'url per centralino webhooks

                                    {
    "status": "success",
    "url": ""
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • url - link al tuo script, con codice di verifica <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?> all'inizio dello script.

post /v1/pbx/webhooks/hooks/

attivazione o disattivazione di altre notifiche webhook (Aggiornamento contatti, Call tracking, SMS e Analisi vocale)

                                    {
    "status": "success",
    "hooks": {
        "number_lookup": "true",
        "call_tracking": "false",
        "sms": "true",
        "speech_recognition": "true"
    }
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • number_lookup - “true” o “false” parametro opzionale;
  • call_tracking - “true” o “false” parametro opzionale;
  • sms - “true” o “false” parametro opzionale;
  • speech_recognition - “true” o “false” parametro opzionale.

delete /v1/pbx/webhooks/url/

eliminazione dell'url per altre notifiche (aggiornamento dei contatti, call tracking, SMS e analisi vocale)

                                    {
    "status": "success",
    "url": ""
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Centralino (numeri interni)

get /v1/pbx/internal/

visualizzazione dei numeri interni del centralino

                                    {
    "status":"success",
    "pbx_id":1234,
    "numbers": [
        100,
        101,
        ...
    ]
}

Dove:

  • pbx_id – id utente del centralino;
  • numbers – elenco dei numeri interni.

get /v1/pbx/internal/<PBXSIP>/status/

stato online del numero interno del centralino

                                    {
    "status":"success",
    "pbx_id":1234,
    "number":100,
    "is_online":"false"
}

Dove:

  • pbx_id – id del centralino;
  • number – numero interno del centralino;
  • is_online – stato online (true|false).

get /v1/pbx/internal/<PBXSIP>/info/

informazioni sul numero interno del centralino

                                    {
    "status": "success",
    "pbx_id": 12345,
    "number": 100,
    "name": "Extension 100",
    "caller_id": "+44000000000",
    "caller_id_app_change": "true",
    "caller_id_by_direction": "false",
    "lines": "3",
    "ip_restriction": "1.1.1.1",
    "record_store": "For automatic speech recognition",
    "record_email": "email@server.com",
    "supervisor_status": 1
}

dove:

  • pbx_id – id del centralino;
  • number – numero interno del centralino;
  • name – nome visualizzato;
  • caller_id – CallerID;
  • caller_id_app_change – modifica del CallerID dall'applicazione (true|false);
  • caller_id_by_direction – CallerID in base alla direzione (true|false);
  • lines – numero di linee;
  • ip_restriction – limitazione dell'accesso tramite IP (false se non specificato);
  • record_store – registrazione delle chiamate nel cloud (Without recognition|For manual recognition|For automatic speech recognition|false);
  • record_email – email per l'invio delle registrazioni delle chiamate (false se non attivato);
  • supervisor_status – stato del supervisore, 0 - disattivato, 1 - attivato.

put /v1/pbx/internal/recording/

attivazione della registrazione delle chiamate sul numero interno del centralino

                                    {
    "status":"success",
    "internal_number":100,
    "recording":"on",
    "email":"test@test.com",
    "speech_recognition":"all"
}

Parametri

  • id – numero interno del centralino;
  • status – stato: “on” - attivare, “off” - disattivare, “on_email” - attivare solo la registrazione su posta elettronica, “off_email” - disattivare solo la registrazione su posta elettronica, “on_store” - attivare solo la registrazione nell'archivio, “off_store” - disattivare solo la registrazione nell'archivio;
  • email – (opzionale) modifica dell'indirizzo e-mail a cui saranno inviate le registrazioni delle chiamate. È possibile specificare fino a 3 indirizzi e-mail separati da virgola;
  • speech_recognition – (opzionale) modifica delle impostazioni di riconoscimento vocale: “all” - riconoscere tutto, ‘optional’ - riconoscere in modo selettivo nelle statistiche, “off” - disattivare.

post /v1/pbx/internal/create/

creazione di un numero di centralino

                                    {
    "status": "success",
    "numbers": [
        {
            "number": 200,
            "password": "PASSWORD"
        },
        {
            "number": 201,
            "password": "PASSWORD"
        }
    ]
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • start_number - numero da cui iniziare la creazione 100 ...999 o “any” per iniziare con il primo numero disponibile nell'intervallo 100-999;
  • quantity - numero di numeri interni del centralino da creare;
  • return_password - parametro opzionale, se ‘true’ nella risposta saranno presenti le password per i numeri appena creati.

get /v1/pbx/internal/<SIP>/password/

richiesta della password del numero interno del centralino, la password è disponibile per la visualizzazione per un periodo di tempo limitato

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Esempio di risposta:

                                    {
    "status": "success",
    "pbx_id": 114,
    "number": 200,
    "password": "PASSWORD"
}

dove

  • password - può assumere il valore hidden se la password non è visibile.

put /v1/pbx/internal/<SIP>/password/

cambio password sul numero interno

                                    {
    "status": "success",
    "pbx_id": 114,
    "number": 200
}

Parametri:

  • value - nuova password;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

put /v1/pbx/internal/<SIP>/edit/

attivazione della modalità supervisore sul numero interno del centralino

Parametri

  • supervisor_status - stato del supervisore, 0 - disattivato, 1 - attivato;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Centralino (IVR)

get /v1/pbx/ivr/sounds/list

elenco dei file già caricati per il saluto vocale (IVR)

post /v1/pbx/ivr/sounds/upload

caricamento del file

Parametri:

  • name - nome del file,
  • file - il file stesso.

delete /v1/pbx/ivr/sounds/delete

eliminazione del file tramite ID

Parametri:

  • id - identificativo del file

get /v1/pbx/ivr/

elenco IVR

                                    {
    "status": "success",
    "pbx_id": 114,
    "ivrs": [
        {
            "menu_id": "0",
            "title": "",
            "type": "file",
            "status": "on",
            "waitexten": 5,
            "auto_responder": {
                "status": "on",
                "waitexten": 1,
                "working_days": [
                    {
                        "day": "mon",
                        "is_active": true,
                        "begin": {
                            "hour": 9,
                            "minute": 0
                        },
                        "end": {
                            "hour": 18,
                            "minute": 0
                        }
                    },
                    {
                        "day": "tue",
                        "is_active": true,
                        "begin": {
                            "hour": 9,
                            "minute": 0
                        },
                        "end": {
                            "hour": 18,
                            "minute": 0
                        }
                    },
                    ...
                    {
                        "day": "sun",
                        "is_active": false
                    }
                ]
            },
            "dinner_status": "on",
            "dinner_time": {
                "begin": {
                    "hour": 12,
                    "minute": 0
                },
                "end": {
                    "hour": 13,
                    "minute": 0
                }
            }
        },
        {
            "menu_id": "1",
            "title": "Menu 1",
            "type": "readtext",
            "status": "off",
            "waitexten": 5,
            "auto_responder": {
                "status": "off",
                "waitexten": 1
            }
        },
        ...
    ]
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/pbx/ivr/create/

creare IVR

                                    {
    "status": "success",
    "menu_id": 2
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • buy - ‘true’ - creazione menu a pagamento.

delete /v1/pbx/ivr/delete/

eliminazione IVR

                                    {
    "status": "success"
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • menu_id - deve essere > 0.

get /v1/pbx/ivr/scenario/

elenco degli scenari IVR

                                    {
    "status": "success",
    "scenarios": [
        {
            "id": "132",
            "title": "-1",
            "push_button": -1,
            "first_sips": [
                "102"
            ],
            "second_sips": [],
            "second_sips_delay": 10,
            "third_sips": [],
            "third_sips_delay": 20
        },
        ...
    ]
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • menu_id - ID menu/IVR.

post /v1/pbx/ivr/scenario/create/

creazione di uno scenario IVR

                                    {
    "status": "success",
    "menu_id": 0,
    "scenario_id": 2
}

Parametri:

  • push_button - attivazione dello scenario quando si preme il pulsante: se l'utente non preme il pulsante, lo scenario si attiva senza premere, 0-9 - pulsanti, 10 - segreteria telefonica, 11-30 - scenari aggiuntivi;
  • title - nome;
  • extension - numero interno, o numeri separati da uno spazio, o “fax”;
  • menu_id - ID menu/IVR;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • trigger_to_did_ext_lines - parametro opzionale. Indica su quali numeri viene attivato lo scenario durante le chiamate. Può contenere un numero o un elenco di numeri separati da uno spazio;
  • trigger_from_clid_numbers - parametro opzionale. Indica da quali numeri viene attivato lo scenario quando si effettuano chiamate. Può contenere un numero o un elenco di numeri separati da uno spazio.

put /v1/pbx/ivr/scenario/edit/

modifica dello scenario IVR

Corpo della richiesta PUT:

(Esempio 1)

                                    Esempio 1:
[ "id": "630cb6b3dc666e947503a77a", "title": "Scenario 1", "queue_strategy": "off", "queue_announce_position": 0, "numbers": [ [ "number": 100, "delay": 0, "duration": 20 ], [ "number": 101, "delay": 20, "duration": 20 ], [ "number": 102, "delay": 40, "duration": 20 ], ] ]

Descrizione:

  • id - ID dello scenario;
  • title - titolo;
  • queue_strategy - strategia di distribuzione delle chiamate ai numeri interni in coda (off, random, roundrobin, leastrecent, rrmemory, fewestcalls)
  • queue_announce_position - comunicare il numero nella coda
  • numbers - array di numeri interni
    • parametri di ritardo e durata della chiamata al numero interno:
  • number - numero interno o “fax”;
    • delay - ritardo della chiamata in secondi
    • duration - durata della chiamata in secondi

Descrizione delle strategie di distribuzione delle chiamate ai numeri interni in coda:

  • off - coda disattivata
  • random - distribuzione casuale
  • roundrobin - distribuzione uniforme, dare priorità a chi non parla da tempo, considerare tutte le chiamate
  • leastrecent - distribuzione uniforme, dare priorità a chi non ha parlato da tempo, considerare solo le chiamate risposte
  • rrmemory - distribuzione uniforme, dare priorità a chi ha parlato meno, considerare tutte le chiamate
  • fewestcalls - distribuire uniformemente, dare priorità a chi ha parlato meno, considerare solo le chiamate ricevute

I parametri di ritardo e durata delle chiamate ai numeri interni vengono utilizzati solo con la coda disattivata (queue_strategy : "off").

Risposta: (Esempio 2)

                                    Esempio 2:
{"status": "success"}

Errore: (Esempio 3)

                                    Esempio 3:
{"status": "error","message": "Wrong parameters!"}

delete /v1/pbx/ivr/scenario/delete/

eliminazione dello scenario IVR

                                    {
    "status": "success"
}

Parametri:

  • scenario_id - ID dello scenario;
  • user_id - parametro facoltativo, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Riconoscimento vocale

get /v1/speech_recognition/

ottenimento dei risultati del riconoscimento

                                    {        
    "status":"success",
    "lang":"en-EN",
    "recognitionStatus":"in progress",
    "otherLangs":["es-ES"],
    "words": [
        {
            "result": [
                {
                    "s": 0.02,
                    "e": 0.22,
                    "w": "word",
                },
                {
                    "s": 0.31,
                    "e": 0.56,
                    "w": "one",
                }
            ],
            "channel": 1
        }
    ],
    "phrases":[
        {
            "result": "word one",
            "channel": 1
        }
    ]
}

Parametri

  • call_id - ID univoco della chiamata, indicato nel nome del file con la registrazione della chiamata (univoco per ogni registrazione nelle statistiche);
  • lang - lingua di riconoscimento (non obbligatorio);
  • return - risultato restituito. Opzioni: words - parole, phrases - frasi. (non obbligatorio. Impostazione predefinita: phrases);
  • alternatives - se restituire opzioni alternative. Opzioni: 0 - no, 1 - sì. (non obbligatorio. Impostazione predefinita: 0).

Parametri di risposta:

  • lang – lingua;
  • recognitionStatus: - stato del riconoscimento. Opzioni:
    • in progress - in corso di riconoscimento,
    • error - si è verificato un errore durante il riconoscimento,
    • recognized - riconosciuto
    • ready for recognize - registrazione pronta per il riconoscimento,
    • not available for recognize - registrazione non disponibile per il riconoscimento.
  • result:
    • words - array:
      • result - elenco di parole (array):
        • s - ora di inizio della parola
        • e - ora di fine della parola
        • w - parola
      • channel - numero del canale
    • phrases - array:
      • result - frase

put /v1/speech_recognition/

L’attivazione del riconoscimento delle chiamate nelle statistiche del centralino richiede che il riconoscimento selettivo sia stato attivato in precedenza nelle impostazioni del numero interno.

                                    {
    "status":"success"
}

Parametri

  • call_id – id univoco della chiamata, indicato nel nome del file con la registrazione della chiamata (univoco per ogni registrazione nelle statistiche);
  • lang - lingua di riconoscimento (non obbligatorio).

Numeri virtuali

get /v1/direct_numbers/

informazioni sui numeri virtuali dell'utente

                                    {
    "status":"success",
    "info": [
        {
            "number":"442030000000",
            "status":"on",
            "country":"United Kingdom",
            "description":"London",
            "number_name":null,
            "sip":00001,
            "sip_name":null,
            "start_date":"2015-01-01 18:14:44",
            "stop_date":"2016-02-11 18:14:40",
            "monthly_fee":2,
            "currency":USD,
            "channels":2,
            "autorenew":"true",
            "is_on_test":"false",
            "type":"common"
        },
    ...
    ]
}

Parametri

A seconda del tipo di numero, l'insieme dei campi può variare! Descrizione dei campi:

  • number – numero virtuale acquistato dall'utente;
  • status – stato del numero;
    • on - numero attivo;
    • parking - numero disattivato (mancato pagamento), ma conservato sull'account per 7 giorni e ripristinabile dopo il ricaricamento del conto;
    • checking - numero ordinato, pagato, tutti i documenti necessari caricati, in attesa di attivazione;
    • checking_upload - numero ordinato, pagato, in attesa del caricamento dei documenti necessari;
    • reserved_on - numero riservato fino al pagamento;
    • reserved_checking - numero riservato fino al pagamento, tutti i documenti necessari sono stati caricati;
    • reserved_checking_upload - numero riservato fino al pagamento, in attesa del caricamento dei documenti;
  • country – Paese;
  • description – descrizione: città;
  • number_name – “nome” del numero virtuale (impostato dall'utente);
  • sip – SIP associato al numero;
  • sip_name – “nome” del SIP associato al numero;
  • start_date – data di acquisto del numero da parte dell'utente;
  • stop_date – data di scadenza del pagamento del numero da parte dell'utente;
  • monthly_fee – costo del numero (per common);
  • currency – valuta del costo del numero (per common);
  • channels – numero di linee sul numero (per common);
  • minutes – durata totale delle chiamate in entrata per il mese corrente (per revenue);
  • autorenew – se è attivato il rinnovo automatico del numero;
  • is_on_test – se il numero è in fase di test;
  • type – tipo di numero: comune (numero virtuale), ordine (numero ordinato ma non attivato)

get /v1/direct_numbers/number/

informazioni sul numero acquistato

                                    {
    "status": "success",
    "info": {
    "number": "35924913550",
        "status": "on",
        "country": "Bulgaria",
        "description": "Sofia",
        "number_name": "TT",
        "sip": "00004",
        "sip_name": "SIP",
        "start_date": "2016-06-08 14:32:17",
        "stop_date": "2016-06-29 10:52:18",
        "monthly_fee": 2,
        "currency": "USD",
        "channels": "2",
        "autorenew": "true",
        "receive_sms": null,
        "is_on_test": "false"
    }
}

Parametri

  • number - numero.

get /v1/direct_numbers/autoprolongation/

stato di rinnovo automatico

                                    {
    "status": "success",
    "number": "35924913550",
    "autoprolongation": "on"
}

Parametri

  • number - numero.

get /v1/direct_numbers/checking-wrongs/

ricezione di informazioni relative al documento o errore di verifica dell'indirizzo

                                    {
   "status":"success",
   "info":{
      "wrong_document":{
         "document_type":"contract",
         "message":"The passport has expired. It is considered invalid."
      },
      "wrong_address":{
         "message":"Invalid address"
      }
   }
}

Parametri

  • group_id - id del gruppo di documenti.

put /v1/direct_numbers/autoprolongation/

modificare lo stato del rinnovo automatico

                                    {
    "status": "success",
    "number": "35924913550",
    "autoprolongation": "off"
}

Parametri

  • number - numero;
  • value - nuovo stato di rinnovo automatico, on o off.

get /v1/direct_numbers/countries/

elenco dei Paesi in cui è possibile collegare il numero

                                    {
    "status": "success",
    "info": [
        {
            "countryCode": "61",
            "countryCodeIso": "AU",
            "name": "Australia"
        },
        ...
    ]
}

Parametri

  • language - opzionale, se non specificato verrà visualizzato nella lingua dell'area personale.

get /v1/direct_numbers/country/

elenco delle destinazioni nel Paese in cui è possibile collegare il numero

                                    {
    "status": "success",
    "info": [
        {
            "id": "3753",
            "countryCode": "49",
            "areaCode": "800",
            "name": "800 number (Toll-free)",
            "connect_fee": 0,
            "monthly_fee": 15,
            "currency": "USD",
            "restrictions": {
                "upload": [
                    "Certificate of registration copy or passport or ID copy (both sides)",
                    "Proof of address (a copy of utility bill no older than of 6 months) - 
                    your current address (city, street, number and postal code). 
                    The address must be located in the country of ordered phone number"
                ]
            },
            "receive_sms": "false",
            "is_toll": "true",
            "feature": "Available from all networks"
            "connect_time": "0"
        },
        {
            "id": "3766",
            "countryCode": "49",
            "areaCode": "821",
            "name": "Augsburg",
            "connect_fee": 3,
            "monthly_fee": 3,
            "currency": "USD",
            "restrictions": {
                "upload": [
                    "Passport or ID copy (both sides)"
                ],
                "specify": [
                    "You current address (city, street, number and postal code). 
                    The address must be located in the region of the city 
                    where you ordered the phone number"
                ]
            },
            "receive_sms": "false",
            "is_toll": "false",
            "feature": null,
            "connect_time": "0"
        },
        ...
    ]
}

Parametri

  • language - opzionale, se non specificato verrà visualizzato nella lingua dell'area personale;
  • country - codice ISO del Paese (ISO 3166-1 alpha-2);
  • direction_id - parametro opzionale, ricezione dei dati relativi a una direzione specifica nel Paese.

put /v1/direct_numbers/set_caller_name/

Impostazione del Nome del Numero (alfabeto latino e numeri, fino a 30 caratteri)

                                    {
    "status": "success",
    "number": "+44000000000",
    "caller_name": "test"
}

Parametri

  • number - numero;
  • caller_name - Per eliminare - basta inviare un campo vuoto.

put /v1/direct_numbers/set_sip_id/

collegamento del numero al sip o attivazione della modalità di prova

                                    {
    "status": "success",
    "number": "+44000000000",
    "sip_id": "00001"
}

Parametri

  • number - numero;
  • sip_id - sip numero o indirizzo del server esterno (SIP URI);
  • test_mode - opzionale, (on|off) - per attivare la modalità test.

get /v1/direct_numbers/available/<DIRECTION_ID>/

numeri disponibili per l'ordine

                                    {
    'status': 'success',
    'numbers': [
        {
            'id': 1712p0D1643D0t42r198658,
            'direction_id': 13755,
            'number': '+44000000001'
        },
        {
            'id': 184bdf85006c3f1676be200,
            'direction_id': 13755,
            'number': '+44000000000'
        },
        ...
    ]
}

Parametri:

  • DIRECTION_ID - ID della direzione;
  • mask - parametro opzionale, per la ricerca di corrispondenze in base ai numeri.

post /v1/direct_numbers/order/

Ordine/acquisto di un numero

                                    {
    'status': 'success',
    'number': '+44000000000',
    'is_reserved': 'false',
    'is_activated': 'true'
}

Parametri:

  • number_id - ID del numero richiesto, ottenuto con il metodo GET /v1/direct_numbers/available/<DIRECTION_ID>/ ad esempio: 1712p0D1643D0t42r198658 (se non è disponibile alcuna selezione di numeri, il parametro non viene utilizzato);
  • direction_id - ID della direzione/città;
  • documents_group_id - ID del gruppo di documenti dell'utente;
  • purpose - descrizione testuale della finalità di utilizzo del numero (solo se richiesto);
  • receive_sms - 1 - attivazione della ricezione di SMS (solo se il numero supporta la ricezione di SMS);
  • period - ‘month’ - un mese, ‘3month’ - tre mesi (parametro facoltativo, la ricezione di SMS viene attivata sui numeri attivati per un minimo di 3 mesi);
  • autorenew_period - parametro facoltativo, periodo di rinnovo (year, month), da cui dipende il canone di abbonamento per il numero, per impostazione predefinita month;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

post /v1/direct_numbers/prolong/

pagamento anticipato del numero per il numero di mesi indicato

                                    {
    'status': 'success',
    'number': '+44000000000',
    'stop_date': '2021-05-01 12:00:00',
    'total_paid': {
        'amount': 2,
        'currency': 'USD'
    }
}

Parametri:

  • number - numero rinnovabile;
  • months - numero di mesi;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

put /v1/direct_numbers/receive_sms/

attivazione della ricezione SMS (solo se il numero supporta la ricezione SMS)

                                    {
    "status": "success", 
    "number": "", 
    "receive_sms": "on"
}

Parametri:

  • number – numero;
  • value – valore (può essere “on” o “off”);
  • documents_group_id – parametro opzionale, ID del gruppo di documenti dell'account;
  • user_id – parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

get /v1/direct_numbers/incoming_channels/

ottenere informazioni sulla possibilità di aumentare i canali in entrata su un numero virtuale

                                    {
    "status": "success"
}

Parametri

Uno dei parametri è obbligatorio

  • direction_id – ID della direzione/città;
  • number – numero.


Opzionale

  • currency – costo nella valuta desiderata;
  • user_id – disponibile solo per i rivenditori e solo per gli utenti da loro creati.

put /v1/direct_numbers/incoming_channels/

aumento del numero di linee

                                    {
    "status": "success"
}

Parametri

  • number – numero;
  • channels – numero di canali;
  • user_id – parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

Gruppi di documenti

get /v1/documents/files

elenco dei file/documenti nel gruppo di documenti

                                    {
    "status": "success",
    "documents": [
        {
            "type": "passport",
            "is_verified": "true",
            "source": "upload",
            "name": "file1.jpg"
        },
        {
            "type": "receipt",
            "is_verified": "false",
            "source": "upload",
            "name": "file2.jpg"
        }
    ]
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • group_id - parametro opzionale, ID del gruppo di documenti (0 o non specificato - gruppo principale di documenti).

get /v1/documents/groups/list/

elenco dei gruppi di documenti

                                    {
    "status": "success",
    "groups": [
        {
            "id": 0,
            "email": "email@server.com",
            "salutation": 'MR',
            "nationality": null,
            "first_name": "John",
            "middle_name": "Richard",
            "last_name": "Smith",
            "organization": "Company",
            "organization_description": null,
            "organization_reg_number": null,
            "country": "DE",
            "region": "",
            "city": "Berlin",
            "address": "Brudden Strasse 8, 76611",
            "zip_code": '76611',
            "street": 'Brudden Strasse',
            "street_code": null,
            "municipality_code": null,
            "building_number": "8",
            "building_letter": null,
            "phone": "4900000000",
            "type_of_id": "",
            "id_number": "123000099",
            "issuing_authority": null,
            "issuing_date": null,
            "is_readonly": true
        }
    ]
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

get /v1/documents/groups/get/<ID>/

dati relativi a un gruppo specifico

                                    {
    "status": "success",
    "group": {
        "id": 0,
        "email": "email@server.com",
        "salutation": 'MR',
        "nationality": null,
        "first_name": "John",
        "middle_name": "Richard",
        "last_name": "Smith",
        "organization": "Company",
        "organization_description": null,
        "organization_reg_number": null,
        "country": "DE",
        "region": "",
        "city": "Berlin",
        "address": "Brudden Strasse 8, 76611",
        "zip_code": '76611',
        "street": 'Brudden Strasse',
        "street_code": null,
        "municipality_code": null,
        "building_number": "8",
        "building_letter": null,
        "phone": "4900000000",
        "type_of_id": "",
        "id_number": "123000099",
        "issuing_authority": null,
        "issuing_date": null,
        "is_readonly": true
    }            
}

Parametri:

  • ID - ID del gruppo, 0 - gruppo principale di documenti;
  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

get /v1/documents/groups/valid/<ID>/

verifica: se il gruppo di documenti è valido per una città o destinazione specifica

                                    {
    "status": "success",
    "is_information_match": "true",
    "is_documents_uploaded": "true",
    "is_documents_verified": "true",
    "is_address_match": "true"
}

Parametri:

  • ID - ID del gruppo, 0 - gruppo principale di documenti;
  • user_id - parametro opzionale, disponibile solo per i concessionari e solo per gli utenti da loro creati;
  • direction_id - ID della direzione/città.

post /v1/documents/groups/create/

creazione di un nuovo gruppo di documenti

                                    {
    "status": "success",
    "group": {
        "id": 0,
        "email": "email@server.com",
        "salutation": 'MR',
        "nationality": null,
        "first_name": "John",
        "middle_name": "Richard",
        "last_name": "Smith",
        "organization": "Company",
        "organization_description": null,
        "organization_reg_number": null,
        "country": "DE",
        "region": "",
        "city": "Berlin",
        "address": "Brudden Strasse 8, 76611",
        "zip_code": '76611',
        "street": 'Brudden Strasse',
        "street_code": null,
        "municipality_code": null,
        "building_number": "8",
        "building_letter": null,
        "phone": "4900000000",
        "type_of_id": "",
        "id_number": "123000099",
        "issuing_authority": null,
        "issuing_date": null,
        "is_readonly": true
    }            
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • email - email;
  • salutation - saluto ‘MR’, ‘MS’, ‘COMPANY’;
  • nationality - nazionalità, codice Paese iso2;
  • first_name - nome;
  • middle_name - parametro opzionale, secondo nome;
  • last_name - cognome;
  • date_of_birth - parametro opzionale, data di nascita;
  • organization - parametro opzionale, nome della società/azienda;
  • organization_description - parametro opzionale, descrizione dell'attività dell'azienda;
  • organization_reg_number - parametro opzionale, numero di registrazione dell'azienda;
  • country - Paese, codice Paese iso2;
  • region - parametro facoltativo, area/regione;
  • city - città;
  • address - indirizzo completo;
  • zip_code - codice postale;
  • street - via;
  • street_code - parametro opzionale, codice della via, solo per la Danimarca;
  • municipality_code - parametro opzionale, codice del comune, solo per la Danimarca;
  • building_number - numero civico;
  • building_letter - parametro opzionale, lettera nel numero civico;
  • phone - numero di telefono di contatto;
  • type_of_id - parametro opzionale, tipo di documento: “PASSPORT”, “DNI”, “NIE”, “RESIDENCE_PERMIT”, ‘NATIONAL_ID_CARD’, “BUSINESS_REGISTRATION”;
  • id_number - parametro opzionale, numero del documento;
  • issuing_authority - parametro opzionale, chi ha rilasciato il documento;
  • issuing_date - parametro opzionale, data di rilascio del documento;
  • direction_id - parametro opzionale, ID della direzione/città per la verifica della conformità.

put /v1/documents/groups/update/<GROUPID>/

aggiornamento dei dati di un gruppo di documenti

                                    {
    "status": "success",
    "group": {
        "id": 0,
        "email": "email@server.com",
        "salutation": 'MR',
        "nationality": null,
        "first_name": "John",
        "middle_name": "Richard",
        "last_name": "Smith",
        "organization": "Company",
        "organization_description": null,
        "organization_reg_number": null,
        "country": "DE",
        "region": "",
        "city": "Berlin",
        "address": "Brudden Strasse 8, 76611",
        "zip_code": '76611',
        "street": 'Brudden Strasse',
        "street_code": null,
        "municipality_code": null,
        "building_number": "8",
        "building_letter": null,
        "phone": "4900000000",
        "type_of_id": "",
        "id_number": "123000099",
        "issuing_authority": null,
        "issuing_date": null,
        "is_readonly": true
    }            
}

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • email - email;
  • salutation - saluto ‘MR’, ‘MS’, ‘COMPANY’;
  • nationality - nazionalità, codice Paese iso2;
  • first_name - nome;
  • middle_name - parametro opzionale, secondo nome;
  • last_name - cognome;
  • date_of_birth - parametro opzionale, data di nascita;
  • organization - parametro opzionale, nome della società/azienda;
  • organization_description - parametro opzionale, descrizione dell'attività della società;
  • organization_reg_number - parametro opzionale, numero di registrazione della società;
  • country - Paese, codice Paese iso2;
  • region - parametro opzionale, area/regione;
  • city - città;
  • address - indirizzo completo;
  • zip_code - codice postale;
  • street - via;
  • street_code - parametro opzionale, codice della via, solo per la Danimarca;
  • municipality_code - parametro opzionale, codice del comune, solo per la Danimarca;
  • building_number - numero civico;
  • building_letter - parametro opzionale, lettera nel numero civico;
  • phone - numero di telefono di contatto;
  • type_of_id - parametro opzionale, tipo di documento: “PASSPORT”, “DNI”, “NIE”, “RESIDENCE_PERMIT”, ‘NATIONAL_ID_CARD’, “BUSINESS_REGISTRATION”;
  • id_number - parametro opzionale, numero del documento;
  • issuing_authority - parametro opzionale, chi ha rilasciato il documento;
  • issuing_date - parametro opzionale, data di rilascio del documento;
  • direction_id - parametro opzionale, ID della direzione/città per la verifica della conformità.

post /v1/documents/upload/

caricare file per il gruppo di documenti

Parametri:

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • group_id - ID del gruppo, 0 - gruppo principale di documenti;
  • document_type - tipo di documento: ‘certificate’, ‘contract’, ‘company_letter’, ‘inn_ua’, passport', ‘phone_bill’, ‘photo_with_doc’, ‘photo_with_passport’, ‘receipt’, ‘driver_id_us_ca’, ‘driver_id_other’;
  • file - uploaded file.

Esempio di richiesta:

                                    $zd = new \Zadarma_API_Test\Api(KEY, SECRET);
$zd->request(
    'documents/upload',
    [
        'group_id' => 0,
        'document_type' => 'passport',
        'file' => new CURLFile('passport.jpg', 'image/jpeg', 'passport.jpg')
    ],
    'post'
);

Esempio di risposta:

                                    {
    "status": "success",
    "message": "The File passport.jpg has been successfully uploaded to the website.",
    "doc_name": "passport.jpg"
}

Rivenditore

get /v1/reseller/account/info/

informazioni sull'account del rivenditore

                                    {
    "status": "success",
    "balance": 123,
    "credit": 0,
    "currency": "USD",
    "reseller_fee": 10,
    "user_fee": 10
}

post /v1/reseller/account/money_transfer/

Trasferire il saldo dal conto del rivenditore al saldo di un altro conto collegato o viceversa

                                    {
    "status": "success",
    "user": {
        "balance": "62.0000",
        "currency": "EUR"
    },
    "reseller": {
        "balance": "94.825",
        "currency": "USD"
    }
}

Parametri

  • amount - importo;
  • currency - valuta;
  • type - direzione del trasferimento "to_reseller" e "to_user".

get /v1/reseller/users/phones/

Elenco dei numeri di telefono di contatto dell'utente

                                    {
    "status": "success",
    "list": [
        {
            "id": 0,
            "number": "49025000897",
            "is_proved": false
        }
    ]
}

Parametri

  • user_id - id utente;

post /v1/reseller/users/phones/add/

Aggiunta del numero di telefono di contatto dell'utente

                                    {
    "status": "success",
    "id": 98,
    "number": "359000000001",
    "is_proved": true
}

Parametri

  • user_id - id utente;
  • number - numero.

post /v1/reseller/users/phones/update/

Modifica del numero di telefono di contatto dell'utente

                                    {
    "status": "success",
    "id": 99,
    "number": "359000000002",
    "is_proved": false
}

Parametri

  • user_id - id utente;
  • id - ID numero, 0 - numero di telefono principale del profilo;
  • number - numero.

post /v1/reseller/users/phones/prove_by_sms

Richiesta di conferma del numero di telefono di contatto dell'utente

                                    {
    "number": "359000000002",
    "status": "success",
    "message": "You were sent an SMS message with a code. Code is valid for 1 hour."
}

Parametri

  • user_id - id utente;
  • number - numero;
  • confirm_number_reuse - conferma del numero utilizzato in un altro account (parametro opzionale)

post /v1/reseller/users/phones/prove_by_callback

Richiesta di conferma del numero di telefono dell'utente (verrà effettuata una chiamata e, una volta risposto, l'utente sentirà un codice di conferma)

                                    {
    "number": "359000000002",
    "status": "success",
    "message": "You were sent an SMS message with a code. Code is valid for 1 hour."
}

Parametri:

  • user_id - parametro obbligatorio, id utente;
  • number - parametro obbligatorio, numero confermato (in formato internazionale)
  • caller_id - numero visualizzato durante la chiamata, sono disponibili solo i numeri collegati al sistema;
  • language - lingua di registrazione;
  • sip_id - parametro opzionale, se non specificato viene preso il primo SIP del rivenditore disponibile;
  • confirm_number_reuse - parametro opzionale, conferma del numero utilizzato in un altro account.

post /v1/reseller/users/phones/confirm

Conferma del numero di contatto tramite codice SMS

                                    {
    "status": "success",
    "message": "Your number confirmed!",
    "number": "35900000019"
}

Parametri

  • user_id - id utente;
  • number - numero;
  • code - codice di conferma.

post /v1/reseller/users/registration/new/

Registrazione utente

                                    {
    "status": "success",
    "user_id": 12345,
    "message": "You registered a new user in the system."
},{
    "status": "success",
    "message": "You registered a new user in the system. A registration confirmation link was sent to the email address you provided. To activate the account the user needs to click on that link, after which they can log in on the website."
},{
    "status": "success",
    "message": "You registered a new user in the system. A registration confirmation code was sent to the email address you provided. To activate the account the user needs to send code to you, after which you can confirm registration using API."
}

Parametri

  • email - indirizzo e-mail del cliente;
  • first_name - nome del cliente;
  • last_name - parametro opzionale;
  • middle_name - parametro opzionale;
  • organization - parametro opzionale;
  • country - codice ISO2 del Paese;
  • city - città del cliente;
  • address - parametro opzionale;
  • phone - parametro opzionale;
  • password - parametro opzionale;
  • tariff - ID tariffa (l'ID può essere ottenuto con il metodo GET /v1/info/lists/tariffs/) ;
  • tariff_period - parametro opzionale, periodo tariffario month | year;
  • language - parametro opzionale, codice lingua, en;
  • currency - parametro opzionale, codice valuta, USD;
  • promocode - parametro opzionale, codice promozionale;
  • gmt - parametro opzionale, GMT;
  • id_card - parametro opzionale, numero del documento ID card, passport.

post /v1/reseller/users/registration/confirm/

Conferma della registrazione dell'utente

                                    {
    "status": "success",
    "user_id": 12345
}

Parametri

  • code - codice di conferma della registrazione contenuto nell'e-mail inviata all'indirizzo dell'utente;
  • email - indirizzo e-mail.

get /v1/reseller/users/list/

Elenco degli utenti del rivenditore visualizzati per pagina (50 pezzi)

                                    {
    "status": "success",
    "total": 205,
    "total_pages": 5,
    "page": 1,
    "users": [
        {
            "id": "1234",
            "email": "test@domain.com",
            "first_name": "Test",
            "last_name": "Test",
            "organization": "",
            "phone": "+44000000001",
            "created": "2021-01-26 14:21:04",
            "last_login": "2021-01-30 09:46:31",
            "balance": "0.4000",
            "currency": "GBP",
            "sips_count": "1",
            "is_active": true,
            "allow_topup": true,
            "allow_api_requests": true
        },
        ...
    ]
}

Parametri

  • page - numero di pagina.

get /v1/reseller/users/find/

Ricerca di un account utente in base a un criterio (uno tra id, email, sip)

                                    {
    "status": "success",
    "user": {
        "id": "1234",
        "email": "test@domain.com",
        "first_name": "Test",
        "last_name": "Test",
        "organization": "",
        "phone": "+44000000001",
        "created": "2021-01-26 14:21:04",
        "last_login": "2021-01-30 09:46:31",
        "balance": "0.4000",
        "currency": "GBP",
        "sips_count": "1",
        "is_active": true,
        "allow_topup": true,
        "allow_api_requests": true
    }
}

Parametri

  • id - opzionale;
  • sip - opzionale;
  • email - opzionale.

post /v1/reseller/users/topup/

Trasferire il saldo dal conto del rivenditore al conto utente

                                    {
    "status": "success",
    "user_topup": {
        "amount": 10,
        "currency": "GBP"
    },
    "reseller_withdraw": {
        "amount": 10,
        "currency": "GBP"
    }
}

Parametri

  • user_id - id utente;
  • amount - importo;
  • currency - valuta.

get /v1/reseller/users/api_key/

Ottenere le chiavi di accesso API correnti dell’utente

                                    {
    "status": "success",
    "user_id": 1234,
    "last_request_datetime": "2021-02-18 10:45:01",
    "allow_reset": true,
    "key": "hidden",
    "secret": "hidden"
},{
    "status": "success",
    "user_id": 1234,
    "last_request_datetime": "2021-02-26 15:59:50",
    "allow_reset": false,
    "key": "abscd",
    "secret": "12345"
}

Parametri

  • user_id - id utente.

post /v1/reseller/users/api_key/

Ottenere nuove chiavi di accesso API dell’utente

                                    {
    "status": "success",
    "user_id": 1234,
    "key": "abscd",
    "secret": "12345"
}

Parametri

  • user_id - id utente.

SMS

post /v1/sms/send/

invio di SMS

                                    {
    "status":"success",
    "messages":1,
    "cost":0.24,
    "currency":"USD",
    "sms_detalization":[
        {
            "senderid":"xxxxxxxxxxx",
            "number":"1234567890",
            "cost":0.06
        }
    ],
    "denied_numbers":[
        {
            "number":"1234567890",
            "message":"The reason for the SMS not being sent to the number"
        }
    ]
}

Parametri

  • number – numero di telefono a cui inviare l'SMS (è possibile elencarne diversi separati da una virgola);
  • message – messaggio (limiti standard di lunghezza dell'SMS, in caso di superamento del limite – viene suddiviso in più SMS);
  • sender – (opzionale) mittente dell'SMS (numero virtuale o testo); l'elenco dei valori disponibili può essere ottenuto con il metodo GET /v1/sms/senderid/
  • language – (opzionale) lingua del modello di SMS. Se non specificato, viene utilizzata la lingua dell'area personale.

get /v1/sms/templates/

Ottenere l'elenco dei modelli per SMS

                                    {
"list": [
    {
        "cath_id":"1",
         "title":"The name of the template category",
        "templates": [
            {
                "id":"1",
                "text":"The template text with a variable {$var}"
            },
            {
                "id":"2",
                "text":"Second template text"
            },
        ]
    }
]
}

Parametri

  • skip – (opzionale) numero di modelli da saltare prima dell'inizio della selezione, per impostazione predefinita 0;
  • limit – (opzionale) numero di modelli da visualizzare (per impostazione predefinita 25, massimo 1000);
  • language – (opzionale) lingua dei modelli SMS generici. Se non specificato, viene utilizzata la lingua dell'area personale.

get /v1/sms/senderid/

Ottenere l'elenco dei mittenti SMS autorizzati per un numero specificato

                                    {
    "senders": ["Teamsale", "1234567890"]
}

Parametri

  • phones – numero di telefono per il quale è necessario conoscere l'elenco dei mittenti consentiti.

Integrazione del widget WebRTC

get /v1/webrtc/get_key/

ottenere la chiave per il widget webrtc. La durata della chiave è di 72 ore.

                                    {
    "status":"success",
    "key": YOUR_KEY
}

Parametri:

  • sip – login SIP o numero interno del centralino.

post /v1/webrtc/create/

Creazione dell'integrazione del widget WebRTC

                                    {
    "status": "success"
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • domain - nome di dominio.

put /v1/webrtc/

Modifica delle impostazioni di integrazione del widget WebRTC

                                    {
    "status": "success"
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • shape - forma del widget, valori consentiti: ‘square’, ‘rounded’;
  • position - posizione del widget, valori consentiti: 'top_left', 'top_right', 'bottom_right', 'bottom_left'.

get /v1/webrtc/

Dati di integrazione del widget WebRTC

                                    {
    "status": "success",
    "is_exists": true,
    "domains": [
        "test.domain.com"
    ],
    "settings": {
        "shape": "square",
        "position": "top_right"
    }
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;

post /v1/webrtc/domain/

Aggiungere dominio all'integrazione del widget WebRTC

                                    {
   "status": "success"
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • domain - nome di dominio.

delete /v1/webrtc/domain/

Eliminazione del dominio dall'integrazione del widget WebRTC

                                    {
   "status": "success"
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati;
  • domain - nome di dominio.

delete /v1/webrtc/

Eliminazione dell'integrazione del widget WebRTC

                                    {
   "status": "success"
}

Parametri

  • user_id - parametro opzionale, disponibile solo per i rivenditori e solo per gli utenti da loro creati.

eSIM

get /v1/esim/devices/

Elenco dei dispositivi supportati per eSIM

Descrizione della risposta positiva (Esempio 1)

                                    Esempio 1:
{ "status": "success", "devices": { "acer": [ "ACER Swift 3", "ACER Swift 7" ], "asus": [ "ASUS Mini Transformer T103HAF", "ASUS NovaGo TP370QL", "ASUS Vivobook Flip 14 TP401NA" ], "xiaomi": [ "Xiaomi 12T Pro", "Xiaomi 13 Lite" ] } }

  • devices (object[]) — elenco dei dispositivi raggruppati per marca

Descrizione della risposta in caso di errore interno (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "Getting devices internal error" }

  • message (string) — contiene il messaggio di errore

get /v1/esim/packages/

Elenco di tutti i pacchetti disponibili

Descrizione della risposta positiva (Esempio 1)

                                    Esempio 1:
{ "status": "success", "packages": [ { "duration": 7, "countries": [ { "iso2": "cn", "name": "China", "aliases": [] } ], "networks": [ { "iso2": "CN", "network": "China Unicom", "type": "LTE" } ], "region": null, "id": "1-cn-7days-1gb", "price": 5, "data": 1, "duration_unit": "days", "data_unit": "GB", "top_up": true, "kyc_verify": false, "activation_policy": "first-usage", "activation_limit_days": null, "price_multi_currency": { "eur": 5, "usd": 5, "gbp": 4, "pln": 19, "kzt": 2000, "uah": 200 }, } ] }

  • packages (object[]) — contiene l'elenco dei pacchetti disponibili
  • packages.*.duration (integer) — durata dell'eSIM. L'unità di misura del valore è contenuta nel parametro duration_unit
  • packages.*.countries (object[]) — elenco dei Paesi in cui funziona la connessione eSIM
  • packages.*.networks (object[]) — elenco dei Paesi in cui funziona la connessione Internet mobile eSIM
  • packages.*.region (null|string, europe|america|latin-america|asia|caribbean-islands|africa|south-africa|middle-east|oceania|iberica|scandinavia|eastern-europe) — regione in cui funziona l'eSIM
  • packages.*.id (string) — identificativo interno eSIM
  • packages.*.price (float) — prezzo eSIM
  • packages.*.data (integer) — volume di traffico disponibile. L'unità di misura di questo valore è contenuta nel parametro data_unit
  • packages.*.duration_unit (string, days) — unità di misura della durata dal parametro duration
  • packages.*.data_unit (stringa, GB|KB|MB) — unità di misura del traffico dal parametro data
  • packages.*.top_up (booleano) — ha valore true se l'eSIM è disponibile per la ricarica
  • packages.*.kyc_verify (boolean) — indicatore della presenza di una verifica dei documenti per l'acquisto dell'eSIM
  • packages.*.activation_policy (null|string, first-usage|installation) — politica di attivazione. Se ha il valore “first-usage”, viene attivata al momento del primo utilizzo. Se ha il valore “installation”, viene attivata al momento dell'installazione dell'eSIM nel dispositivo. Se è null, non ha una politica di attivazione
  • packages.*.price_multi_currency (object) — oggetto dei prezzi in ogni valuta
  • packages.*.activation_limit_days (null|integer) — Può contenere il numero di giorni entro i quali è necessario attivare l'eSIM dopo l'attivazione. Se è null, non ha tale limitazione

Descrizione della risposta in caso di errore interno (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "Getting packages error" }

  • message (string) — contiene un messaggio di errore

get /v1/esim/order/

Elenco dei pacchetti collegati

Parametri

  • user_id (integer)
    Campo opzionale
    ID dell'utente richiesto. Disponibile solo per i rivenditori e solo per gli utenti da loro creati. Per impostazione predefinita verrà utilizzato l'ID utente corrente.

Descrizione della risposta corretta (Esempio 1)

                                    Esempio 1:
{ "status": "success", "orders": [ { "iccid": "8937204017175532566", "status": "inactive", "packages": [ { "iccid": "8937204017175532566", "price": 4.5, "currency": "USD", "countries": [ { "iso2": "al", "name": "Albania", "aliases": [] } ], "duration": 30, "data": 1, "region": null, "id": "3-al-30days-1gb", "data_remaining": 1, "top_up": true, "created_at": 1730978058, "auto_prolong": false, "activated_at": null, "expired_at": null, "reference_id": "672ca10a84a28e977c0cfe39" } ], "title": null, "msisdn": null, "activation_code": "LPA:1$smdp.io$K2-2627GZ-1UM3Z3Y", "created_at": 1730978058 } ] }

  • orders (object[]) — elenco dei pacchetti collegati. Per una descrizione dettagliata dei dati del pacchetto, consulta il metodo /v1/esim/order/<iccid>/

Descrizione della risposta in caso di user_id non corretto (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "You are not a reseller of the requested user" }

  • message (string) — contiene un messaggio di errore

get /v1/esim/order/<iccid>/

Informazioni sul pacchetto collegato tramite ICCID

Parametri

  • iccid (string)
    Campo obbligatorio
    ICCID richiesto
  • user_id (integer)
    Campo opzionale
    ID dell'utente richiesto. Disponibile solo per i rivenditori e solo per gli utenti da loro creati. Per impostazione predefinita verrà utilizzato l'ID utente corrente.

Descrizione della risposta positiva (Esempio 1)

                                    Esempio 1:
{ "status": "success", "order": { "iccid": "8937204017175532566", "status": "inactive", "packages": [ { "iccid": "8937204017175532566", "price": 4.5, "currency": "USD", "countries": [ { "iso2": "al", "name": "Albania", "aliases": [] } ], "duration": 30, "data": 1, "type": "one-off", "region": null, "id": "3-al-30days-1gb", "data_remaining": 1, "top_up": true, "created_at": 1730978058, "auto_prolong": false, "activated_at": null, "expired_at": null, "reference_id": "672ca10a84a28e977c0cfe39" } ], "title": null, "msisdn": null, "activation_code": "LPA:1$smdp.io$K2-2627GZ-1UM3Z3Y", "created_at": 1730978058 } }

  • order.iccid (string) — ICCID del pacchetto eSIM
  • order.status (string, active|inactive|archived|blocked) — stato del pacchetto — attivato, non attivato, archiviato e bloccato
  • order.packages (object[]) — pacchetti collegati. I dati relativi sono descritti nel metodo /v1/esim/esim/packages
  • order.packages.*.data_remaining (float) — volume di traffico disponibile. L'unità di misura di questo valore è contenuta nel parametro order.packages.*.data_unit
  • order.packages.*.expired_at (null|integer) — timestamp se l'eSIM è scaduta
  • order.title (null|string) — nome utente dell'eSIM acquistata
  • order.msisdn (null|string) — MSISDN, se esistente
  • order.activation_code (string) — chiave per la generazione del codice QR o l'installazione manuale
  • order.created_at (integer) — timestamp della connessione eSIM

Descrizione della risposta di errore in caso di invio di un ICCID inesistente (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "Not found" }

  • message (string) — messaggio di errore

post /v1/esim/order/create/

Collega il pacchetto

Parametri

  • package_id (string)
    Campo obbligatorio
    ID del pacchetto da connettere, packages.*.id dal metodo /v1/esim/packages/
  • user_id (integer)
    Campo opzionale
    ID utente per la connessione. Disponibile solo per i rivenditori e solo per gli utenti da loro creati. Per impostazione predefinita verrà utilizzato l'ID utente corrente.

Descrizione della risposta corretta (Esempio 1)

                                    Esempio 1:
{ "status": "success", "order": { "iccid": "8937204016150824154", "activation_code": "LPA:1$smdp.io$K2-1UYQA7-Z8B3BF", "status": "inactive", "packages": [ { "iccid": "8937204016150824154", "price": 11.01, "currency": "EUR", "countries": [ { "iso2": "us", "name": "США", "aliases": [] } ], "duration": 30, "data": 0, "data_remaining": 0, "top_up": true, "type": "one-off", "region": "change", "created_at": 1720700977, "auto_prolong": false, "activated_at": null, "expired_at": null, "reference_id": null, "id": "3-change-30days-0gb" } ], "created_at": 1720700977, "title": null, "msisdn": null } }

  • order (object) — dati sul pacchetto connesso. Una descrizione dettagliata è contenuta nel metodo /v1/esim/order/<iccid>/

Descrizione della risposta con errore in caso di saldo insufficiente (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "Not enough money on your account" }

  • message (string) — contiene un messaggio di errore

Verify

post /v1/verify/

Richiesta di verifica con invio di una notifica all'utente

Il tempo di validità della richiesta di verifica è di 10 minuti.

Parametri generali (per tutti i canali)

  • channel (string, sms|call_code|email|call_button)
    Campo obbligatorio
    Canale per l'invio del messaggio

Descrizione del canale "sms"

Al numero del destinatario verrà inviato un SMS con un codice di conferma. L'invio tramite questo canale potrebbe richiedere un pagamento, pertanto l'utente API deve disporre di un saldo positivo.

Parametri

  • to (string)
    Campo obbligatorio
    Numero di telefono del destinatario nel formato E.164
  • code (integer)
    Campo opzionale
    Codice di verifica a sei cifre. Se non specificato, viene generato automaticamente.
  • language (string, en|es|de|pl|ru|ua|fr)
    Campo opzionale
    Lingua del messaggio. Se non specificata, viene utilizzata la lingua dell'utente.
  • template_id (integer)
    Campo opzionale
    ID del modello utente per SMS. Se non specificato, viene utilizzato il modello predefinito.
  • caller_id (string)
    Campo opzionale
    Numero del mittente. Impostazione predefinita "Teamsale"

Descrizione del canale "call_code"

Quando si seleziona questo canale, viene effettuata una chiamata al numero del destinatario, durante la quale viene comunicato all'utente il codice di conferma. L'invio tramite questo canale può richiedere un pagamento, pertanto l'utente API deve disporre di un saldo positivo.

Requisiti

Per utilizzare questo canale, l'utente API deve avere un numero registrato nel sistema Zadarma.

Parametri

  • to (string)
    Campo obbligatorio
    Numero di telefono del destinatario nel formato E.164
  • from (string)
    Campo opzionale
    Numero di telefono in formato E.164 dal quale verrà effettuata la chiamata. Richiesto se l'utente ha più di un numero nel sistema Zadarma.
  • code (integer)
    Campo opzionale
    Codice di verifica a sei cifre. Se non specificato, viene generato automaticamente.
  • language (string, en|es|de|pl|ru|ua|fr)
    Campo opzionale
    Lingua del messaggio. Se non specificata, viene utilizzata la lingua dell'utente.

Descrizione del canale "email"

Utilizzando questo canale, all’indirizzo e-mail indicato viene inviato un messaggio con il codice di conferma. Per l’invio tramite questo canale, l’utente API deve avere l’integrazione e-mail attivata nel sistema CRM Teamsale.

Parametri

  • to (string)
    Campo obbligatorio
    indirizzo e-mail del destinatario
  • from (string)
    Campo opzionale
    Indirizzo e-mail del mittente. Viene indicato se l'utente ha attivato più di un'integrazione e-mail.
  • code (integer)
    Campo opzionale
    Codice di verifica a sei cifre. Se non specificato, viene generato automaticamente.
  • language (string, en|es|de|pl|ru|ua|fr)
    Campo opzionale
    Lingua del messaggio. Se non specificata, viene utilizzata la lingua dell'utente.
  • email_subject (string)
    Campo opzionale
    Oggetto (subject) della lettera inviata. Se il parametro non è specificato, viene utilizzato il valore predefinito.
  • email_body (string)
    Campo opzionale
    Corpo (body) del messaggio e-mail inviato. Deve contenere la stringa "{#code#}" per l'inserimento automatico del codice di conferma. Se il parametro non è specificato, viene utilizzato il valore predefinito.

Descrizione del canale "call_button"

Questo canale prevede una chiamata al numero del destinatario, durante la quale l'utente deve seguire le istruzioni fornite dai file audio e premere il tasto "1" per confermare. L'invio tramite questo canale potrebbe richiedere un pagamento, pertanto l'utente API deve disporre di un saldo positivo.

Per utilizzare questo canale è necessario

  • Presenza del numero di telefono nel sistema Zadarma.
  • Centralino virtuale (centralino telefonico virtuale) attivato.
  • Configurati notifiche sugli eventi.

Caratteristiche: Il risultato della verifica tramite questo canale viene controllato utilizzando NOTIFY_OUT_END webhook, e non con il metodo /v1/verify/check/.

Parametri

  • to (string)
    Campo obbligatorio
    Numero di telefono del destinatario in formato E.164
  • from (string)
    Campo opzionale
    Numero di telefono in formato E.164 dal quale verrà effettuata la chiamata. Richiesto se l'utente ha più di un numero di telefono nel sistema centralino.
  • greeting_sound_id (string)
    Campo opzionale
    ID del file audio che l'utente sentirà quando risponde alla chiamata
  • button_1_sound_id (string)
    Campo opzionale
    ID del file audio che l'utente sentirà dopo aver premuto il pulsante "1"
  • fallback_sound_id (string)
    Campo opzionale
    ID del file audio che verrà riprodotto se l'utente non preme il pulsante "1", preme un altro pulsante o non esegue alcuna azione.

Per gestire i file audio utilizzati nelle impostazioni greeting_sound_id, button_1_sound_id e fallback_sound_id, utilizzare i metodi API disponibili nella sezione /v1/pbx/ivr/sounds/*.

Esempi

Se la richiesta è stata inviata correttamente tramite i canali sms, call_code, email (Esempio 1)

                                    Esempio 1:
{ "status": "success", "request_id": "NDlLMWlNcW5mR3EvOFkraWVtOWF1Q2c9" }

  • request_id (string) — ID della richiesta, necessario per la successiva verifica del codice di verifica

Quando si utilizza il canale call_button La risposta corretta non contiene request_id, poiché la verifica del risultato viene effettuata tramite NOTIFY_OUT_END webhook (Esempio 2)

                                    Esempio 2:
{ "status": "success" }

In caso di richiesta non valida, l'API restituisce una risposta con lo stato error e la descrizione dell'errore nel campo message (Esempio 3)

                                    Esempio 3:
{ "status": "error", "message": "\"to\" param is required" }
.

Quando si invia una richiesta tramite il canale email, se il parametro from è obbligatorio ma non è stato specificato, il sistema restituirà una risposta con lo stato "error" e un messaggio che indica la mancanza del parametro richiesto (Esempio 4)

                                    Esempio 4:
{ "status": "error", "message": "Can't find active email integration for the \"from\" param's email" }
.

post /v1/verify/check/

Verifica del codice nella richiesta di verifica per i canali sms, call_code ed email

Parametri

  • code (integer)
    Campo obbligatorio
    Codice a sei cifre da verificare.
  • request_id (string)
    Campo obbligatorio
    ID della richiesta in cui è necessario verificare il codice

Descrizione della risposta positiva, se il parametro code corrisponde a quello nella richiesta di verifica (Esempio 1)

                                    Esempio 1:
{ "status": "success", "message": "Code is correct" }

  • status (string) — contiene il valore "success"
  • message (string) — contiene il valore "Code is correct"

Descrizione della risposta con errore se la richiesta è scaduta o non è stata trovata la richiesta per request_id: (Esempio 2)

                                    Esempio 2:
{ "status": "error", "message": "No such request id" }

  • message (string) — contiene un messaggio di errore

Descrizione della risposta con errore se il parametro code non corrisponde a quello nella richiesta (Esempio 3)

                                    Esempio 3:
{ "status": "error", "message": "Invalid verification code" }

  • message (string) — contiene un messaggio di errore

Per verificare il canale call_button è necessario utilizzare NOTIFY_OUT_END webhook

Metodi Teamsale CRM

Clienti

get /v1/zcrm/customers

Restituisce l'elenco dei clienti

Parametri

  • search (opzionale) — campo di ricerca. La ricerca viene effettuata in modo combinato per:
    • nome del cliente
    • numeri di telefono del cliente
    • descrizione del cliente
    • indirizzo e codice postale
    • sito web
    • indirizzi e-mail
    • messenger
    • nomi dei dipendenti
    • numeri di telefono dei dipendenti
    • descrizioni dei dipendenti
    • indirizzi e-mail dei dipendenti
    • messenger dei dipendenti
  • filter (opzionale) — oggetto con filtri clienti. Il filtro si applica solo ai campi impostati. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "status": "company", "type": "client", "country": "GB", "city": "London", "label": 12, "utm": 19, "employees_count": "50", "responsible": 20 }

Dove:

  • status — stato del cliente. Valori consentiti:
    • individual — persona fisica
    • company — azienda
  • type — tipo di cliente. Valori consentiti:
    • potential — potenziale cliente
    • client — cliente
    • reseller — rivenditore
    • partner — partner
  • country — Paese del cliente. Codice a due lettere (IT, US, ecc.)
  • city — città del cliente (riga)
  • label — tag (identificativo)
  • utm — etichetta di origine (identificativo)
  • employees_count — numero di dipendenti. Valori consentiti:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • responsible — responsabile (identificativo utente)

    Qualsiasi parametro del filtro può essere omesso, ovvero non è obbligatorio.

  • sort (opzionale) — ordinamento dei clienti. Struttura dell'oggetto:

(Esempio 2)

                                    Esempio 2:
{ "attr": "name", "desc": 0 }

Dove:

  • attr — campo di ordinamento. Valori consentiti:
    • name — nome del cliente
    • status — stato del cliente
    • type — tipo di cliente
  • desc — direzione di ordinamento. Valori consentiti:
    • 0 — in ordine crescente
    • 1 — in ordine decrescente
  • take (per la visualizzazione a pagine) — quanti clienti restituire (impostazione predefinita 20)
  • skip (per la visualizzazione a pagine) — quanti clienti saltare (impostazione predefinita 0)

Risposta

(Esempio 3)

                                    Esempio 3:
{ "totalCount": 82, "customers": [ { "id": 65, "name": "Good company", "status": "company", "type": "client", "responsible_user_id": 20, "employees_count": "50", "comment": "", "country": "GB", "city": "London", "address": "", "zip": "", "website": "", "created_at": "2020-04-28 05:47:47", "created_by": 20, "lead_source": "manual", "lead_created_at": null, "lead_created_by": null, "phones": [ { "type": "work", "phone": "+44123456789" } ], "contacts": [ { "type": "email_work", "value": "good_company@example.com" } ], "labels": [ { "id": 12, "label": "Best clients" } ], "utms": [ { "id": 19, "param": "utm_source", "value": "google", "display_value": "Google" } ] } ] }

Dove:

  • totalCount — numero totale di clienti (tenendo conto della ricerca e dei filtri)
  • customers — array di clienti (tenendo conto della visualizzazione a pagine) . Ogni elemento dell'array contiene i seguenti parametri:
    • id — identificativo del cliente
    • name — nome del cliente
    • status — stato del cliente. Valori possibili:
      • individual — persona fisica
      • company — azienda
    • type — tipo di cliente. Valori possibili:
      • potential — cliente potenziale
      • client — cliente
      • reseller — rivenditore
      • partner — partner
    • responsible_user_id — responsabile (identificativo utente)
    • employees_count — numero di dipendenti. Valori possibili:
      • 50 — meno di 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — descrizione del cliente
    • country — Paese del cliente. Codice a due lettere (IT, US, ecc.)
    • city — città del cliente
    • address — indirizzo del cliente
    • zip — codice postale
    • website — sito web del cliente
    • created_at — data e ora di creazione del cliente (nel formato YYYY-MM-DD HH:mm:ss)
    • created_by — creato da (identificativo utente)
    • lead_source — fonte. Valori possibili:
      • manual — manualmente
      • call_incoming — chiamata in entrata
      • call_outgoing — chiamata in uscita
      • form — modulo
    • lead_created_at — data e ora di creazione del lead, se il cliente è stato creato da un lead (nel formato YYYY-MM-DD HH:mm:ss)
    • lead_created_by — da chi è stato creato il lead, se il cliente è stato creato da un lead (identificativo utente)
    • phones — array di numeri di telefono del cliente. Ogni numero contiene i seguenti campi:
      • type — tipo di numero. Valori possibili:
        • work — di lavoro
        • personal — personale
      • phone — valore del numero
    • contacts — array dei contatti del cliente. Ogni contatto contiene i seguenti campi:
  • type — tipo di contatto. Valori possibili:
  • email_work — e-mail di lavoro
  • email_personal — e-mail personale
    • skype
    • telegram
    • viber
    • whatsapp
      • value — valore del contatto
  • labels — array di tag assegnati al cliente. Ogni tag contiene i seguenti campi:
  • id — identificativo del tag
  • label — valore del tag
    • utms — array delle etichette di origine. Ogni etichetta contiene i seguenti campi:
      • id — identificativo dell'etichetta
      • param — tipo di etichetta. Valori possibili:
        • utm_source
        • utm_medium
        • utm_campaign
        • utm_content
        • phone — telefono
        • custom — personalizzato
      • value — valore effettivo dell'etichetta
      • display_value — valore visualizzato dell'etichetta

get /v1/zcrm/customers/<c_id>

Restituisce il cliente in base al suo ID

Parametri dell'indirizzo

  • c_id — identificativo del cliente

Risposta

                                    {
  "id": 65,
  "name": "Good Company",
  "status": "company",
  "type": "client",
  "responsible_user_id": 20,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "created_at": "2020-04-28 05:47:47",
  "created_by": 20,
  "lead_source": "manual",
  "lead_created_at": null,
  "lead_created_by": null,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 12,
      "label": "Best clients"
    }
  ],
  "utms": [
    {
      "id": 19,
      "param": "utm_source",
      "value": "google",
      "display_value": "Google"
    }
  ],
  "custom_properties": [
    {
      "id": 18,
      "key": "loyalty",
      "title": "Loyalty",
      "value": "high"
    }
  ]
}

Dove:

  • id — identificativo del cliente
  • name — nome del cliente
  • status — stato del cliente. Valori possibili:
    • individual — persona fisica
    • company — azienda
  • type — tipo di cliente. Valori possibili:
    • potential — potenziale cliente
    • client — cliente
    • reseller — rivenditore
    • partner — partner
  • responsible_user_id — responsabile (identificativo utente)
  • employees_count — numero di dipendenti. Valori possibili:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del cliente
  • country — Paese del cliente. Codice a due lettere (IT, US, ecc.)
  • city — città del cliente
  • address — indirizzo del cliente
  • zip — codice postale
  • website — sito web del cliente
  • created_at — data e ora di creazione del cliente (nel formato YYYY-MM-DD HH:mm:ss)
  • created_by — creato da (identificativo utente)
  • lead_source — fonte. Valori possibili:
    • manual — manualmente
    • call_incoming — chiamata in entrata
    • call_outgoing — chiamata in uscita
    • form — modulo
  • lead_created_at — data e ora di creazione del lead, se il cliente è stato creato da un lead (nel formato YYYY-MM-DD HH:mm:ss)
  • lead_created_by — da chi è stato creato il lead, se il cliente è stato creato da un lead (identificativo utente)
  • phones — array di numeri di telefono del cliente. Ogni numero contiene i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del cliente. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
      • email_work — e-mail di lavoro
      • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto
  • labels — array di tag assegnati al cliente. Ogni tag contiene i seguenti campi:
    • id — identificativo del tag
    • label — valore del tag
  • utms — array delle etichette di origine. Ogni etichetta contiene i seguenti campi:
    • id — identificativo dell'etichetta
    • param — tipo di etichetta. Valori possibili:
      • utm_source
      • utm_medium
      • utm_campaign
      • utm_content
      • phone — telefono
      • personalizzato — personalizzato
    • value — valore effettivo dell’etichetta
    • display_value — valore visualizzato dell'etichetta
  • custom_properties — array di proprietà aggiuntive. Ogni proprietà aggiuntiva contiene i seguenti campi:
    • id — identificativo della proprietà aggiuntiva
    • key — nome univoco della proprietà aggiuntiva
    • title — nome visualizzato della proprietà aggiuntiva
    • value — valore della proprietà aggiuntiva

post /v1/zcrm/customers

Crea un nuovo cliente con i dati specificati

Parametri

  • customer — oggetto con i parametri del nuovo cliente. Struttura dell'oggetto:

    (Esempio 1)

                                        Esempio 1:
    { "customer": { "name": "Good Company", "status": "company", "type": "client", "responsible_user_id": 20, "employees_count": "50", "comment": "", "country": "GB", "city": "London", "address": "", "zip": "", "website": "", "lead_source": "manual", "phones": [ { "type": "work", "phone": "+44123456789" } ], "contacts": [ { "type": "email_work", "value": "good_company@example.com" } ], "labels": [ { "id": 12 }, { "id": 13 } ], "utms": [ { "id": 19 }, { "id": 20 } ], "custom_properties": [ { "id": 18, "value": "high" } ] } }
    Dove:

  • name — nome del cliente

  • status — stato del cliente. Valori consentiti:

  • individual — persona fisica

  • company — azienda

  • type — tipo di cliente. Valori consentiti:

    • potential — cliente potenziale
  • client — cliente

  • reseller — rivenditore

  • partner — partner

  • responsible_user_id — responsabile (identificativo utente)

  • employees_count — numero di dipendenti. Valori ammessi:

  • 50 — meno di 50

    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del cliente

  • country — Paese del cliente. Codice a due lettere (IT, US, ecc.)

  • city — città del cliente

  • address — indirizzo del cliente

  • zip — codice postale

  • website — sito web del cliente

  • lead_source — fonte. Valori consentiti:

  • manual — manualmente

    • call_incoming — chiamata in entrata
    • call_outgoing — chiamata in uscita
    • form — modulo
  • phones — matrice di numeri di telefono. Ogni numero deve contenere i seguenti campi:

  • type — tipo di numero. Valori possibili:

  • work — di lavoro

  • personal — personale

  • phone — valore del numero

  • contacts — array dei contatti del cliente. Ogni contatto deve contenere i seguenti campi:

  • type — tipo di contatto. Valori possibili:

  • email_work — e-mail di lavoro

  • email_personal — e-mail personale

    • skype
    • telegram
    • viber
    • whatsapp
      • value — valore del contatto
  • labels — array di tag aggiunti al cliente. Ogni elemento deve contenere:

  • id — identificativo del tag esistente

  • utms — array delle etichette di origine. Ogni elemento deve contenere:

    • id — identificativo dell'etichetta esistente
    • custom_properties — array di proprietà aggiuntive. Ogni elemento deve contenere:
  • id — identificativo della proprietà aggiuntiva oppure:

  • key — nome univoco della proprietà aggiuntiva

  • value — valore della proprietà aggiuntiva

Risposta

(Esempio 2)

                                    Esempio 2:
{ "id": 65 }
Dove:

  • id — identificativo del cliente creato

put /v1/zcrm/customers/<c_id>

Aggiorna il cliente esistente con l'ID specificato

Parametri dell'indirizzo

  • c_id — identificativo cliente

Parametri

  • customer — oggetto con i nuovi dati del cliente. Struttura dell'oggetto:

                                    {
  "customer": {
    "name": "Good Company",
    "status": "company",
    "type": "client",
    "responsible_user_id": 20,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 12 },
      { "id": 13 }
    ],
    "utms": [
      { "id": 19 },
      { "id": 20 }
    ],
    "custom_properties": [
      {
        "id": 18,
        "value": "high"
      }
    ]
}
}

Dove:

  • name — nome del cliente
  • status — stato del cliente. Valori consentiti:
    • individual — persona fisica
    • company — azienda
  • type — tipo di cliente. Valori consentiti:
    • potential — cliente potenziale
    • client — cliente
    • reseller — rivenditore
    • partner — partner
  • responsible_user_id — responsabile (identificativo utente)
  • employees_count — numero di dipendenti. Valori ammessi:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del cliente
    • country — Paese del cliente. Codice a due lettere (IT, US, ecc.)
    • city — città del cliente
    • address — indirizzo del cliente
  • zip — codice postale
  • website — sito web del cliente
  • lead_source — fonte. Valori consentiti:
    • manual — manualmente
      • call_incoming — chiamata in entrata
      • call_outgoing — chiamata in uscita
      • form — modulo
  • phones — array di numeri di telefono. Ogni numero deve contenere i seguenti campi:
    • type — tipo di numero. Valori possibili:
    • work — di lavoro
    • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del cliente. Ogni contatto deve contenere i seguenti campi:
    • type — tipo di contatto. Valori possibili:
    • email_work — e-mail di lavoro
    • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
        • value — valore del contatto
  • labels — array di tag aggiunti al cliente. Ogni elemento deve contenere:
    • id — identificativo del tag esistente
  • utms — array delle etichette della fonte. Ogni elemento deve contenere:
    • id — identificativo dell'etichetta esistente
  • custom_properties — array di proprietà aggiuntive. Ogni elemento deve contenere:
    • id — identificativo della proprietà aggiuntiva oppure:
    • key — nome univoco della proprietà aggiuntiva
    • value — valore della proprietà aggiuntiva

delete /v1/zcrm/customers/<c_id>

Elimina il cliente in base al suo ID

Parametri dell'indirizzo

  • c_id — identificativo cliente

Etichette della fonte

get /v1/zcrm/customers/utms

Restituisce un array di tutti i tag di origine e le relative statistiche

Risposta

                                    [
  {
    "id": 78,
    "param": "utm_source",
    "value": "google",
    "display_value": "Google",
    "count": 1267
  }
]

Dove ogni etichetta della fonte contiene i seguenti campi:

  • id — identificativo dell'etichetta della fonte
  • param — tipo di etichetta della fonte. Valori possibili:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — telefono
    • custom — arbitrario
  • value — valore effettivo dell'etichetta della fonte
  • display_value — valore visualizzato dell'etichetta della fonte
  • count — numero di clienti e lead che utilizzano questa etichetta della fonte

post /v1/zcrm/customers/utms

Crea un nuovo tag di origine

Parametri

  • utm — oggetto con i dati del nuova etichetta di fonte. Struttura dell'oggetto: (Esempio 1)

                                        Esempio 1:
    { "utm": { "param": "utm_source", "value": "google", "display_value": "Google" } }

    Dove:

  • param — tipo dell'etichetta della fonte. Valori consentiti:

    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — telefono
    • custom — arbitrario
      • value — valore effettivo dell'etichetta della fonte
      • display_value (opzionale) — valore visualizzato dell'etichetta della fonte

Risposta

(Esempio 2)

                                    Esempio 2:
{ "id": 78 }

Dove:

  • id — identificativo dell'etichetta di fonte creata

put /v1/zcrm/customers/utms/<utm_id>

Aggiorna l'etichetta esistente della fonte con l'ID specificato

Parametri dell'indirizzo

  • utm_id — identificativo dell'etichetta della fonte

Parametri

  • utm — nuovi dati dell'etichetta della fonte. Struttura dell'etichetta della fonte:

                                    {
  "utm": {
  "param": "utm_source",
  "value": "google",
  "display_value": "Google"
}
}

Dove:

  • param — tipo di tag della fonte. Valori consentiti:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — telefono
    • custom — arbitrario
  • value — valore effettivo dell'etichetta della fonte
  • display_value — valore visualizzato dell'etichetta della fonte

delete /v1/zcrm/customers/utms/<utm_id>

Rimuove il tag della fonte dal sistema in base al suo ID

Parametri dell'indirizzo

  • utm_id — identificativo dell'etichetta della fonte

Tag

get /v1/zcrm/customers/labels

Restituisce l'elenco di tutti i tag e le relative statistiche.

Risposta

                                    {
  "totalCount": 5,
  "labels": [
    {
      "id": 12,
      "label": "Best clients",
      "count": 14
    }
  ]
}

Dove:

  • totalCount — numero totale di tag nel sistema
  • labels — array di tag. Ogni tag ha i seguenti campi:
    • id — identificativo del tag
    • label — nome del tag
    • count — numero di clienti e lead che utilizzano questo tag

post /v1/zcrm/customers/labels

Crea un nuovo tag

Parametri

  • name — nome del nuovo tag

Risposta

                                    {
  "id": 13,
  "label": "Very best clients",
  "count": 0
}

Dove:

  • id — identificativo del tag creato
  • label — nome del tag
  • count — numero di clienti e lead che utilizzano questo tag (qui è sempre uguale a 0)

delete /v1/zcrm/customers/labels/<l_id>

Rimuove il tag dal sistema in base al suo ID

Parametri dell'indirizzo

  • l_id — identificativo del tag

Proprietà aggiuntive

get /v1/zcrm/customers/custom-properties

Restituisce tutti i parametri aggiuntivi

Risposta

                                    {
  "totalCount": 8,
  "customProperties": [
    {
      "id": 18,
      "key": "loyalty",
      "title": "Loyalty"
    }
  ]
}

Dove:

  • totalCount — numero totale di proprietà aggiuntive.
  • customProperties — array di proprietà aggiuntive. Ogni proprietà aggiuntiva contiene i seguenti campi:
  • id — identificativo della proprietà aggiuntiva
  • key — nome univoco della proprietà aggiuntiva
  • title — nome visualizzato della proprietà aggiuntiva

Feed del cliente

get /v1/zcrm/customers/<c_id>/feed

Restituisce i record nel feed del cliente

Parametri dell'indirizzo

  • c_id — identificativo del cliente

Risposta

                                    {
  "totalCount": 17,
  "items": [
    {
      "id": 37825,
      "type": "note",
      "content": "Call to the client",
      "time": "2020-06-08 06:55:02",
      "user_id": 20,
      "user_name": "John Beam",
      "call_id": null,
      "call_type": null,
      "call_status": null,
      "call_phone": null,
      "call_duration": null,
      "call_record": null,
      "call_contact_name": null,
      "attached_files": [
        {
          "file_id": 576,
          "original_filename": "document.doc"
        }
      ]
    }
  ]
}

Dove:

  • totalCount — numero totale di registrazioni
  • items — array di registrazioni. Ogni registrazione contiene i seguenti attributi:
  • id — identificativo della registrazione
  • type — tipo di registrazione. Valori possibili:
  • event — evento
  • note — nota testuale
  • call — chiamata
    • content — contenuto della registrazione. Se il tipo di registrazione è una nota, questo attributo contiene il contenuto testuale della nota. Se il tipo di registrazione è un evento, questo attributo contiene l'identificativo dell'evento, ad esempio:
      • CUSTOMER_CREATED — evento di creazione del cliente
  • LEAD_CREATED — evento di creazione del lead
  • time — ora di registrazione nel formato YYYY-MM-DD hh:mm:ss
  • user_id — identificativo dell'utente che ha creato la registrazione
    • user_name — nome dell'utente che ha creato la registrazione
  • call_id — identificativo della chiamata (se il tipo di registrazione è una chiamata)
  • call_type — tipo di chiamata. Valori possibili:
  • incoming — chiamata in entrata
    • outgoing — chiamata in uscita
      • call_status — stato della chiamata. Valori possibili:
    • answer — chiamata riuscita
    • noanswer — senza risposta
    • cancel — annullata
    • busy — occupato
    • failed — non riuscita
      • call_phone — numero di telefono della chiamata
      • call_duration — durata della chiamata in secondi
      • call_record — se la registrazione della chiamata è stata attivata
      • call_contact_name — nome del contatto della chiamata
      • attached_files — array dei file allegati alla nota (se il tipo di registrazione è una nota). Ogni elemento dell'array contiene i seguenti attributi:
  • file_id — identificativo del file
  • original_filename — nome originale del file

post /v1/zcrm/customers/<c_id>/feed

Aggiunge una nota testuale nel feed del cliente con la possibilità di allegare file

Parametri dell'indirizzo

  • c_id — identificativo cliente

Parametri

  • content — contenuto testuale della nota
  • files — array dei file allegati

Risposta

                                    {
  "id": 37825,
  "type": "note",
  "content": "Call to the client",
  "time": "2020-06-08 06:55:02",
  "user_id": 20,
  "user_name": "John Beam",
  "attached_files": [
    {
      "file_id": 576,
      "original_filename": "document.doc"
    }
  ]
}

Dove:

  • id — identificativo della registrazione
  • type — tipo di registrazione. In questo caso è pari a:
    • note — nota testuale
  • content — contenuto testuale della nota
  • time — ora della registrazione nel formato YYYY-MM-DD hh:mm:ss
  • user_id — identificativo dell'utente che ha creato la registrazione
  • user_name — nome utente che ha creato la registrazione
  • attached_files — array dei file allegati alla nota (se il tipo di registrazione è una nota). Ogni elemento dell'array contiene i seguenti attributi:
  • file_id — identificativo del file
    • original_filename — nome originale del file

put /v1/zcrm/customers/<c_id>/feed/<i_id>

Aggiorna il contenuto di una nota di testo esistente in base al suo ID

Parametri dell'indirizzo

  • c_id — identificativo cliente
  • i_id — identificativo della nota testuale

Parametri

  • content — nuovo testo della nota

delete /v1/zcrm/customers/<c_id>/feed/<i_id>

Elimina la nota dal feed del cliente in base al suo ID.

Parametri dell'indirizzo

  • c_id — identificativo cliente
  • i_id — identificativo della nota

Dipendenti

get /v1/zcrm/customers/<c_id>/employees

Restituisce l'elenco dei dipendenti del cliente in base al suo ID.

Parametri dell'indirizzo

  • c_id — identificativo cliente

Risposta

                                    {
  "totalCount": 5,
  "employees": [
    {
      "id": 23,
      "customer_id": 11,
      "name": "Steven Knight",
      "position": "manager",
      "position_title": "",
      "comment": "",
      "phones": [
        {
          "type": "work",
          "phone": "+44123456789"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "s.knight@example.com"
        }
      ]
    }
  ]
}

Dove:

  • totalCount — numero di dipendenti del cliente
  • employees — array dei dipendenti del cliente. Ogni elemento dell'array contiene i seguenti attributi:
  • id — identificativo del dipendente
    • customer_id — identificativo del cliente a cui è collegato il dipendente
    • name — nome del dipendente
    • position — posizione del dipendente. Valori possibili:
      • ceo — gen. direttore
      • direttore — direttore
      • manager — manager
      • sales_manager — responsabile vendite
      • hr — HR
      • support — supporto
      • custom — personalizzato
    • position_title — posizione personalizzata (per position = custom)
    • comment — descrizione del dipendente
    • phones — elenco dei numeri di telefono del dipendente. Ogni numero contiene i seguenti campi:
      • type — tipo di numero. Valori possibili:
  • work — di lavoro
  • personal — personale
  • phone — valore del numero
    • contacts — array dei contatti del dipendente. Ogni contatto contiene i seguenti campi:
  • type — tipo di contatto. Valori possibili:
    • email_work — e-mail di lavoro
    • email_personal — e-mail personale
    • skype
    • telegram
    • viber
    • whatsapp
      • value — valore del contatto

get /v1/zcrm/customers/<c_id>/employees/<e_id>

Restituisce il dipendente del cliente in base al suo ID

Parametri dell'indirizzo

  • c_id — identificativo cliente
  • e_id — identificativo dipendente

Risposta

                                    {
  "id": 23,
  "customer_id": 11,
  "name": "Steven Knight",
  "position": "manager",
  "position_title": "",
  "comment": "",
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "s.knight@example.com"
    }
  ]
}

Dove:

  • id — identificativo del dipendente
  • customer_id — identificativo del cliente a cui è associato il dipendente
  • name — nome del dipendente
  • position — posizione del dipendente. Valori possibili:
  • ceo — direttore generale
    • director — direttore
    • manager — manager
    • sales_manager — responsabile vendite
    • hr — risorse umane
    • support — assistenza
    • custom — personalizzato
  • position_title — nome di una posizione personalizzata (per position = custom)
  • comment — descrizione del dipendente
  • phones — array dei numeri di telefono del dipendente. Ogni numero contiene i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del dipendente. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
      • email_work — e-mail di lavoro
      • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto

post /v1/zcrm/customers/<c_id>/employees

Crea e salva un nuovo dipendente per il cliente specificato

Parametri dell'indirizzo

  • c_id — identificativo cliente

Parametri

  • employee — oggetto con i dati del nuovo dipendente. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "employee": { "name": "Steven Knight", "position": "manager", "position_title": "", "comment": "", "phones": [ { "type": "work", "phone": "+44123456789" } ], "contacts": [ { "type": "email_work", "value": "s.knight@example.com" } ] } }

Dove:

  • name — nome del dipendente
  • position — posizione del dipendente. Valori consentiti:
    • ceo — direttore generale
    • director — direttore
    • manager — manager
    • sales_manager — responsabile vendite
    • hr — HR
    • support — supporto
    • personalizzato — personalizzato
  • position_title — nome di una posizione personalizzata (per position = custom)
  • comment — descrizione del dipendente
  • phones — array dei numeri di telefono del dipendente. Ogni numero contiene i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del dipendente. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
    • email_work — e-mail di lavoro
    • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto

Risposta

(Esempio 2)

                                    Esempio 2:
{ "id": 23 }

Dove:

  • id — identificativo del nuovo dipendente

put /v1/zcrm/customers/<c_id>/employees/<e_id>

Aggiorna il dipendente esistente con l'ID specificato

Parametri dell'indirizzo

  • c_id — identificativo del cliente
  • e_id — identificativo del dipendente

Parametri

  • employee — nuovi dati del dipendente. Struttura:

                                    {
  "employee": {
    "name": "Steven Knight",
    "position": "manager",
    "position_title": "",
    "comment": "",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "john@example.com"
      }
    ]
}
}

Dove:

  • name — nome del dipendente
  • position — posizione del dipendente. Valori consentiti:
    • ceo — direttore generale
    • director — direttore
    • manager — manager
    • sales_manager — responsabile vendite
    • hr — risorse umane
    • support — assistenza
    • custom — personalizzato
  • position_title — nome di una posizione personalizata (per position = custom)
  • comment — descrizione del dipendente
  • phones — array dei numeri di telefono del dipendente. Ogni numero contiene i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del dipendente. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
    • email_work — e-mail di lavoro
    • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
        • value — valore del contatto

delete /v1/zcrm/customers/<c_id>/employees/<e_id>

Elimina il dipendente in base al suo ID

Parametri dell'indirizzo

  • c_id — identificativo del cliente
  • e_id — identificativo del dipendente

Lead

get /v1/zcrm/leads

Restituisce l'elenco dei lead

Parametri

  • search (opzionale) — campo di ricerca. La ricerca viene effettuata combinando:
    • nome del lead
    • numeri di telefono del lead
    • descrizione del lead
    • indirizzo e codice postale
    • sito web
    • indirizzi e-mail
    • messaggistica instantanea
  • filter (facoltativo) — oggetto con filtri dei lead. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "filter": { "source": "call_incoming", "responsible": 32, "label": 12, "utm": 19, "createdAfter": "2020-06-11 12:24:00", "createdBefore": "2020-06-26 12:24:00" } }

Dove:

  • source — fonte del lead. Valori consentiti:
    • manual — aggiunto manualmente
    • call_incoming — chiamata in entrata
    • call_outgoing — chiamata in uscita
    • form — modulo di feedback
  • responsible — responsabile (identificativo utente). Il parametro consente anche valori speciali:
    • null — restituirà tutti i lead assegnati a qualcuno
    • –1 — restituirà i lead non assegnati
    • –2 — restituirà tutti i lead (sia assegnati che non assegnati)
  • label — tag (identificativo)
  • utm — etichetta della fonte (identificativo)
  • createdAfter — mostra solo i lead creati dopo l'ora specificata (formato: YYYY-MM-DD hh:mm:ss)
  • createdBefore — mostra solo i lead creati prima dell'ora specificata (formato: YYYY-MM-DD hh:mm:ss)

    Qualsiasi parametro del filtro può essere omesso, ovvero non è obbligatorio.

  • sort (opzionale) — ordinamento dei lead. Struttura del parametro:

(Esempio 2)

                                    Esempio 2:
{ "sort": { "attr": "name", "desc": 0 } }

Dove:

  • attr — campo di ordinamento. Valori consentiti:
    • name — nome del lead
    • lead_source — fonte del lead
    • lead_status — stato del lead
    • responsible_user_id — utente responsabile
    • lead_created_at — ora di creazione del lead
  • desc — direzione di ordinamento. Valori consentiti:
    • 0 — in ordine crescente
    • 1 — in ordine decrescente
      • take (per la visualizzazione a pagine) — quanti lead restituire (impostazione predefinita 20)
      • skip (per la visualizzazione a pagine) — quanti lead saltare (impostazione predefinita 0)

Risposta

(Esempio 3)

                                    Esempio 3:
{ "totalCount": 100, "uncategorizedCount": 10, "leads": [ { "id": 3486, "name": "Good Company", "responsible_user_id": 234, "employees_count": "50", "comment": "", "country": "GB", "city": "London", "address": "", "zip": "", "website": "", "lead_status": "not_processed", "lead_source": "manual", "lead_created_at": "2020-04-28 05:47:47", "lead_created_by": 234, "phones": [ { "type": "work", "phone": "+44123456789" } ], "contacts": [ { "type": "email_work", "value": "good_company@example.com" } ], "labels": [ { "id": 22, "label": "Best clients" } ], "utms": [ { "id": 19, "param": "utm_source", "value": "google", "display_value": "Google" } ] } ] }

Dove:

  • totalCount — numero totale di lead trovati (tenendo conto della ricerca e dei filtri)
  • uncategorizedCount — numero totale di lead non assegnati (tenendo conto della ricerca e dei filtri)
  • leads — array di lead (tenendo conto della visualizzazione a pagine). Ogni elemento dell'array contiene i seguenti parametri:
    • id — identificativo del lead
    • name — nome del responsabile
    • responsible_user_id — responsabile (identificativo utente)
    • employees_count — numero di dipendenti. Valori possibili:
      • 50 — meno di 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — descrizione del lead
    • country — Paese del lead. Codice a due lettere (IT, US, ecc.)
    • city — città del lead
  • address — indirizzo del lead
  • zip — codice postale
  • website — sito web del lead
    • lead_status — stato del lead. Valori possibili:
      • not_processed — non elaborato
      • in_progress — in corso
      • finished — completato
    • lead_source — fonte del lead. Valori possibili:
      • manual — manualmente
      • call_incoming — chiamata in entrata
      • call_outgoing — chiamata in uscita
      • form — modulo
    • lead_created_at — data e ora di creazione del lead (nel formato YYYY-MM-DD HH:mm:ss)
    • lead_created_by — chi ha creato il lead (identificativo utente)
  • phones — array dei numeri di telefono del lead. Ogni numero contiene i seguenti campi:
  • type — tipo di numero. Valori possibili:
    • work — di lavorativo
    • personale — personale
      • telefono — valore del numero
      • contacts — array dei contatti del lead. Ogni contatto contiene i seguenti campi:
      • tipo — tipo di contatto. Valori possibili:
    • email_work — e-mail di lavoro
    • email_personal — e-mail personale
    • skype
    • telegram
    • viber
    • whatsapp
      • value — valore del contatto
      • labels — array di tag assegnati al lead. Ogni tag contiene i seguenti campi:
      • id — identificativo del tag
      • label — valore del tag
      • utms — array delle etichette della fonte. Ogni etichetta contiene i seguenti campi:
      • id — identificativo dell'etichetta
      • param — tipo di etichetta. Valori possibili:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — telefono
    • custom — personalizzato
      • value — valore effettivo dell'etichetta
      • display_value — valore visualizzato dell'etichetta

get /v1/zcrm/leads/<lead_id>

Restituisce il lead in base al suo ID

Risposta

                                    {
  "id": 3486,
  "name": "Good Company",
  "responsible_user_id": 234,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "lead_status": "not_processed",
  "lead_source": "manual",
  "lead_created_at": "2020-04-28 05:47:47",
  "lead_created_by": 234,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 22,
      "label": "Best clients"
    }
  ],
  "utms": [
    {
      "id": 19,
      "param": "utm_source",
      "value": "google",
      "display_value": "Google"
    }
  ],
  "custom_properties": [
    {
      "id": 12,
      "key": "loyalty",
      "title": "Loyalty",
      "value": "high"
    }
  ]
}

Dove:

  • id — identificativo del lead
  • name — nome del lead
  • responsible_user_id — responsabile (identificativo utente)
  • employees_count — numero di dipendenti. Valori possibili:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del lead
  • country — Paese del lead. Codice a due lettere (IT, US, ecc.)
  • city — città del lead
  • address — indirizzo del lead
  • zip — codice postale
  • website — sito web del lead
  • lead_status — stato del lead. Valori possibili:
    • not_processed — non assegnato
    • in_progress — in corso
    • finished — completato
  • lead_source — fonte del lead. Valori possibili:
    • manual — manualmente
    • call_incoming — chiamata in entrata
    • call_outgoing — chiamata in uscita
    • form — modulo
  • lead_created_at — data e ora di creazione del lead (nel formato YYYY-MM-DD HH:mm:ss)
  • lead_created_by — chi ha creato il lead (ID utente)
  • phones — array dei numeri di telefono del lead. Ogni numero contiene i seguenti campi:
  • type — tipo di numero. Valori possibili:
  • work — di lavoro
  • personal — personale
  • phone — valore del numero
  • contacts — array dei contatti del lead. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
      • email_work — e-mail di lavoro
      • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto
  • labels — array di tag assegnati al lead. Ogni tag contiene i seguenti campi:
  • id — identificativo del tag
    • label — valore del tag
  • utms — array delle etichette della fonte. Ogni etichetta contiene i seguenti campi:
  • id — identificativo dell'etichetta
  • param — tipo di etichetta. Valori possibili:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — telefono
    • custom — personalizzato
      • value — valore effettivo dell'etichetta
      • display_value — valore visualizzato dell'etichetta

post /v1/zcrm/leads

Crea un nuovo lead con i dati specificati

Parametri

  • convert — convertire il lead in cliente. Valori consentiti:
    • 0 — non convertire, creare lead
    • 1 — creare cliente
    • 2 — scadente (l'operazione verrà annullata — non verrà creato né un lead né un cliente)
  • lead — oggetto con i dati del nuovo lead. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "lead": { "name": "Good Company", "responsible_user_id": 234, "employees_count": "50", "comment": "", "country": "GB", "city": "London", "address": "", "zip": "", "website": "", "lead_source": "manual", "lead_status": "in_progress", "phones": [ { "type": "work", "phone": "+44123456789" } ], "contacts": [ { "type": "email_work", "value": "good_company@example.com" } ], "labels": [ { "id": 22 }, { "id": 23 } ], "utms": [ { "id": 19 }, { "id": 20 } ], "custom_properties": [ { "id": 12, "value": "high" } ] } }

Dove:

  • name — nome del responsabile
  • responsible_user_id — responsabile (identificativo utente)
  • employees_count — numero di dipendenti. Valori ammessi:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del lead
    • country — Paese del lead. Codice a due lettere (IT, US, ecc.)
    • city — città del lead
    • address — indirizzo del lead
    • zip — codice postale del lead
  • website — sito web del lead
  • lead_source — fonte del lead. Valori consentiti:
    • manual — manuale
    • call_incoming — chiamata in entrata
    • call_outgoing — chiamata in uscita
    • form — modulo
  • lead_status — stato del lead. Valori ammessi:
    • not_processed — non assegnato
    • in_progress — in corso
    • finished — completato
  • phones — array di numeri di telefono. Ogni numero deve contenere i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del lead. Ogni contatto deve contenere i seguenti campi:
    • tipo — tipo di contatto. Valori possibili:
      • email_work — e-mail di lavoro
      • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto
      • labels — array di tag aggiunti al lead. Ogni elemento deve contenere:
      • id — identificativo del tag esistente
  • utms — array delle etichette della fonte. Ogni elemento deve contenere:
    • id — identificativo dell'etichetta esistente
  • custom_properties — array di proprietà aggiuntive. Ogni elemento deve contenere:
    • id — identificativo della proprietà aggiuntiva oppure:
    • key — nome univoco della proprietà aggiuntiva
    • value — valore della proprietà aggiuntiva

Risposta

(Esempio 2)

                                    Esempio 2:
{ "id": 123 }

Dove:

  • id — identificativo del lead creato

put /v1/zcrm/leads/<lead_id>

Aggiorna il lead esistente con l'ID specificato

Parametri

  • convert — convertire il lead in cliente. Valori ammessi:
    • 0 — non convertire
    • 1 — creare un cliente
    • 2 — scadente (eliminare il lead)
  • lead — oggetto con i nuovi dati del lead. Struttura dell'oggetto:

                                    {
  "lead": {
    "name": "Good Company",
    "responsible_user_id": 234,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "lead_status": "in_progress",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 22 },
      { "id": 23 }
    ],
    "utms": [
      { "id": 19 },
      { "id": 20 }
    ],
    "custom_properties": [
      {
        "id": 12,
        "value": "high"
      }
    ]
}
}

Dove:

  • name — nome del responsabile
  • responsible_user_id — responsabile (identificativo utente)
  • employees_count — numero di dipendenti. Valori ammessi:
    • 50 — meno di 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — descrizione del lead
    • country — Paese del lead. Codice a due lettere (IT, US, ecc.)
  • city — città del lead
    • address — indirizzo del lead
    • zip — codice postale del lead
    • website — sito web del lead
    • lead_source — fonte del lead. Valori consentiti:
    • manual — manualmente
      • call_incoming — chiamata in entrata
      • call_outgoing — chiamata in uscita
      • form — modulo
  • lead_status — stato del lead. Valori consentiti:
    • not_processed — non assegnato
    • in_progress — in corso
    • finished — completato
  • phones — array di numeri di telefono. Ogni numero deve contenere i seguenti campi:
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
    • phone — valore del numero
  • contacts — array dei contatti del lead. Ogni contatto deve contenere i seguenti campi:
    • tipo — tipo di contatto. Valori possibili:
      • email_work — e-mail di lavoro
      • email_personal — e-mail personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto
      • labels — array di tag aggiunti al lead. Ogni elemento deve contenere:
      • id — identificativo del tag esistente
  • utms — array delle etichette della fonte. Ogni elemento deve contenere:
    • id — identificativo dell'etichetta esistente
  • custom_properties — array di proprietà aggiuntive. Ogni elemento deve contenere:
    • id — identificativo della proprietà aggiuntiva oppure:
    • key — nome univoco della proprietà aggiuntiva
    • value — valore della proprietà aggiuntiva

delete /v1/zcrm/leads/<lead_id>

Elimina il lead in base al suo ID

Utenti

get /v1/zcrm/users

Restituisce l'elenco degli utenti

Risposta

                                    {
  "totalCount": 2,
  "users": [
    {
      "id": 234,
      "email": "john@example.com",
      "name": "John Beam",
      "group_id": 653,
      "is_superadmin": 1,
      "enabled": 1,
      "created_at": "2020-04-27 01:01:31",
      "avatar": 2457,
      "role": "",
      "status": "",
      "language": "en",
      "color": "220",
      "color_hex": "5678BD",
      "internal_number": "100",
      "timezone": "Europe/London",
      "first_day": 1,
      "device": "webphone",
      "phone_widget_location": "right",
      "phones": [
        {
          "phone": "+44123456789",
          "type": "work"
        }
      ],
      "contacts": [
        {
          "type": "email_work",
          "value": "ivanov@example.com"
        }
      ]
    }
  ]
}

Dove:

  • totalCount — numero totale di utenti
  • users — array di utenti. Ogni elemento dell'array contiene i seguenti attributi:
  • id — identificativo dell'utente
    • email — e-mail dell'account utente
    • name — nome utente
    • group_id — identificativo del gruppo utente
    • is_superadmin — indica se l'utente è un super amministratore (1 o 0)
    • enabled — se l'utente è sbloccato (1 o 0)
    • created_at — data e ora di creazione dell'utente (nel formato YYYY-MM-DD hh:mm:ss)
    • avatar — avatar dell'utente (ID file)
    • role — ruolo dell'utente
    • status — stato dell'utente
    • language — lingua dell'interfaccia utente. Opzioni disponibili:
  • de — tedesco
  • en — inglese
  • es — spagnolo
  • pl — polacco
  • ru — russo
  • ua — ucraino
    • color — colore dell'utente nell'interfaccia CRM (solo valore hue — da 0 a 359)
    • color_hex — colore dell'utente nell'interfaccia CRM (rappresentazione hex)
    • internal_number — numero interno del centralino dell'utente
    • timezone — fuso orario dell'utente
    • first_day — indica quale giorno della settimana è l'inizio della settimana:
      • 0 — domenica
      • 1 — lunedì
    • device — utilizzato per le chiamate. Valori possibili:
  • webphone — telefono web
  • softphone — softphone esterno
    • phone_widget_location — posizione del widget del telefono web. Valori possibili:
      • left — posizionare il widget del telefono a sinistra
      • right — posizionare il widget del telefono a destra
    • phones — array di numeri di telefono dell'utente. Ogni numero contiene i seguenti campi:
      • phone — valore del numero
      • type — tipo di numero. Valori possibili:
        • work — di lavoro
        • personal — personale
    • contacts — array dei contatti dell'utente. Ogni contatto contiene i seguenti campi:
  • type — tipo di contatto. Valori possibili:
  • email_work — e-mail di contatto lavorativa
  • email_personal — e-mail di contatto personale
    • skype
    • telegram
    • viber
    • whatsapp
      • value — valore del contatto

get /v1/zcrm/users/<user_id>

Restituisce l'utente in base al suo ID

Risposta

                                    {
  "id": 234,
  "email": "john@example.com",
  "name": "John Beam",
  "group_id": 653,
  "is_superadmin": 1,
  "enabled": 1,
  "created_at": "2020-04-27 01:01:31",
  "avatar": 2457,
  "role": "",
  "status": "",
  "language": "en",
  "color": "220",
  "color_hex": "5678BD",
  "internal_number": "100",
  "timezone": "Europe/London",
  "first_day": 1,
  "device": "webphone",
  "phone_widget_location": "right",
  "phones": [
    {
      "phone": "+44123456789",
      "type": "work"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "simpson@example.com"
    }
  ],
  "pending_email_change_request": false
}

Dove:

  • id — identificativo utente
  • email — e-mail dell'account utente
  • name — nome utente
  • group_id — identificativo del gruppo utente
  • is_superadmin — indica se l'utente è un super amministratore (1 o 0)
  • enabled — se l'utente è sbloccato (1 o 0)
  • created_at — data e ora di creazione dell'utente (nel formato YYYY-MM-DD hh:mm:ss)
  • avatar — avatar dell'utente (identificativo del file)
  • role — ruolo dell'utente
  • status — stato dell'utente
  • language — lingua dell'interfaccia utente. Opzioni disponibili:
    • de — tedesco
    • en — inglese
    • es — spagnolo
    • pl — polacco
    • ru — russo
    • ua — ucraino
  • color — colore dell'utente nell'interfaccia CRM (solo valore hue — da 0 a 359)
  • color_hex — colore dell'utente nell'interfaccia CRM (rappresentazione hex)
  • internal_number — numero interno di centralino dell'utente
  • timezone — fuso orario dell'utente
  • first_day — indica quale giorno della settimana è l'inizio della settimana:
    • 0 — domenica
    • 1 — lunedì
  • device — utilizzato per le chiamate. Valori possibili:
    • webphone — telefono web
    • softphone — softphone di terze parti
  • phone_widget_location — posizione del widget del telefono web. Valori possibili:
    • left — posizionare il widget del telefono a sinistra
    • right — posizionare il widget del telefono a destra
  • phones — array di numeri di telefono dell'utente. Ogni numero contiene i seguenti campi:
    • phone — valore del numero
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • contacts — array dei contatti dell'utente. Ogni contatto contiene i seguenti campi:
    • type — tipo di contatto. Valori possibili:
      • email_work — e-mail di contatto lavorativa
      • email_personal — e-mail di contatto personale
      • skype
      • telegram
      • viber
      • whatsapp
    • value — valore del contatto
  • pending_email_change_request — se è stata inviata una richiesta di modifica dell'indirizzo e-mail dell'account, ma la richiesta non è ancora stata confermata, questo parametro sarà impostato su true

get /v1/zcrm/users/<user_id>/working-hours

Restituisce le ore lavorative dell'utente

Risposta

                                    {
  "schedulePeriod": 7,
  "scheduleWorkingHours": [
    {
      "time_start": "2020-06-15 09:00:00",
      "time_end": "2020-06-15 18:00:00"
    }
  ],
  "scheduleFixes": [
    {
      "index": 2,
      "repeat_index": 1,
      "time_start": "2020-06-24 09:00:00",
      "time_end": "2020-06-24 13:00:00",
      "deleted": 0
    }
  ],
  "customWorkingHours": [
    {
      "time_start": "2020-06-27 11:00:00",
      "time_end": "2020-06-27 15:00:00"
    }
  ]
}

Dove:

  • schedulePeriod — la periodicità dell'orario, come si ripete. Per una settimana lavorativa normale sono 7 giorni, per un orario “un giorno sì e uno no” sono 2 giorni, ecc.
  • scheduleWorkingHours — array di periodi di lavoro. Ogni periodo di lavoro contiene i seguenti attributi:
    • time_start — inizio dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss
    • time_end — fine dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss
  • scheduleFixes — array delle modifiche apportate ai periodi lavorativi definiti nel parametro scheduleWorkingHours. Ogni elemento dell'array contiene i seguenti attributi:
    • index — indice dell'elemento in scheduleWorkingHours, ovvero quale periodo lavorativo è stato modificato
    • repeat_index — indice di ripetizione dell'orario in cui avviene la modifica del periodo lavorativo
    • time_start — nuovo inizio dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss
    • time_end — nuovo termine dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss
    • deleted — se pari a 1, il periodo di lavoro è stato completamente eliminato
  • customWorkingHours — array di periodi lavorativi personalizzati singoli. Ogni periodo lavorativo contiene i seguenti attributi:
    • time_start — inizio dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss
    • time_end — fine dell'orario di lavoro nel formato YYYY-MM-DD hh:mm:ss

get /v1/zcrm/users/groups

Restituisce i gruppi e i diritti degli utenti di ciascuno.

Risposta

                                    {
  "totalCount": 4,
  "groups": [
    {
      "id": 45,
      "type": "manager",
      "title": "",
      "permissions": {
        "customers_create": true,
        "customers_edit": true,
        "customers_delete": true,
        "customers_import_export": true,
        "customers_view_all": false,
        "calendar_other_users_access": false,
        "calls_other_users_access": false,
        "leads_view": false,
        "leads_edit": false,
        "leads_delete": false,
        "leads_import_export": false,
        "team_add": false,
        "team_edit": false
      }
    }
  ]
}

Dove:

  • totalCount — numero totale di gruppi
  • groups — array di gruppi. Ogni gruppo contiene i seguenti attributi:
  • id — identificativo del gruppo
    • type — tipo di gruppo. Valori possibili:
      • admin — amministratori
      • manager — manager
      • chat_operator — operatori
      • trainee — tirocinanti
      • custom — personalizzato
    • title — nome del gruppo di utenti (per type = custom)
    • permissions — diritti degli utenti del gruppo. Gli amministratori hanno accesso completo, quindi per loro questo oggetto sarà vuoto. Gli altri gruppi contengono i seguenti attributi (ognuno dei quali può essere uguale a true o false):
      • customers_create — è consentita la creazione di clienti
      • customers_edit — è consentita la modifica dei clienti
      • customers_delete — è consentita la cancellazione dei clienti
      • customers_import_export — è consentita l'importazione e l'esportazione dei clienti
      • customers_view_all — è consentita la visualizzazione di tutti i clienti, compresi quelli assegnati ad altri utenti
      • calendar_other_users_access — è consentito visualizzare le attività di altri utenti
      • calls_other_users_access — è consentito l'accesso alle chiamate di altri utenti
      • leads_view — è consentita la visualizzazione dei lead di altri utenti
      • leads_edit — è consentita la modifica dei lead di altri utenti
      • leads_delete — è consentita la cancellazione dei lead di altri utenti
      • leads_import_export — è consentito importare ed esportare i lead
      • team_add — è consentito aggiungere e invitare utenti nel team
      • team_edit — è consentita la modifica degli utenti

Contatti generali

get /v1/zcrm/contacts

Restituisce l'elenco di tutti i contatti (clienti, dipendenti, lead, utenti) con i numeri di telefono

Parametri

  • search (opzionale) — campo di ricerca. La ricerca viene effettuata combinando:
  • nomi e numeri di telefono di clienti, lead, dipendenti e utenti
    • numeri interni del centralino degli utenti
  • take (per visualizzazione a pagine) — numero di contatti da restituire (impostazione predefinita 20)
  • skip (per visualizzazione a pagine) — numero di contatti da saltare (impostazione predefinita 0)

Risposta

(Esempio 1)

                                    Esempio 1:
{ "totalCount": 128, "contacts": [ { "contact_type": "customer", }, { "contact_type": "employee", }, { "contact_type": "lead", }, { "contact_type": "user", } ] }

Dove:

  • totalCount — numero totale di contatti (tenendo conto della ricerca)
  • contacts — array di contatti. Ciascuno dei contatti, a seconda del tipo (cliente, dipendente, lead, utente), avrà un proprio set di attributi.

Cliente

(Esempio 2)

                                    Esempio 2:
{ "contact_type": "customer", "id": 3486, "name": "Good Company", "status": "company", "type": "client", "phone": { "phone": "+44123456789", "type": "work" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • customer — cliente
  • id — identificativo del cliente
  • name — nome del cliente
  • status — stato del cliente. Valori possibili:
    • individual — persona fisica
    • company — azienda
  • type — tipo di cliente. Valori possibili:
    • potential — cliente potenziale
    • client — cliente
    • reseller — rivenditore
    • partner — partner
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • responsible — utente responsabile. Contiene i seguenti campi:
    • id — identificativo utente
    • name — nome utente
    • ext_num — numero interno del centralino dell'utente

Dipendente del cliente

(Esempio 3)

                                    Esempio 3:
{ "contact_type": "employee", "id": 8, "name": "Michael Simpson", "phone": { "phone": "+44123456789", "type": "work" }, "position": { "position": "manager", "title": "" }, "customer": { "id": 3486, "name": "Good Company" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • employee — dipendente
  • id — identificativo del dipendente
  • name — nome del dipendente
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — numero vero e proprio
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • position — posizione del dipendente. Contiene i seguenti campi:
    • position — valore della posizione. Valori possibili:
    • ceo — direttore generale
    • director — direttore
    • manager — manager
    • sales_manager — responsabile vendite
    • hr — risorse umane
      • support — supporto
      • custom — personalizzato
        • title — nome di una posizione personalizzata (per position = custom)
  • customer — cliente a cui è assegnato il dipendente. Contiene i seguenti campi:
    • id — identificativo del cliente
    • name — nome del cliente
  • responsible — utente responsabile del cliente principale. Contiene i seguenti campi:
    • id — identificativo utente
    • name — nome utente
    • ext_num — numero interno del centralino dell'utente

Lead

(Esempio 4)

                                    Esempio 4:
{ "contact_type": "lead", "id": 3486, "name": "Good Company", "phone": { "phone": "+44123456789", "type": "work" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • lead — lead
  • id — identificativo del lead
  • name — nome del lead
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • responsible — utente responsabile. Contiene i seguenti campi:
    • id — identificativo utente
    • name — nome utente
    • ext_num — numero interno del centralino dell'utente

Utente

(Esempio 5)

                                    Esempio 5:
{ "contact_type": "user", "id": 234, "name": "John Beam", "avatar": 2457, "role": "", "status": "", "phone": { "phone": "100", "type": "internal" }, "group": { "type": "admin", "title": "" } }

Dove:

  • contact_type — tipo di contatto:
    • user — utente
  • id — identificativo utente
  • name — nome utente
  • avatar — avatar utente (identificativo file)
  • role — ruolo utente
  • status — stato utente
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — il tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
      • internal — numero interno del centralino
  • group — gruppo di utenti. Contiene i seguenti campi:
    • type — tipo di gruppo. Valori possibili:
    • admin — amministratori
    • manager — manager
    • chat_operator — operatori
    • trainee — tirocinanti
    • custom — personalizzato
    • title — nome del gruppo utente (per type = custom)

get /v1/zcrm/contacts/identify

Identifica il contatto (cliente, dipendente, lead, utente) in base al numero di telefono

Parametri

  • phone — numero di telefono

Risposta

La risposta dipenderà dal tipo di contatto trovato (cliente, dipendente, lead, utente).

Cliente

(Esempio 1)

                                    Esempio 1:
{ "contact_type": "customer", "id": 3486, "name": "Good Company", "status": "company", "type": "client", "phone": { "phone": "+44123456789", "type": "work" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • customer — cliente
  • id — identificativo del cliente
  • name — nome del cliente
  • status — stato del cliente. Valori possibili:
    • individual — persona fisica
    • company — azienda
  • type — tipo di cliente. Valori possibili:
    • potential — cliente potenziale
    • client — cliente
    • reseller — rivenditore
    • partner — partner
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • responsible — utente responsabile. Contiene i seguenti campi:
    • id — identificativo utente
    • name — nome utente
    • ext_num — numero interno del centralino dell'utente

Dipendente del cliente

(Esempio 2)

                                    Esempio 2:
{ "contact_type": "employee", "id": 8, "name": "Michael Simpson", "phone": { "phone": "+44123456789", "type": "work" }, "position": { "position": "manager", "title": "" }, "customer": { "id": 3486, "name": "Good Company" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • employee — dipendente
  • id — identificativo del dipendente
  • name — nome del dipendente
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • position — posizione del dipendente. Contiene i seguenti campi:
    • position — valore della posizione. Valori possibili:
      • ceo — amministratore delegato
      • director — direttore
      • manager — manager
      • sales_manager — responsabile vendite
      • hr — risorse umane
      • support — assistenza
      • custom — personalizzato
  • title — nome della posizione personalizzata (per position = custom)
  • customer — cliente a cui è assegnato il dipendente. Contiene i seguenti campi:
    • id — identificativo del cliente
    • name — nome del cliente
  • responsible — utente responsabile del cliente principale. Contiene i seguenti campi:
    • id — identificativo dell'utente
    • name — nome dell'utente
    • ext_num — numero interno del centralino dell'utente

Lead

(Esempio 3)

                                    Esempio 3:
{ "contact_type": "lead", "id": 3486, "name": "Good Company", "phone": { "phone": "+44123456789", "type": "work" }, "responsible": { "id": 234, "name": "John Beam", "ext_num": "100" } }

Dove:

  • contact_type — tipo di contatto:
    • lead — lead
  • id — identificativo del lead
  • name — nome del lead
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
  • responsible — utente responsabile. Contiene i seguenti campi:
    • id — identificativo dell'utente
    • name — nome dell'utente
    • ext_num — numero interno dell'utente

Utente

(Esempio 4)

                                    Esempio 4:
{ "contact_type": "user", "id": 234, "name": "John Beam", "avatar": 2457, "role": "", "status": "", "phone": { "phone": "100", "type": "internal" }, "group": { "type": "admin", "title": "" } }

Dove:

  • contact_type — tipo di contatto:
    • user — utente
  • id — identificativo dell'utente
  • name — nome dell'utente
  • avatar — avatar dell'utente (identificativo del file)
  • role — ruolo dell'utente
  • status — stato dell'utente
  • phone — numero di telefono. Contiene i seguenti campi:
    • phone — il numero stesso
    • type — tipo di numero. Valori possibili:
      • work — di lavoro
      • personal — personale
      • internal — interno numero di centralino
  • group — gruppo utente. Contiene i seguenti campi:
    • type — tipo di gruppo. Valori possibili:
      • admin — amministratori
      • manager — manager
      • chat_operator — operatori
      • trainee — tirocinanti
      • custom — personalizzato
  • title — nome del gruppo utente (per type = custom)

Trattative

get /v1/zcrm/deals

Restituisce l'elenco delle trattative

Parametri

  • search (opzionale) — campo di ricerca. La ricerca delle trattative viene effettuata in base al nome.

  • filter (opzionale) — oggetto con i filtri delle trattative. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "filter": { "currency": "USD", "responsible_user": 20, "status": "new" } }

Dove:

  • currency — valuta della trattativa. Codice ISO 4217 a tre lettere: EUR, USD, ecc.

    • responsible_user — responsabile (identificativo utente)
    • status — stato della trattativa. Valori consentiti:
    • new — nuova trattativa
    • in_progress — in corso
    • decision — in fase di decisione
    • payment — in attesa di pagamento
    • success — trattativa conclusa con successo
    • canceled — trattativa annullata

    Qualsiasi parametro del filtro può essere omesso, ovvero non è obbligatorio.

  • sort (opzionale) — ordinamento delle trattative. Struttura del parametro:

(Esempio 2)

                                    Esempio 2:
{ "sort": { "attr": "name", "desc": 0 } }

Dove:

  • attr — campo di ordinamento. Valori consentiti:
    • title — nome della trattativa
    • budget — budget della trattativa
    • status — stato della trattativa
    • created_at — data di creazione della trattativa
  • desc — direzione di ordinamento. Valori consentiti:
    • 0 — in ordine crescente
    • 1 — in ordine decrescente
  • take (per visualizzazione a pagine) — numero di trattative da restituire (impostazione predefinita 20)

  • skip (per visualizzazione a pagine) — numero di trattative da saltare (impostazione predefinita 0)

Risposta

(Esempio 3)

                                    Esempio 3:
{ "totalCount": 82, "deals": [ { "id": 83, "title": "Good deal", "budget": 990.00, "currency": "USD", "status": "new", "responsible_user": 20, "created_at": "2021-10-05 12:40:10", "created_by": 20, "customer_id": 65, "customer_is_lead": 0, "customer_name": "Good company", "customer_responsible_user": 20 } ] }

Dove:

  • totalCount — numero totale di trattative (tenendo conto della ricerca e del filtro)
  • deals — array di trattative (tenendo conto della visualizzazione a pagine). Ogni elemento dell'array contiene i seguenti parametri:
  • id — identificativo della trattativa
    • title — nome della trattativa
    • budget — budget della trattativa
    • currency — valuta della transazione. Codice ISO 4217 a tre lettere: EUR, USD, ecc.
    • status — stato della trattativa. Valori possibili:
      • new — nuova trattativa
      • in_progress — in corso
      • decision — in fase di decisione
      • payment — in attesa di pagamento
      • success — trattativa conclusa con successo
      • canceled — trattativa annullata
    • responsible_user — responsabile (identificativo utente)
    • created_at — data e ora di creazione della trattativa (nel formato YYYY-MM-DD HH:mm:ss)
    • created_by — chi l'ha creata (identificativo utente)
    • customer_id — identificativo del cliente associato alla trattativa
    • customer_is_lead — flag che indica se il cliente è un lead
    • customer_name — nome del cliente associato alla transazione
    • customer_responsible_user — responsabile del cliente (identificativo utente)

get /v1/zcrm/deals/<deal_id>

Restituisce una trattativa in base al suo ID

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa

Risposta

                                    {
  "id": 83,
  "title": "Good deal",
  "budget": 990.00,
  "currency": "USD",
  "status": "new",
  "responsible_user": 20,
  "created_at": "2021-10-05 12:40:10",
  "created_by": 20,
  "customer_id": 65,
  "customer_is_lead": 0,
  "customer_name": "Good company",
  "customer_responsible_user": 20
}

Dove:

  • id — identificativo della trattativa
  • title — nome della trattativa
  • budget — budget della trattativa
  • currency — valuta della trattativa. Codice ISO 4217 a tre lettere: EUR, USD, ecc.
  • status — stato della trattativa. Valori possibili:
    • new — nuova trattativa
    • in_progress — in corso
    • decision — in fase di decisione
    • payment — in attesa di pagamento
    • success — trattativa conclusa con successo
    • canceled — trattativa annullata
  • responsible_user — responsabile (identificativo utente)
  • created_at — data e ora di creazione della transazione (nel formato YYYY-MM-DD HH:mm:ss)
  • created_by — chi l'ha creata (identificativo utente)
  • customer_id — identificativo del cliente associato alla trattativa
  • customer_is_lead — flag che indica se il cliente è un lead
  • customer_name — nome del cliente associato alla trattativa
  • customer_responsible_user — responsabile del cliente (identificativo utente)

post /v1/zcrm/deals

Crea una nuova trattativa con i dati specificati

Parametri

  • deal — oggetto con i dati della nuova trattativa. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "deal": { "title": "Good deal", "budget": 990.00, "currency": "USD", "status": "new", "responsible_user": 20, "customer_id": 65 } }

Dove:

  • title — nome della trattativa
  • budget — budget della trattativa
  • currency — valuta della trattativa. Codice ISO 4217 a tre lettere: EUR, USD, ecc.
  • status — stato della trattativa. Valori ammessi:
    • new — nuova trattativa
    • in_progress — in corso
    • decision — in fase di decisione
    • payment — in attesa di pagamento
    • success — trattativa conclusa con successo
    • canceled — trattativa annullata
      • responsible_user — responsabile (identificativo utente)
  • customer_id — identificativo del cliente associato alla trattativa

Risposta

(Esempio 2)  
                                    Esempio 2:
{ "id": 83 }
Dove: - **id** — identificativo della trattativa creata

put /v1/zcrm/deals/<deal_id>

Aggiorna una trattativa esistente con l'ID specificato

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa

Parametri

  • deal — nuovi dati della trattativa. Struttura della trattativa:

                                    {
  "deal": { 
  "title": "Good deal",
  "budget": 990.00,
  "currency": "USD",
  "status": "new",
  "responsible_user": 20
}
}

Dove:

  • title — nome della trattativa
  • budget — budget della trattativa
  • currency — valuta della trattativa. Codice ISO 4217 a tre lettere: EUR, USD, ecc.
  • status — stato della trattativa. Valori consentiti:
    • new — nuova trattativa
    • in_progress — in corso
    • decision — in fase di decisione
    • payment — in attesa di pagamento
    • success — trattativa conclusa con successo
    • canceled — trattativa annullata
      • responsible_user — responsabile (identificativo utente)

delete /v1/zcrm/deals/<deal_id>

Elimina una trattativa in base al suo ID

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa

Feed della trattativa

get /v1/zcrm/deals/<deal_id>/feed

Restituisce le note associate alla trattativa

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa

Risposta

                                    {
  "totalCount": 17,
  "items": [
    {
      "id": 37825,
      "type": "note",
      "content": "Call to the client",
      "time": "2020-06-08 06:55:02",
      "user_id": 20,
      "user_name": "John Beam",
      "attached_files": [
        {
          "file_id": 576,
          "original_filename": "document.doc"
        }
      ]
    }
  ]
}

Dove:

  • totalCount — numero totale di registrazioni
  • items — array di registrazioni. Ogni registrazione contiene i seguenti attributi:
    • id — identificativo della registrazione
    • type — tipo di registrazione. Valori possibili:
      • event — evento
      • note — nota testuale
    • content — contenuto della registrazione. Se il tipo di registrazione è una nota, questo attributo contiene il contenuto testuale della nota. Se il tipo di registrazione è un evento, questo attributo contiene l'identificativo dell'evento, ad esempio:
      • DEAL_CREATED — evento di creazione di una trattativa
      • DEAL_STATUS_CHANGED: success — evento di modifica dello stato di una trattativa: trattativa conclusa con successo
    • time — ora della registrazione nel formato YYYY-MM-DD hh:mm:ss
    • user_id — identificativo dell'utente che ha creato la registrazione
    • user_name — nome dell'utente che ha creato la registrazione
    • attached_files — array di file allegati alla nota (se il tipo di registrazione è una nota). Ogni elemento dell'array contiene i seguenti attributi:
  • file_id — identificativo del file
  • original_filename — nome originale del file

post /v1/zcrm/deals/<deal_id>/feed

Aggiunge una nota testuale alla trattativa con la possibilità di allegare file

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa

Parametri

  • content — contenuto testuale della nota
  • files — array dei file allegati

Risposta

                                    {
  "id": 37825,
  "type": "note",
  "content": "Call to the client",
  "time": "2020-06-08 06:55:02",
  "user_id": 20,
  "user_name": "John Beam",
  "attached_files": [
    {
      "file_id": 576,
      "original_filename": "document.doc"
    }
  ]
}

Dove:

  • id — identificativo della registrazione
  • type — tipo di registrazione. In questo caso è pari a:
    • note — nota testuale
  • content — contenuto testuale della nota
  • time — ora della registrazione nel formato YYYY-MM-DD hh:mm:ss
  • user_id — identificativo dell'utente che ha creato la registrazione
  • user_name — nome dell'utente che ha creato la registrazione
  • attached_files — array dei file allegati alla nota (se il tipo di registrazione è una nota). Ogni elemento dell'array contiene i seguenti attributi:
    • file_id — identificativo del file
    • original_filename — nome originale del file

put /v1/zcrm/deals/<deal_id>/feed/<i_id>

Aggiorna il contenuto di una nota di testo esistente in base al suo ID

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa
  • i_id — identificativo della nota

Parametri

  • content — nuovo testo della nota

delete /v1/zcrm/deals/<deal_id>/feed/<i_id>

Elimina una nota dalla trattativa in base al suo ID

Parametri dell'indirizzo

  • deal_id — identificativo della trattativa
  • i_id — identificativo della nota

Attività

get /v1/zcrm/events

Restituisce l'elenco delle attività

Parametri

  • search (opzionale) — campo di ricerca. La ricerca viene effettuata combinando:
    • il nome delle attività
    • descrizione delle attività
    • commento alle attività completate
  • filter (facoltativo) — filtro delle attività. Struttura del filtro:

(Esempio 1)

                                    Esempio 1:
{ "filter": { "responsible": 456, "createdBy": 456, "start": "2020-06-03 02:56:00", "end": "2020-06-12 02:56:00", "completed": 1 } }

Dove:

  • responsible — responsabile (identificativo utente)
  • createdBy — creato da (identificativo utente)
  • start — mostra le attività che iniziano dopo l'ora specificata (nel formato YYYY-MM-DD hh:mm:ss)
  • end — mostra le attività che terminano prima dell'ora specificata (nel formato YYYY-MM-DD hh:mm:ss)
  • completed — imposta su 1 per mostrare anche le attività completate
  • sort (opzionale) — ordinamento delle attività. Struttura del parametro:

(Esempio 2)

                                    Esempio 2:
{ "sort": { "attr": "start", "desc": 0 } }

Dove:

  • attr — campo di ordinamento. Valori consentiti:
    • responsible — utente responsabile
    • title — nome dell'attività
    • start — ora di inizio dell'attività
    • end — ora di fine dell'attività
  • desc — direzione di ordinamento. Valori consentiti:
    • 0 — in ordine crescente
    • 1 — in ordine decrescente

Risposta

(Esempio 3)

                                    Esempio 3:
{ "totalCount": 4, "events": [ { "id": 40, "type": "task", "title": "Create text for Good Company", "description": "", "start": "2020-05-26 09:00:00", "end": "2020-05-26 12:30:00", "allDay": false, "created_by": 234, "responsible_user": 234, "phone": "", "call_done": 0, "completed": 0, "completed_comment": "", "members": [234, 235], "customers": [ { "id": 3486, "name": "Good Company", "status": "company", "type": "client", "lead_source": "manual", "lead_status": "not_processed", "contact_type": "customer" } ] } ] }

Dove:

  • totalCount — numero totale di attività
  • events — array di attività. Ogni attività contiene i seguenti attributi:
  • id — identificativo dell'attività
  • type — tipo di attività. Valori possibili:
  • task — attività
  • call — chiamata
    • title — nome dell'attività
    • description — descrizione dell'attività (in formato Quill Delta)
    • start — data e ora di inizio dell'attività (in formato YYYY-MM-DD hh:mm:ss)
    • end — data e ora di fine dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
    • allDay — attività per l'intera giornata (true o false) — la data è determinata dal parametro start
    • created_by — identificativo dell'utente che ha creato l'attività
    • responsible_user — identificativo dell'utente responsabile dell'attività
    • phone — numero di telefono da chiamare (se il tipo di attività è una chiamata)
    • call_done — indica se la chiamata è stata effettuata
    • completed — indica che l'attività è stata contrassegnata come completata
    • completed_comment — commento al compito completato
    • members — array dei partecipanti al compito (solo identificatori utente)
    • customers — array dei clienti e dei lead associati al compito. Ogni elemento dell'array contiene i seguenti campi:
      • id — identificativo del cliente / lead
      • name — nome del cliente / lead
      • status — stato del cliente. Valori possibili:
        • individual — persona fisica
        • company — azienda
      • type — tipo di cliente. Valori possibili:
  • potential — cliente potenziale
  • client — cliente
  • reseller — rivenditore
  • partner — partner
  • lead_source — fonte del lead. Valori possibili:
  • manual — manuale
  • call_incoming — chiamata in entrata
  • call_outgoing — chiamata in uscita
    • form — modulo
      • lead_status — stato del lead. Valori possibili:
    • not_processed — non assegnato
    • in_progress — in corso
    • finished — completato
      • contact_type — tipo di contatto. Valori possibili:
    • customer — cliente
    • lead — lead

get /v1/zcrm/events/<event_id>

Restituisce l'attività in base al suo ID

Risposta

                                    {
  "id": 40,
  "type": "task",
  "title": "Create text for Good Company",
  "description": "",
  "start": "2020-05-26 09:00:00",
  "end": "2020-05-26 12:30:00",
  "allDay": false,
  "created_by": 234,
  "responsible_user": 234,
  "phone": "",
  "call_done": 0,
  "completed": 0,
  "completed_comment": "",
  "members": [234, 235],
  "customers": [
    {
      "id": 3486,
      "name": "Good Company",
      "status": "company",
      "type": "client",
      "lead_source": "manual",
      "lead_status": "not_processed",
      "contact_type": "customer"
    }
  ]
}

Dove:

  • id — identificativo dell'attività
  • type — tipo di attività. Valori possibili:
    • task — attività
    • call — chiamata
  • title — titolo dell'attività
  • description — descrizione dell'attività (in formato Quill Delta)
  • start — data e ora di inizio dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
  • end — data e ora di fine dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
  • allDay — attività per l'intera giornata (true o false)
  • created_by — identificativo dell'utente che ha creato l'attività.
  • responsible_user — identificativo dell'utente responsabile dell'attività.
  • phone — Numero di telefono da chiamare (se il tipo di attività è una chiamata).
  • call_done — indica se la chiamata è stata effettuata
  • completed — indica che l'attività è stata contrassegnata come completata
  • completed_comment — commento sull'attività completata
  • members — array dei partecipanti all'attività (solo identificatori utente)
  • customers — array di clienti e lead associati all'attività. Ogni elemento dell'array contiene i seguenti campi:
    • id — identificativo cliente / lead
    • name — nome del cliente / lead
    • status — stato del cliente. Valori possibili:
      • individual — persona fisica
      • company — azienda
    • type — tipo di cliente. Valori possibili:
      • potential — potenziale cliente
      • client — cliente
      • reseller — rivenditore
      • partner — partner
    • lead_source — fonte del lead. Valori possibili:
      • manual — manualmente
      • call_incoming — chiamata in entrata
      • call_outgoing — chiamata in uscita
      • form — modulo
    • lead_status — stato del lead. Valori possibili:
      • not_processed — non assegnato
      • in_progress — in corso
      • finished — completato
    • contact_type — tipo di contatto. Valori possibili:
      • customer — cliente
      • lead — lead

post /v1/zcrm/events

Crea una nuova attività con i dati specificati

Parametri

  • event — oggetto con i dati del nuova attività. Struttura dell'oggetto:

(Esempio 1)

                                    Esempio 1:
{ "event": { "type": "task", "title": "Create text for Good Company", "description": "", "start": "2020-05-26 09:00:00", "end": "2020-05-26 12:30:00", "allDay": false, "responsible_user": 234, "phone": "", "members": [234, 235], "customers": [3486, 3487] } }

Dove:

  • type — tipo di attività. Valori consentiti:
    • task — attività
    • call — chiamata
  • title — nome dell'attività
  • description — descrizione dell'attività (in formato Quill Delta)
  • start — data e ora di inizio dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
  • end — data e ora di fine dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
  • allDay — compito per l'intera giornata (true o false)
  • responsible_user — identificativo dell'utente responsabile del compito
  • phone — numero di telefono da chiamare (se il tipo di compito è una chiamata)
  • members — array dei partecipanti al compito (solo identificatori utente)
  • customers — array dei clienti e dei lead associati (solo identificatori dei clienti e dei lead)

Risposta

(Esempio 2)

                                    Esempio 2:
{ "id": 7216 }

Dove:

  • id — identificativo dell'attività creata

put /v1/zcrm/events/<event_id>

Aggiorna l'attività esistente con l'ID specificato

Parametri

  • event — oggetto con i nuovi dati dell'attività. Struttura dell'oggetto:

                                    {
  "event": { 
    "title": "Create text for Good Company",
    "description": "",
    "start": "2020-05-26 09:00:00",
    "end": "2020-05-26 12:30:00",
    "allDay": false,
    "created_by": 234,
    "responsible_user": 234,
    "phone": "",
    "members": [234, 235],
    "customers": [3486, 3487]
}
}

Dove:

  • title — nome dell'attività
  • description — descrizione dell'attività (in formato Quill Delta)
  • start — data e ora di inizio dell'attività (in formato YYYY-MM-DD hh:mm:ss)
  • end — data e ora di fine dell'attività (nel formato YYYY-MM-DD hh:mm:ss)
  • allDay — attività per l'intera giornata (true o false)
  • responsible_user — identificativo dell'utente responsabile dell'attività
  • phone — numero di telefono da chiamare (se il tipo di attività è una chiamata)
    • members — array dei partecipanti all'attività (solo identificatori utente)
    • customers — array dei clienti e dei lead associati (solo identificatori cliente e lead)

post /v1/zcrm/events/<event_id>/close

Completa (chiude) l'attività

Parametri

  • comment (opzionale) — commento

delete /v1/zcrm/events/<event_id>

Elimina l'attività in base al suo ID

Chiamate

get /v1/zcrm/calls

Restituisce l'elenco delle chiamate

Parametri

  • search (opzionale) — campo di ricerca. La ricerca viene effettuata combinando:
    • numeri di telefono
    • nomi dei contatti (clienti, dipendenti, lead o utenti)
  • filter (opzionale) — oggetto con filtri delle chiamate. Struttura dell'oggetto:
  • take (per visualizzazione a pagine) — numero di chiamate da restituire (impostazione predefinita 20)
  • skip (per visualizzazione a pagine) — quante chiamate saltare (impostazione predefinita 0)

(Esempio 1)

                                    Esempio 1:
{ "filter": { "user": 23, "type": "incoming", "status": "answer", "dateFrom": "2020-06-03 14:56:00", "dateTo": "2020-06-26 14:56:00" } }

Dove:

  • user — utente (identificativo)
    • type — tipo di chiamata. Valori consentiti:
    • incoming — chiamata in entrata
    • outgoing — chiamata in uscita
  • status — stato della chiamata. Valori consentiti:
    • answer — chiamata riuscita
    • noanswer — nessuna risposta
    • cancel — annullata
    • busy — occupato
    • call failed — non riuscita
  • dateFrom — mostra solo le chiamate effettuate dopo l'ora specificata (formato: YYYY-MM-DD hh:mm:ss)
  • dateTo — mostra solo le chiamate effettuate prima dell'ora specificata (formato: YYYY-MM-DD hh:mm:ss)

    Qualsiasi parametro del filtro può essere omesso, ovvero non è obbligatorio.

  • sort (opzionale) — ordinamento delle chiamate. Struttura del parametro:

(Esempio 2)

                                    Esempio 2:
{ "sort": { "attr": "time", "desc": 0 } }

Dove:

  • attr — campo di ordinamento. Valori consentiti:
    • phone — numero di telefono
    • status — stato della chiamata
    • duration — durata della chiamata
    • time — ora della chiamata
  • desc — direzione di ordinamento. Valori consentiti:
    • 0 — in ordine crescente
    • 1 — in ordine decrescente

Risposta

(Esempio 3)

                                    Esempio 3:
{ "totalCount": 233, "calls": [ { "id": 127, "type": "outgoing", "status": "answer", "phone": "+44123456789", "user_id": 179, "time": "2019-07-31 17:58:40", "duration": 9, "pbx_call_id": "out_807ghh1h7f09fa7a188dbf8a6998b1c9ghg4ij06", "record": 1, "record_url_till": "2020-07-24 20:08:10", "contact_type": "customer", "contact_name": "Good Company", "contact_customer_id": 3486, "contact_employee_id": null, "employee_customer_id": null, "contact_user_id": null, "is_lead": 1, "record_urls": [ { "url": "https ://api.zadarma.com/v1/pbx/record/download/[...]/[...]/[...].mp3" } ] } ] }

Dove:

  • totalCount — numero totale di chiamate (tenendo conto della ricerca e dei filtri)
  • calls — array di chiamate (tenendo conto della visualizzazione a pagine) . Ogni elemento dell'array contiene i seguenti parametri:
  • id — identificativo della chiamata
    • type — tipo di chiamata. Valori possibili:
      • incoming — chiamata in entrata
      • outgoing — chiamata in uscita
    • status — stato della chiamata. Valori possibili:
      • answer — chiamata riuscita
      • noanswer — senza risposta
      • cancel — annullata
      • busy — occupato
      • failed — non riuscita
    • phone — numero di telefono
    • user_id — utente che ha effettuato o ricevuto la chiamata
    • time — ora della chiamata nel formato YYYY-MM-DD hh:mm:ss
    • duration — durata della chiamata in secondi
    • pbx_call_id — identificativo della chiamata nel centralino
    • record — se la registrazione della chiamata è stata attivata
    • record_url_till — il tempo per cui il link alla registrazione della chiamata rimarrà attivo
    • contact_type — tipo di contatto. Valori possibili:
      • customer — cliente o lead (vedi parametro is_lead)
      • employee — dipendente del cliente
      • user — utente
  • contact_name — nome del contatto
    • contact_customer_id — identificativo del cliente o del lead (se la chiamata è relativa al cliente)
    • contact_employee_id — identificativo del dipendente (se la chiamata è relativa al dipendente)
    • employee_customer_id — identificativo del cliente principale (se la chiamata è relativa al dipendente)
    • contact_user_id — identificativo utente (se la chiamata è associata a un utente)
    • is_lead — indica se la chiamata è associata a un lead
    • record_urls — array di registrazioni delle chiamate (potrebbe non essere presente, poiché deve essere richiesto specificatamente). Ogni elemento dell'array è un oggetto contenente il seguente campo:
  • url — link alla registrazione della chiamata

File

get /v1/zcrm/files/<file_id>

Restituisce il file in base al suo ID

Sistema di notifica delle chiamate - webhook


Il sistema Zadarma può inviare informazioni su ogni chiamata al centralino virtuale e instradare la chiamata al numero interno corretto in base alla risposta. Per farlo, è necessario creare un link pubblico in grado di ricevere richieste POST contenenti le informazioni dal sistema Zadarma.

Passaggio 1. Aggiungi il codice all'inizio dello script

<?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Passaggio 2. Aggiungi l'URL per il webhook

Vai a "Impostazioni" → "Integrazioni e API", nel blocco Notifiche, inserisci il tuo URL nel campo per le notifiche delle chiamate nel centralino, quindi premi “Attiva”

Chiamate

NOTIFY_START

inizio di una chiamata in entrata nel centralino

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_START)
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • caller_id – numero di origine;
  • called_did – numero di destinazione.

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['caller_id'] . $_POST['called_did'] . 
        $_POST['call_start'], API_SECRET));

Per le richieste NOTIFY_START e NOTIFY_IVR è possibile modificare “al volo” lo scenario della chiamata in corso. A tal fine, inviare in risposta al webhook una delle seguenti opzioni:

1. Trasferire la chiamata:

(Esempio 1)

                                    Esempio 1:
{ "redirect": ID, "return_timeout": TIMEOUT (необязательное) }

Dove:

  • redirect - id dello scenario di reindirizzamento (nel formato 0-1, dove 0 è il numero del menu vocale, 1 è il numero dello scenario); oppure nel formato 1, dove 1 è il numero dello scenario (il numero del menu vocale in questo caso è 0); oppure il menu del centralino nel formato 0-main, dove 0 è l'id del menu; oppure il numero interno del centralino (numero a tre cifre); oppure “blacklist” - in questo caso la chiamata verrà rifiutata con un segnale di occupato;
  • return_timeout - Valore in secondi. Valori possibili:
    • 0, la chiamata non tornerà al menu;
    • >= 3 - durata della chiamata al numero interno prima che la chiamata torni al menu;
  • rewrite_forward_number - inoltro al numero di telefono. Parametro opzionale, disponibile solo in combinazione con il parametro redirect. Necessario per sostituire “al volo” il numero di telefono di inoltro specificato nelle impostazioni del numero interno del centralino.

2. Terminare la chiamata:

(Esempio 2)

                                    Esempio 2:
{ "hangup": 1 }

3. Impostare il nome del numero chiamante

È possibile impostare il nome del numero chiamante (campo SIP CallerName) e questo verrà visualizzato nell'applicazione. In questo modo è possibile trasmettere comodamente il nome del chiamante, se il suo numero è presente nel sistema.

(Esempio 3)

                                    Esempio 3:
{ "caller_name": NAME }

Dove:

  • caller_name - nome del numero.

In ciascuna delle seguenti opzioni (numeri 4–7) può essere presente una risposta dell’utente sotto forma di cifre. Parametri di inserimento delle cifre:

(Esempio 4)

                                    Esempio 4:
{ "wait_dtmf": { "timeout": TIMEOUT, "attempts": ATTEMPTS, "maxdigits": MAXDIGITS, "name": NAME, "default": DEFAULT, } }

Dove:

  • timeout - tempo di attesa per l'inserimento dei numeri in secondi;
  • attempts - numero di tentativi di composizione dei numeri da parte dell'utente;
  • maxdigits - numero massimo di numeri che è possibile attendere;
  • name - nome che verrà restituito nella risposta;
  • default - azione da eseguire se non è stata digitata alcuna cifra (si noti che per l'esecuzione dell'azione è necessario riprodurre precedentemente il file con il comando ivr_play secondo il punto 4 riportato di seguito). Valori possibili:
    • id dello scenario di reindirizzamento (nel formato 0-1, dove 0 è il numero del menu vocale, 1 è il numero dello scenario);
    • menu del centralino nel formato 0-main, dove 0 è l'id del menu;
    • numero interno del centralino (numero a tre cifre);
    • hangup - terminare la chiamata.

4. Riprodurre il file:

(Esempio 5)

                                    Esempio 5:
{ "ivr_play": "ID" }

Dove:

  • ivr_play – il valore dalla colonna ID nell'elenco dei file caricati/letti per il file desiderato.

5. Riprodurre la frase popolare:

(Esempio 6)

                                    Esempio 6:
{ "ivr_saypopular": 1, "language": "en" }

Dove:

  • ivr_saypopular – numero della frase dall'elenco;

Elenchi di frasi popolari:

  • Salve
  • Buongiorno
  • Inoltro della chiamata
  • Chiamata dal sito web
  • Benvenuto
  • Messaggio di prova
  • Rimanga in linea
  • Ha chiamato fuori dall'orario di lavoro
  • Tutti i nostri manager sono occupati, risponderà il primo operatore disponibile.
  • Digita il numero interno dell'utente
  • Digita il numero interno del dipendente
  • Digita il numero aggiuntivo
  • Attendi, per favore
  • Digita il numero interno o attendi la risposta dell'operatore
  • Lascia un messaggio, per favore
  • Lascia il tuo messaggio dopo il segnale
  • Richiama durante l'orario di lavoro, per favore
  • Grazie per aver contattato la nostra azienda.
  • Grazie per aver chiamato.
  • Attendere la risposta dell'operatore
  • La sua chiamata è molto importante per noi
  • La chiamata viene registrata
  • Al momento non siamo in ufficio
  • La richiameremo il prima possibile
  • Oggi siamo chiusi.

6. Riproduci i numeri:

(Esempio 7)

                                    Esempio 7:
{ "ivr_saydigits": "12", "language": "en" }

7. Riprodurre il numero (secondo le regole dei numerali complessi):

(Esempio 8)

                                    Esempio 8:
{ "ivr_saynumber": "123", "language": "en" }

Dove:

  • language può assumere uno dei seguenti valori: ru, en, es, pl;

Se sono stati specificati ivr_saydigits o ivr_saynumber, nel successivo evento NOTIFY_IVR verrà aggiunto il parametro: "ivr_saydigits": "COMPLETE" oppure "ivr_saynumber": "COMPLETE"

Nel prossimo evento NOTIFY_IVR verrà specificato anche il parametro:

(Esempio 9)

                                    Esempio 9:
{ "wait_dtmf": { "name": NAME, "digits": DIGITS, "default_behaviour": "1" } }

Dove:

  • name - nome indicato nella risposta precedente;
  • digits - cifre inserite dall'utente;
  • default_behaviour - indicato se l'utente non ha premuto alcun tasto e si è attivato il comportamento predefinito;

NOTIFY_INTERNAL

inizio di una chiamata in entrata sul numero interno del centralino

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_INTERNAL)
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • caller_id – numero di origine;
  • called_did – numero di destinazione;
  • internal – (opzionale) numero interno.
  • transfer_from – (opzionale) iniziatore del trasferimento, numero interno.
  • transfer_type – (opzionale) tipo di trasferimento.

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['caller_id'] . $_POST['called_did'] . 
        $_POST['call_start'], API_SECRET));

NOTIFY_ANSWER

risposta alla chiamata al numero interno o esterno

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_ANSWER)
  • caller_id – numero del chiamante;
  • destination – numero di destinazione;
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • internal – (opzionale) numero interno.
  • transfer_from – (opzionale) iniziatore del trasferimento, numero interno.
  • transfer_type – (opzionale) tipo di trasferimento.

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['caller_id'] . $_POST['destination'] . 
        $_POST['call_start'], API_SECRET));

NOTIFY_END

fine della chiamata in entrata al numero interno del centralino

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_END);
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • caller_id – numero del chiamante;
  • called_did – numero di destinazione;
  • internal – (opzionale) numero interno;
  • duration – durata in secondi;
  • disposition – stato della chiamata:
    • answered – conversazione,
    • busy – occupato,
    • cancel - annullato,
    • no answer - nessuna risposta,
    • failed - non riuscito,
    • no money - fondi insufficienti, limite superato,
    • unallocated number - numero inesistente,
    • no limit - limite superato,
    • no day limit - limite giornaliero superato,
    • line limit - limite di linee superato,
    • no money, no limit - limite superato;
  • last_internal – numero interno, ultimo partecipante alla chiamata (dopo trasferimento o presa della chiamata);
  • status_code – codice di stato della chiamata Q.931;
  • is_recorded - 1 - c'è una registrazione della chiamata, 0 - non c'è registrazione;
  • call_id_with_rec - id della chiamata con registrazione (si consiglia di scaricare il file di registrazione non prima di 40 secondi dopo la notifica, poiché per salvare il file di registrazione è necessario del tempo).

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['caller_id'] . $_POST['called_did'] . 
        $_POST['call_start'], API_SECRET));

NOTIFY_OUT_START

inizio di una chiamata in uscita dal centralino

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_OUT_START);
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • destination – numero di destinazione ;
  • caller_id – numero impostato sul numero interno del centralino o configurato nelle regole di composizione per destinazione. Se il numero non è impostato, viene trasmesso 0.;
  • internal – (opzionale) numero interno.

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['internal'] . $_POST['destination'] . 
        $_POST['call_start'], API_SECRET));

NOTIFY_OUT_END

fine della chiamata in uscita dal centralino

Parametri inviati al link per le notifiche:

  • internal – (opzionale) numero interno;
  • duration – durata in secondi;
  • disposition – stato della chiamata:
    • answered – conversazione,
    • busy – occupato,
    • cancel - annullata,
    • no answer - senza risposta,
    • failed - non riuscita,
    • no money - fondi insufficienti, limite superato,
    • unallocated number - numero inesistente,
    • no limit - limite superato,
    • no day limit - limite giornaliero superato,
    • line limit - limite linee superato,
    • no money, no limit - limite superato;
  • status_code – codice di stato della chiamata Q.931;
  • is_recorded – 1 - chiamata registrata, 0 - chiamata non registrata;
  • call_id_with_rec – id della chiamata registrata (si consiglia di scaricare il file della registrazione non prima di 40 secondi dopo la notifica, poiché è necessario del tempo per salvare il file della registrazione).

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['internal'] . $_POST['destination'] . 
        $_POST['call_start'], API_SECRET));

NOTIFY_RECORD

la registrazione della chiamata è pronta per essere scaricata

Parametri inviati al link per le notifiche:

  • event – evento(NOTIFY_RECORD);
  • call_id_with_rec – Id univoco della chiamata con registrazione della chiamata;
  • pbx_call_id – ID permanente della chiamata esterna nel centralino (non cambia durante lo svolgimento di scenari, menu vocali, transfer ecc., viene visualizzato nelle statistiche e nelle notifiche).

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['pbx_call_id'] . $_POST['call_id_with_rec'], API_SECRET));

NOTIFY_IVR

risposta del chiamante all'azione assegnata

Parametri inviati al link per le notifiche:

  • event – evento (NOTIFY_IVR);
  • call_start – ora di inizio della chiamata;
  • pbx_call_id – id della chiamata;
  • caller_id – numero di origine;
  • called_did – numero di destinazione.

Redazione della sottoscrizione di verifica per la notifica delle chiamate in entrata, esempio in PHP:

                                    $signatureTest = base64_encode(hash_hmac('sha1', 
        $_POST['caller_id'] . $_POST['called_did'] . 
        $_POST['call_start'], API_SECRET));

Le possibili risposte inviate sono simili alle risposte alle richieste. NOTIFY_START

Altri

NUMBER_LOOKUP

rapporto di verifica dei numeri

Parametri inviati al link per le notifiche:

  • event – evento (NUMBER_LOOKUP);
  • success – flag di verifica riuscita;
  • description – descrizione testuale dello stato di completamento della verifica;
  • result – array;
    • number – numero verificato;
    • mcc – codice mobile del Paese;
    • mnc – codice della rete mobile;
    • ported – indicatore di trasferimento ad altro operatore;
    • roaming – indicatore di roaming;
    • error – stato dell'errore;
    • errorDescription – descrizione testuale dell'errore;
    • mccName – nome del Paese;
    • mncName – nome dell'operatore;

Redazione della sottoscrizione di verifica:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

CALL_TRACKING

informazioni sulle chiamate ai numeri collegati al call tracking

Viene inviato ogni 8 minuti, in presenza di nuove chiamate.

Parametri inviati al link per le notifiche:

  • event – evento (CALL_TRACKING)
  • result - array
    • tracker - ID del tracker (puoi trovarlo nella pagina di installazione del codice);
    • start - ora di inizio della chiamata;
    • duration - durata della chiamata in secondi;
    • caller_id - numero di origine;
    • caller_did - numeri di destinazione;
    • source - nome della fonte del visitatore;
    • country - (opzionale) Paese da cui è stata effettuata la chiamata;
    • ga_id - (opzionale, se nelle impostazioni è specificato l'ID di Google Analytics) id del visitatore in Google Analytics;
    • url - indirizzo della pagina da cui è stata effettuata la chiamata;
    • utm_source, utm_medium, utm_campaign, utm_term, utm_content - (opzionale, se durante la visita al sito web erano indicati le etichette utm) etichette utm tramite le quali l'utente è arrivato al sito web l'ultima volta;
    • first_utm - (opzionale, se alla prima visita del sito web erano indicati etichette utm diverse da quelle visitate l'ultima volta) array con le etichette utm sopra indicate, tramite le quali il visitatore è arrivato sul sito per la prima volta;
    • pbx_call_id - id della chiamata (eccetto il numero verde).

Redazione della sottoscrizione di verifica:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

SMS

informazioni sugli SMS in entrata

Parametri inviati al link per le notifiche:

  • event – evento (SMS)
  • result – array;
    • caller_id – numero del mittente;
    • caller_did – numero del destinatario;
    • text – testo del messaggio.

Redazione della sottoscrizione di verifica:

$signatureTest = base64_encode(hash_hmac('sha1', $_POST['result'], API_SECRET));

SPEECH_RECOGNITION

risultato del riconoscimento vocale

Parametri inviati al link per le notifiche:

  • event – evento (SPEECH_RECOGNITION)
  • lang – lingua;
  • call_id – id univoco della chiamata, questo id è indicato nel nome del file con la registrazione della chiamata;
  • pbx_call_id – ID permanente della chiamata esterna nel centralino;
  • voicemail – opzionale, se la registrazione è un messaggio vocale;
  • result:
    • words - array:
      • result - elenco di parole (array):
        • s - ora di inizio della parola
        • e - ora di fine della parola
        • w - parola
      • channel - numero del canale
    • phrases - array:
      • result - frase
      • channel - numero del canale

È possibile impostare il link per cui ricevere le notifiche, nonché attivare/disattivare ogni tipo di notifica nella sezione API dell'area personale.

Affinché il sistema accetti il link, è necessario aggiungere un codice di verifica all'inizio dello script.

DOCUMENT

informazioni sulla verifica dei documenti

                                    {
    "wrong_document": {
        "user_id":1234567,
        "group_id":0,
        "document_type":"passport",
        "message":"The documents you have uploaded cannot be accepted because of low image quality."
    }
}

Parametri inviati al link per le notifiche:

  • event – evento (DOCUMENT);
  • result – risultato della verifica in formato JSON;

Esempio in PHP:

                                    <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?>

Per aumentare la sicurezza, ti consigliamo di consentire l'accesso al tuo link solo da IP 185.45.152.40/30.

Inoltre, se avete rilasciato chiavi di accesso all'API, Ogni richiesta del tuo link sarà accompagnata da un titolo aggiuntivo "Signature", che ti consentirà di verificare l'integrità e l'autenticità dei dati.

È possibile consultare un esempio di script a nel nostro repository su GitHub.