Navigation dans l'API

Présentation


Interface API est gratuit et disponible pour tous les utilisateurs Zadarma.

API a des fonctions principales pour travailler avec:

  • téléphonie et numéros virtuels
  • standard virtuel et ZCRM
  • SMS et HRL-demandes
  • call tracking
  • reconnaissance du discours

Autorisation

Chaque demande qui exige l'autorisation s'accompagne d'un titre supplémentaire, du type:
"Authorization: clé_de l'utilisateur: la signature"

Les clés de l'autorisation il faut recevoir dans l'espace client.

La signature est créée selon l'algorithme suivant:

  • la matrice des paramètres transmis (GET, POST, PUT, DELETE) est classée par le nom du clé par ordre alphabétique;
  • de la matrice reçue la chaîne d'interrogation est formée (par exemple, la fonction http_build_query в PHP), l'exemple"from=DATEFROM&to=DATETO…";
  • et ensuite - est liée selon la formule: la chaîne = le nom_de la méthode la chaîne_d'interrogation md5 (chaîne_d'interrogation), où "le nom_de la méthode" - la chaîne d'interrogation, allant de domaine(avec l'indication de la version API), jusqu'à l'énumération des paramètres, par exemple - '/v1/sip/'
  • la chaîne reçue est en hachage selon l'algorithme sha1 avec la clé secrète de l'utilisateur: hash = hash( la chaîne, la clé_secrète )
  • et ensuite hash est codifié à base64 la signature = 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;

L'exemple prêt de PHP pour travailler avec API, vous pouvez télécharger à GitHub.

Les formats de la réponse: json (par défaut) et xml.

Pour recevoir la réponse d'API dans un format xml, dans la chaîne d'interrogation le paramètre est ajouté "format=xml".

Les limites

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

Dans la réponse l'information sur les limites et l'interrogation actuelle est contenue, par exemple:

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

où,

  • X-Zadarma-Method - la méthode actuelle;
  • X-RateLimit-Remaining - le nombre de demandes restées, en fonction des limites à la méthode et à l'utilisateur;
  • X-RateLimit-Limit - le nombre de total de visites par minute;
  • X-RateLimit-Reset - la limite de temps de redémarrage.

Les limites générales - 100 demandes par minute, pour les méthodes de statistique - 10 demandes par minute.

Dans le cas de blocage, la méthode répond avec 429 le titre "You exceeded the rate limit".

La réponse contient la clé obligatoire "status" (success ou error). Ensuite, selon la méthode, les clés sont transmises avec l'information demandée.

Dans le cas d'erreur la clé supplémentaire est transmise "message" avec la déscription d'erreur.

Toutes les réponses sont accompagnées par des HTTP-titres.

Méthodes

get /v1/info/balance/

le solde de l'utilisateur

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

get /v1/info/price/

le coût d'appel selon le tarif actuel de l'utilisateur

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

Les paramètres:

  • number – le numéro
  • caller_id (optionnel) – le CallerID, qui sera utilisé à la commission de l'appel sortant.


get /v1/info/timezone/

le fuseau horaire de l'utilisateur

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

get /v1/tariff/

l'information sur le tarif actuel de l'utilisateur

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

Où:

  • tariff_id – l'ID du tarif actuel de l'utilisateur;
  • tariff_name – le nom du tarif actuel de l'utilisateur;
  • is_active – le tarif actuel actif ou pas;
  • cost – le coût du tarif;
  • currency – la devise du tarif;
  • used_seconds – le nombre de secondes du tarif utilisées;
  • used_seconds_mobile –le nombre de secondes du tarif utilisées aux mobiles;
  • used_seconds_fix – le nombre de secondes du tarif utilisées aux fixes;
  • tariff_id_for_next_period – l'ID du tarif de l'utilisateur pour la prochaine période;
  • tariff_for_next_period – le nom du tarif de l'utilisateur pour la prochaine période.

get /v1/request/callback/

le rappel automatique

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

Les paramètres:

  • from – votre numéro ou SIP, ou le numéro interne du standard virtuel, ou le numéro de scénario du standard virtuel (dans un format 0-1, où 0 - numéro du menu vocal, 1 - numéro du scénario), où le callback est envoyé;
  • to – le numéro ou SIP, où on appelle;
  • sip (optionnel) – le numéro du SIP-utilisateur ou le numéro interne du standard virtuel (par exemple 100), par lequel passe l'appel. Le CallerID de ce numéro sera utilisé, dans la statistique sera affiché ce numéro SIP/standard virtuel, si pour le numéro indiqué sont activés l'enregistrement des appels ou les préfixes de compositions, ils seront utilisés +;

  • predicted (optionnel) – si cette bannière est indiquée, la demande est prédictive (le système commence à appeler au numéro "to" et s'il le joint, connecte à votre SIP ou numéro);

post /v1/sms/send/

l'envoi des SMS

                                    {
    "status":"success",
    "messages":1,
    "cost":0.24,
    "currency":"USD"
}

Les paramètres:

  • number – le numéro de téléphone pour l'envoi des SMS (indiquer la liste des numéros séparés par des virgules);
  • message – le message (les limites standards de longueur des SMS, en cas de dépassement de la limite – est divisé en quelques SMS);
  • caller_id – (optionnel) le numéro de téléphone, qui a envoyé le SMS (les SMS peuvent être envoyés des numéros confirmés).

Attention: l'envoi des SMS est possible au-delà de la Fédération Russe.

get /v1/request/checknumber/

confirmation du numéro

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

Paramètres

  • caller_id - numéro affiché pendant un appel, seuls les numéros achetés chez Zadarma sont disponibles,
  • to - numéro de téléphone ou SIP appelé,
  • code - code à lire. Seuls les chiffres et une longueur maximale de 20 caractères,
  • lang - langue de lecture. En cas d'absence - est pris à partir du compte de client, vérifié pour la présence dans les langues du système.

post /v1/info/number_lookup/

l'actualisation des contacts

Les paramètres:

  • numbers – la liste des numéros pour l'actualisation dans un format international.

Si numbers contient un numéro, le résultat sera renvoyé immédiatement, si la liste des numéros est indiquée, le résultat sera envoyé à l'adresse indiquée à la page de l'actualisation des contacts ou à l'adresse mail, si l'adresse n'est pas indiquée.

Attention: le réglage de cette méthode s'effectue à la page de l'actualisation des numéros dans l'espace client.

L'exemple de la réponse pour un numéro:

(Réponse 1)

                                    Réponse 1:
{ "status":"success", "info":{ "mcc":"250", "mnc":"01", "mccName":"Russia", "mncName":"Mobile TeleSystems", "ported":false, "roaming":false, "errorDescription":"No Error" } }

L'exemple de la réponse pour plusieurs numéros:

(Réponse 2)

                                    Réponse 2:
{ "status":"success" }

L'exemple de la réponse envoyé à l'adresse indiquée à la page d'actualisation:

(Réponse 3)

                                    Réponse 3:
{ "success":true, "description":"Success", "result": [ { "mcc":"250", "mnc":"01", "ported":false, "roaming":false, "errorDescription":"No Error", "mccName":"Russia", "mncName":"Mobile TeleSystems", "number":"791234567890", }, ... ] }

get /v1/info/lists/currencies/

Liste de devises

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

get /v1/info/lists/languages/

Liste de langues possibles dans l'espace client

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

get /v1/info/lists/tariffs/

Liste de forfaits

                                    {
    "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
                },
                ...
            ]
        },
        ...
    ]
}

Paramètres

  • currency – devise

SIP

get /v1/sip/

la liste de numéros SIP de l'utilisateur

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

Où:

  • id – SIP-id;
  • display_name – le nom affiché;
  • lines – le nombre de lignes;
  • left – le nombre de SIP restés, que vous pouvez créer (dépend de solde et le nombre total de SIP créés).

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

online-statut du numéro SIP de l'utilisateur

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

put /v1/sip/callerid/

le changement de CallerID

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

Les paramètres:

  • id – SIP id, dont le CallerID on change ;
  • number – le numéro, auquel on change dans le format international (de la liste des numéros confirmés ou achetés).

get /v1/sip/redirection/

l'affichage de renvois actuels par les numéros SIP des utilisateurs

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

Les paramètres:

  • id – (optionnel) le choix du SIP id concret.

Où:

  • sip_id – SIP id de l'utilisateur;
  • status – le statut actuel: on ou off;
  • condition – les conditions de renvoi: always – toujours (par défaut), unavailable – dans le cas si le téléphone n'est pas décroché ou la connexion SIP est absente;
  • destination – où est renvoyé l'appel: phone – au numéro de téléphone, pbx – au standard téléphonique virtuel;
  • destination_value – le numéro, auquel est renvoyé l'appel: le numéro de téléphone ou l'ID du standard téléphonique virtuel.

put /v1/sip/redirection/

l'activation/la désactivation de renvoi par le numéro SIP

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

Les paramètres:

  • id – le SIP id;
  • status – le statut de renvoi affiché vers le numéro SIP choisi.

put /v1/sip/redirection/

le changement des paramètres de renvoi

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

Les paramètres:

  • id – le SIP id;
  • type – le type de renvoi: phone – au téléphone;
  • number – le numéro de téléphone.

post /v1/sip/create/

Création de SIP numéro

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

Paramètres

  • name - nom affiché;
  • password - mot de passe;
  • callerid - numéro pour le CallerID;
  • redirect_to_phone - optionnel, renvoi SIP au numéro;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Statistique

get /v1/statistics/

la réception de la statistique générale

(Réponse 1)

                                    Réponse 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" }, … ] }

Les paramètres:

  • start - la date du début d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • sip (optionnel) - filtrer par un SIP-numéro;
  • cost_only (optionnel) - l'affichage des moyens dépensés pour une période;
  • type (optionnel- pour la statistique générale) - le type de demande: général (n'est pas indiqué dans la demande), toll et ru495. (pour la statistique des numéros 0800 et des numéros gratuits 495);
  • skip (optionnel) - le nombre de lignes qu'il faut sauter dans l'échantillon, l'affichage commence de la ligne skip + 1 (est utilisée pour la pagination avec le paramètre limit, par défaut est 0);
  • limit (optionnel) la limite de nombre de lignes affichées (est utilisée pour la pagination avec le paramètre skip, la notion maximale 1000, par défaut 1000).

La période maximale de réception de statistique - un mois. Dans le cas de dépassement dans une demande - la période est automatiquement réduite à 30 jours. Si la date du début n'est pas indiquée, le début du mois est choisi. Si la date de la fin n'est pas indiquée – l'échantillon est limité par la date et l'heure actuelle.

Le nombre maximal de lignes affichées pour une demande - 1000. Pour la pagination utilisez les paramètres skip et limit.

?type=cost_only:

(Réponse 2)

                                    Réponse 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 } ] }

Où:

  • start – la date du début d'affichage de la statistique;
  • end – la date de la fin d'affichage de la statistique;
  • id – l'id de l'appel;
  • sip – le numéro SIP;
  • callstart – l'heure du début d'appel;
  • description – la déscription de la destination d'appel;
  • disposition – le status d'appel:
    • 'answered' – répondu,
    • 'busy' – occupé,
    • 'cancel' - annulé,
    • 'no answer' - aucune réponse,
    • 'failed' - échoué,
    • 'no money' - pas de moyens, limite dépassée,
    • 'unallocated number' - сe numéro n'est pas attribué,
    • 'no limit' - limite dépassée,
    • 'no day limit' - limite de jour dépassée,
    • 'line limit' - limite de lignes dépassée,
    • 'no money, no limit' - limite dépassée;
  • billseconds – la quantité de secondes d'appel;
  • cost – le coût d'une minute d'appel à cette destination;
  • billcost – le coût de minutes payées;
  • currency – la devise du coût;
  • from – le numéro duquel on appelle;
  • to – le numéro vers lequel on appelle.

get /v1/statistics/pbx/

la statistique du standard virtuel

                                    {
    "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"
        },
        …
    ]
}

Les paramètres:

  • start - la date du début d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • version - le format de l'affichage de la statistique (2 - nouveau, 1 - vieux);
  • skip (optionnel) - le nombre de lignes qu'il faut sauter dans l'échantillon, l'affichage commence de la ligne skip + 1 (est utilisée pour la pagination avec le paramètre limit, par défaut est 0);
  • limit - (optionnel) la limite de nombre de lignes affichées (est utilisée pour la pagination avec le paramètre skip, la notion maximale 1000, par défaut 1000);
  • call_type (optionnel) - la direction des appels ('in' pour les appels entrants, 'out' pour les appels sortants). Si ce n'est pas indiqué, tous les appels sont affichés.

Où:

  • start – la date du début d'affichage de la statistique;
  • end – la date de la fin d'affichage de la statistique;
  • version - le format de l'affichage de la statistique (2 - nouveau, 1 - vieux);
  • call_id –l'id d'appel unique, cet id est indiqué dans le nom du fichier d'enregistrement de la conversation (est unique pour chaque enregistrement dans la statistique);
  • sip – le numéro SIP;
  • callstart – l'heure du début d'appel;
  • clid – le CallerID;
  • destination – le numéro vers lequel on appelle;
  • disposition – le status d'appel:
    • 'answered' – répondu,
    • 'busy' – occupé,
    • 'cancel' - annulé,
    • 'no answer' - aucune réponse,
    • 'failed' - échoué,
    • 'no money' - pas de moyens, limite dépassée,
    • 'unallocated number' - сe numéro n'est pas attribué,
    • 'no limit' - limite dépassée,
    • 'no day limit' - limite du jour dépassée,
    • 'line limit' - limite de lignes dépassée,
    • 'no money, no limit' - limite dépassée;
  • seconds – le nombre de secondes d'appel;
  • is_recorded – (true, false) la conversation enregistrée ou pas enregistrée;
  • pbx_call_id – l'ID d'appel permanent au standard téléphonique virtuel (ne change pas en fonction de scénario, SVI, transfer etc, s'affiche dans les statistiques et les notifications);

get /v1/statistics/callback_widget/

la statistique de widget Callback

                                    {
    "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"
                }
            ]
        },
        ...
    ]
}

Les paramètres:

  • start - la date du début d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • widget_id - (optionnel) - l'identifiant du widget au cas d'absence du paramètre, les statistiques de tous les widgets sont prises en compte;

La période maximale de réception de statistique - un mois. Dans le cas de dépassement dans une demande - la période est automatiquement réduite à 30 jours. Si la date du début n'est pas indiquée, le début du mois est choisi. Si la date de la fin n'est pas indiquée – l'échantillon est limité par la date et l'heure actuelle.

Le nombre maximal de lignes affichées pour une demande - 1000. Pour la pagination utilisez les paramètres skip et limit.

Où:

  • start – la date du début d'affichage de la statistique;
  • end – la date de la fin d'affichage de la statistique;
  • id – l'id de session;
  • widget_id – l'id de widget;
  • sip – le numéro SIP;
  • ip – l'adresse IP du visiteur;
  • kind – le type d'événement:
    • 'come' – le visiteur est venu à la page du widget,
    • 'show' – la forme du widget est affiché,
    • 'call' – la demande de rappel,
    • 'call_request' – la demande du rappel automatique,
    • 'rate' – le visiteur a apprécié la conversation,
    • 'fail' – le visiteur a noté qu'il n'y avait pas de rappel,
    • 'close' – le visiteur a fermé la forme de widget;
  • date – la date et l'heure d'appel;
  • referrer_url – l'adresse de la page, duquel le visiteur a passé à la page de widget (seulement pour l'événement 'come');
  • url – l'adresse de la page de widget (seulement pour l'événement 'come');
  • rate – pour l'événement 'show' - le nombre de points reçus, pour l'événement 'rate' - l'évaluation de la conversation;
  • request_call_date – la date et l'heure indiquée par le visiteur, pour lui rappeler (seulement pour l'événement 'call_request');
  • redial – (true, false) on a rappelé ou pas au client (seulement pour l'événement 'call_request');
  • number – le numéro saisi pas le visiteur (pour les événements 'call', 'call_request', 'rate', 'fail').

get /v1/statistics/incoming-calls/

réception de la statistique des appels entrants

                                    {
    "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"
        },
        …
    ]
}

Les paramètres

  • start - la date du début d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage de la statistique (le format - YYYY-MM-DD HH:MM:SS);
  • sip (optionnel) - filtrer par un SIP-numéro;
  • skip (optionnel- n'est pas pris en compte si le paramètre cost_only est indiqué) - le nombre de lignes qu'il faut sauter dans l'échantillon, l'affichage commence de la ligne skip + 1 (est utilisée pour la pagination avec le paramètre limit, par défaut est 0);
  • limit (optionnel- n'est pas pris en compte si le paramètre cost_only est indiqué) - la limite de nombre de lignes affichées (est utilisée pour la pagination avec le paramètre skip, la notion maximale 1000, par défaut 1000).

La période maximale de réception de statistique - un mois. Dans le cas de dépassement dans une demande - la période est automatiquement réduite à 30 jours. Si la date du début n'est pas indiquée, le début du mois est choisi. Si la date de la fin n'est pas indiquée – l'échantillon est limité par la date et l'heure actuelle.

Le nombre maximal de lignes affichées pour une demande - 1000. Pour la pagination utilisez les paramètres skip et limit.

Où:

  • start – la date du début d'affichage de la statistique;
  • end – la date de la fin d'affichage de la statistique;
  • id – l'id d'appel;
  • sip – le numéro SIP;
  • callstart – l'heure du début d'appel;
  • from – le numéro duquel on appelle;
  • to – le numéro vers lequel on appelle;
  • billseconds – le nombre de secondes d'appel;
  • disposition – le status d'appel:
    • 'answered' – répondu,
    • 'busy' – occupé,
    • 'cancel' - annulé,
    • 'no answer' - aucune réponse,
    • 'failed' - échoué,
    • 'no money' - pas de moyens, limite dépassée,
    • 'unallocated number' - сe numéro n'est pas attribué,
    • 'no limit' - limite dépassée,
    • 'no day limit' - limite du jour dépassée,
    • 'line limit' - limite de lignes dépassée,
    • 'no money, no limit' - limite dépassée;
  • description – la déscription de la déstination d'appel.

PBX

post /v1/pbx/redirection/

le changement des paramètres de renvoi sur le numéro interne du standard virtuel

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

Les paramètres:

Pour activer et ajuster le renvoi:

  • pbx_number – le numéro interne du standard téléphonique virtuel, par exemple 100;
  • status – on;
  • type – le type du renvoi voicemail ou phone;
  • destination – le numéro de téléphone ou l'adresse mail, en fonction du paramètre précédent;
  • condition – la condition du renvoi, les notions possibles: always ou noanswer;
  • voicemail_greeting – l'alerte en cas de renvoi, les notions possibles: no, standart, own. Est indiquée qu'au type = voicemail;
  • greeting_file – le fichier d'alerte dans le format mp3 ou wav moins de 5 Mo. Est indiqué qu'au type = voicemail et voicemail_greeting = own;

Pour désactiver le renvoi:

  • pbx_number – le numéro interne du standard téléphonique virtuel, par exemple 100;
  • status – off;

get /v1/pbx/redirection/

la réception des paramètres de renvoi sur le numéro interne du standard virtuel

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

Les paramètres:

  • pbx_number – le numéro interne du standard téléphonique virtuel, par exemple 100;

get /v1/pbx/record/request/

la demande du fichier d'enregistrement d'appel

Les paramètres:

  • call_id – l'id d'appel unique, cet id est indiqué dans le nom de l'enregistrement de conversation (unique pour chaque enregistrement dans les statistiques);
  • pbx_call_id – l'ID d'appel permanent au standard téléphonique virtuel (ne change pas en fonction de scénario, SVI, transfer etc, s'affiche dans les statistiques et les notifications);
  • lifetime – (optionnel) le temps de vie de lien en secondes (minimum- 180, maximum- 5184000, par défaut - 1800).

Une note: il suffit d'indiquer un des paramètres de l'identification (pbx_call_id ou call_id), en indiquant pbx_call_id les liens dans une réponse peuvent être nombreux.

L'exemple de la réponse quand call_id est indiqué, le lien est seul:

(Réponse 1)

                                    Réponse 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" }

L'exemple de la réponse quand pbx_call_id est indiqué , les liens peuvent être nombreux:

(Réponse 2)

                                    Réponse 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" }

Les paramètres:

  • link – le lien au fichier de l'appel;
  • lifetime_till – jusqu'à quand le lien est valable.

post /v1/pbx/waitmelody/upload

chargement de musique

Paramètres

  • file - fichier lui-même

put /v1/pbx/waitmelody/switch

activer/désactiver la musique d'attente pour le standard virtuel

Paramètres

  • state - état (on - act, off - désact);
  • melody - type de musique (none - par défaut sans musique, mymelody - la musique chargée par l'utilisateur)

delete /v1/pbx/waitmelody/delete

suppression de musique

get /v1/pbx/callinfo/

recevoir des paramètres pbx 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"
    }
}

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/pbx/callinfo/url/

changement de url pour pbx call info

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

Paramètres:

  • url - lien;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/pbx/callinfo/notifications/

changement de réaction aux événements NOTIFY_* pour pbx 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"
    }
}

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • notify_start - "true" ou "false" optionnel;
  • notify_internal - "true" ou "false" optionnel;
  • notify_end - "true" ou "false" optionnel;
  • notify_out_start - "true" ou "false" optionnel;
  • notify_out_end - "true" ou "false" optionnel;
  • notify_answer - "true" ou "false" optionnel.

delete /v1/pbx/callinfo/url/

suppression de url pour pbx call info

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/pbx/create/

création du standard virtuel

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

Paramètres:

  • sip_id - SIP numéro pour attacher au standard virtuel, s'il n'est pas indiqué, choisir le SIP libre (optionnel);
  • password - mot de passe du premier numéro du standard virtuel '100';
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

get /v1/pbx/webhooks/

recevoir des paramètres de pbx webhooks

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/pbx/webhooks/url/

changement de url pour pbx webhooks

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • url - lien.

post /v1/pbx/webhooks/hooks/

changement de réaction aux événements pour des autres notifications (Actualisation d'annuaire, Call tracking, SMS et Analyse vocal)

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • number_lookup - "true" ou "false" optionnel;
  • call_tracking - "true" ou "false" optionnel;
  • sms - "true" ou "false" optionnel;
  • speech_recognition - "true" ou "false" optionnel.

delete /v1/pbx/webhooks/url/

suppression de url pour des autres notifications (Actualisation d'annuaire, Call tracking, SMS et Analyse vocal)

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Standard virtuel (numéros internes)

get /v1/pbx/internal/

l'affichage des numéros internes du standard virtuel

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

Où:

  • pbx_id – l'id du standard téléphonique de l'utilisateur;
  • numbers – la liste des numéros internes.

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

le statut en ligne du numéro interne du standard virtuel

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

Où:

  • pbx_id – id du standard téléphonique virtuel;
  • number – le numéro interne du standard téléphonique virtuel;
  • is_online – online-statut (true|false).

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

information sur le numéro interne du standard virtuel

                                    {
    "status": "success",
    "pbx_id": 12345,
    "number": 100,
    "name": "Extension 100",
    "caller_id": "74990000000",
    "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"
}

où:

  • pbx_id – id du standard virtuel;
  • number – numéro interne du standard virtuel;
  • name – nom affiché;
  • caller_id – CallerID;
  • caller_id_app_change – changement de CallerID depuis l'application (true|false);
  • caller_id_by_direction – CallerID selon la direction (true|false);
  • lines – nombre de lignes;
  • ip_restriction – limite d'accès par ip (false si non indiqué);
  • record_store – enregistrement d'appels dans le Cloud (Without recognition|For manual recognition|For automatic speech recognition|false);
  • record_email – email pour l'envoi d'enregistrements d'appels (false si non activé).

put /v1/pbx/internal/recording/

l'activation d'enregistrement des appels sur le numéro interne du standard virtuel

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

Les paramètres:

  • id – le numéro interne du standard téléphonique virtuel;
  • status – le statut: "on" - activer, "off" - désactiver, "on_email" - activer l'envoi des enregistrements par courriel, "off_email" - désactiver l'envoi des enregistrements par courriel, "on_store" - activer l'envoi des enregistrements dans le stockage, "off_store" - désactiver l'envoi des enregistrements dans le stockage;
  • email – (optionnel) la changement de l'adresse éléctronique om les enregistrements sont envoyés. Vous pouvez indiquer jusqu'à 3 adresses email séparées par une virgule;
  • speech_recognition – (optionnel) changement de paramètres de reconnaissance vocale: "all" - tout reconnaître, "optional" - reconnaître sélectivement, "off" - désactiver.

post /v1/pbx/internal/create/

création du numéro du standard virtuel

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • start_number - création du numéro 100 ...999 ou "any" créer un numéro quelconque dans la plage 100-999;
  • quantity - nombre de numéros créés;
  • return_password - optionnel, si 'true' dans la réponse il y aura des mots de passe des numéros créés.

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

demande de mot de passe du numéro interne du standard virtuel, le mot de passe est visible pour une période limitée

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Exemple de réponse:

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

  • password - peut avoir la notion hidden, si le mot de passe n'est pas visible

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

changement de mot de passe du numéro interne

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

Paramètres:

  • value - nouveau mot de passe;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Standard virtuel (SVI)

get /v1/pbx/ivr/sounds/list

liste de fichiers dans le stockage du standard virtuel

post /v1/pbx/ivr/sounds/upload

chargement du fichier

Paramètres

  • name - nom du fichier,
  • file - fichier lui-même.

delete /v1/pbx/ivr/sounds/delete

suppression du fichier par ID

Paramètres

  • id - identificateur du fichier

get /v1/pbx/ivr/

liste de SVI

                                    {
    "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
            }
        },
        ...
    ]
}

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/pbx/ivr/create/

créer le SVI

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • buy - 'true' - création du menu payant.

delete /v1/pbx/ivr/delete/

suppression de SVI

                                    {
    "status": "success"
}

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • menu_id - doit être > 0.

get /v1/pbx/ivr/scenario/

liste de scénario de SVI

                                    {
    "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
        },
        ...
    ]
}

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • menu_id - ID de menu/SVI.

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

création de scénario de SVI

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

Paramètres:

  • push_button - le scénario fonctionne après l'appui: si l'abonné n'appuie pas de bouton, le scénario sans appui fonctionne, 0-9 - boutons, 10 - répondeur, 11-30 - scénarios supplémentaires;
  • title - nom;
  • extension - numéro interne ou numéros séparés par un espace, ou "fax";
  • menu_id - ID de menu/SVI;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

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

suppression de scénario de SVI

                                    {
    "status": "success"
}

Paramètres:

  • scenario_id - ID de scénario;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Reconnaissance du discours

get /v1/speech_recognition/

réception des résultats de la reconnaissance

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

Paramètres

  • call_id - id unique de l'appel, cet id est indiqué dans le nom du fichier avec l'enregistrement de l'appel (unique pour chaque enregistrement de la statistique);
  • lang - langue de reconnaissance (optionnel);
  • return - résultat retourné. Variantes: words - mots, phrases - phrases. (optionnel. par défaut phrases);
  • alternatives - retourner les variantes alternatives. Variantes: 0 - non, 1 - oui. (optionnel. par défaut 0).

Paramètres de la réponse:

  • lang – langue;
  • recognitionStatus: - statut de reconnaissance. Variantes:
    • in progress - en cours de reconnaissance,
    • error - erreur s'est produite pendant la reconnaissance,
    • recognized - reconnu
    • ready for recognize - enregistrement est prêt à la reconnaissance,
    • not available for recognize - enregistrement n'est pas disponible pour la reconnaissance.
  • result:
    • words - matrice:
      • result - liste des mots (matrice):
        • s - heure du début du mot
        • e - heure de la fin du mot
        • w - mot
      • channel - numéro de la chaîne
    • phrases - matrice:
      • result - phrase
      • channel - numéro de la chaîne

put /v1/speech_recognition/

lancement de reconnaissance

                                    {
    "status":"success"
}

Paramètres

  • call_id – id unique de l'appel, cet id est indiqué dans le nom du fichier avec l'enregistrement de l'appel (unique pour chaque enregistrement de la statistique);
  • lang - langue de reconnaissance (optionnel).

Numéros virtuels

get /v1/direct_numbers/

l'information sur les numéros directs de l'utilisateur

                                    {
    "status":"success",
    "info": [
        {
            "number":"442030000000",
            "status":"on",
            "country":"Great Britain",
            "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"
        },
    ...
    ]
}

Les paramètres:

Selon le type de numéros les champs peuvent différer! La description des champs:

  • number – le numéro virtuel acheté de l'utilisateur;
  • status – le statut du numéro;
  • country – le pays (pour common et revenue);
  • description – la déscription: la ville ou le type (pour common et revenue);
  • number_name – "le nom" du numéro virtuel (indiqué par l'utilisateur);
  • sip – SIP, attaché au numéro;
  • sip_name – "le nom" du SIP, attaché au numéro;
  • start_date – la date d'achat du numéro par l'utilisateur;
  • stop_date – la date de l'expiration de paiement de numéro de l'utilisateur;
  • monthly_fee – le coût du numéro (pour common);
  • currency – la devise de coût du numéro (pour common);
  • channels – le nombre de lignes sur le numéro (pour common);
  • minutes – la durée totale des appels entrants pour le mois actuel (pour revenue);
  • autorenew – le renouvellement automatique du numéro activé ou pas (pour common, revenue, rufree);
  • is_on_test – le numéro sur le test ou pas;
  • type – le type du numéro: common (le numéro virtuel), rufree (le numéro gratuit à Moscou), revenue (le numéro gratuit 495 à Moscou).

get /v1/direct_numbers/number/

information sur le numéro acheté

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

Paramètres

  • type - peut avoir une des 3 notions:
    • 'revenue' - Numéro gratuit de Moscou 495;
    • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro.

get /v1/direct_numbers/autoprolongation/

statut de renouvellement

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

Paramètres

  • type - peut avoir une des 2 notions:
    • 'revenue' - Numéro gratuit de Moscou 495;
    • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro;.

put /v1/direct_numbers/autoprolongation/

changer de statut de renouvellement

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

Paramètres

  • type - peut avoir une des 2 notions:
    • 'revenue' - Numéro gratuit de Moscou 495;
    • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro;
  • value - nouveau statut de renouvellement, on ou off.

get /v1/direct_numbers/countries/

liste des pays dont les numéros vous pouvez commander

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

Paramètres

  • language - optionnel, si n'est pas indiquée, en langue de l'espace client.

get /v1/direct_numbers/country/

liste des destinations dans le pays où vous pouvez commander le numéro

                                    {
    "status": "success",
    "info": [
        {
            "id": "3753",
            "countryCode": "49",
            "areaCode": "800",
            "name": "Номер 800 (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": "Аугсбург",
            "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"
        },
        ...
    ]
}

Paramètres

  • language - optionnel, si n'est pas indiquée, en langue de l'espace client;
  • country - iso préfixe du pays (ISO 3166-1 alpha-2).

put /v1/direct_numbers/set_caller_name/

installation de Nom du numéro (caractères latins et chiffres, jusqu'à 30 caractères)

                                    {
    "status": "success",
    "number": "74990000000",
    "caller_name": "test"
}

Paramètres

  • type - peut avoir une des 2 notions:
    • 'revenue' - Numéro gratuit de Moscou 495;
    • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro;
  • caller_name - pour effacer - le champ vide.

put /v1/direct_numbers/set_sip_id/

attachement du numéro au sip ou activation du régime de test

                                    {
    "status": "success",
    "number": "74990000000",
    "sip_id": "00001"
}

Paramètres

  • type - peut avoir une des 3 notions:
    • 'revenue' - Numéro gratuit de Moscou 495;
    • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro;
  • sip_id - sip numéro ou adresse du serveur externe (SIP URI);
  • test_mode - optionnel, (on|off) - pour activer le régime de test.

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

numéro à commander

                                    {
    'status': 'success',
    'numbers': [
        {
            'id': 1712p0D1643D0t42r198658,
            'direction_id': 13755,
            'number': '74990000001'
        },
        {
            'id': 184bdf85006c3f1676be200,
            'direction_id': 13755,
            'number': '74990000000'
        },
        ...
    ]
}

Paramètres:

  • DIRECTION_ID - ID de destination ou fr1;
  • mask - optionnel, pour rechercher des coïncidences par numéros.

post /v1/direct_numbers/order/

commande/achat du numéro

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

Paramètres:

  • number_id - ID du numéro commandé, reçu par une méthode GET /v1/direct_numbers/available/<DIRECTION_ID>/ par exemple: 1712p0D1643D0t42r198658 (s'il n'y a pas de choix des numéros, le paramètre n'est pas utilisé);
  • direction_id - ID de destination/ville;
  • documents_group_id - ID de groupe de documents de l'utilisateur;
  • purpose - description textuelle du but de l'utilisation du numéro (si nécessaire);
  • receive_sms - 1 - activation de réception des SMS (si le numéro gère la réception des SMS);
  • period - 'month' - un mois, '3month' - trois mois (optionnel, la réception des SMS peut être activée sur le numéro ajouté (prépayé) pour au moins 3 mois);
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

post /v1/direct_numbers/prolong/

prolongation du numéro

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

Paramètres:

  • number - numéro prolongé;
  • months - nombre de mois;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Groupe de documents

get /v1/documents/files

liste de fichiers/documents dans le groupe de documents

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • group_id - optionnel, ID de groupe de documents, (0 ou non indiqué - groupe de documents principal).

get /v1/documents/groups/list/

liste de groupe de documents

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

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

données de groupe précis

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

Paramètres:

  • ID - ID de groupe, 0 - groupe de documents principal;
  • user_id - optionnel, pour l'utilisation par des marchands et des utilisateurs créés.

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

vérification: si le groupe de documents convient à la destination/ville

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

Paramètres:

  • ID - ID de groupe, 0 - groupe de documents principal;
  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • direction_id - ID de destination/ville.

post /v1/documents/groups/create/

création du nouveau groupe

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • email - adresse email;
  • salutation - salutation 'MR', 'MS', 'COMPANY';
  • nationality - nationalité, code du pays iso2;
  • first_name - nom;
  • middle_name - optionnel, patronime;
  • last_name - nom de famille;
  • date_of_birth - optionnel, date de naissance;
  • organization - optionnel, nom de l'entreprise;
  • organization_description - optionnel, description d'activité de l'entreprise;
  • organization_reg_number - optionnel, numéro d'enregistrement de l'entreprise;
  • country - pays, code du pays iso2;
  • region - optionnel, région;
  • city - ville;
  • address - adresse complète;
  • zip_code - code postal;
  • street - rue;
  • street_code - optionnel, code de rue, pour Danemark;
  • municipality_code - optionnel, code de municipalité, pour Danemark;
  • building_number - numéro de bâtiment;
  • building_letter - optionnel, lettre dans le numéro de bâtiment;
  • phone - numéro de téléphone;
  • type_of_id - optionnel, type de document: "PASSPORT", "DNI", "NIE", "RESIDENCE_PERMIT", "NATIONAL_ID_CARD", "BUSINESS_REGISTRATION";
  • id_number - optionnel, numéro de document;
  • issuing_authority - optionnel, qui a emis;
  • issuing_date - optionnel, date de l'émission de document;
  • direction_id - optionnel, ID de destination/ville pour vérifier des coïncidences.

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

renouvellement des données de groupe de documents

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

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • email - adresse email;
  • salutation - salutation 'MR', 'MS', 'COMPANY';
  • nationality - nationalité, code du pays iso2;
  • first_name - nom;
  • middle_name - optionnel, patronime;
  • last_name - nom de famille;
  • date_of_birth - optionnel, date de naissance;
  • organization - optionnel, nom de l'entreprise;
  • organization_description - optionnel, description d'activité de l'entreprise;
  • organization_reg_number - optionnel, numéro d'enregistrement de l'entreprise;
  • country - pays, code du pays iso2;
  • region - optionnel, région;
  • city - ville;
  • address - adresse complète;
  • zip_code - code postal;
  • street - rue;
  • street_code - optionnel, code de rue, pour Danemark;
  • municipality_code - optionnel, code de municipalité, pour Danemark;
  • building_number - numéro de bâtiment;
  • building_letter - optionnel, lettre dans le numéro de bâtiment;
  • phone - numéro de téléphone;
  • type_of_id - optionnel, type de document: "PASSPORT", "DNI", "NIE", "RESIDENCE_PERMIT", "NATIONAL_ID_CARD", "BUSINESS_REGISTRATION";
  • id_number - optionnel, numéro de document;
  • issuing_authority - optionnel, qui a emis;
  • issuing_date - optionnel, date de l'émission de document;
  • direction_id - optionnel, ID de destination/ville pour vérifier des coïncidences.

post /v1/documents/upload/

chargement du fichier de document pour le groupe de documents

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • group_id - ID de groupe, 0 - groupe de documents principal;
  • document_type - type de document: '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.

Exemple de demande:

                                    $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'
);

Exemple de réponse:

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

Marchand

get /v1/reseller/account/info/

information sur le compte du marchand

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

post /v1/reseller/account/money_transfer/

Virement du compte du marchand au compte lié et vice versa

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

Paramètres

  • amount - montant;
  • currency - devise;
  • type - type de virement "to_reseller" et "to_user".

get /v1/reseller/users/phones/

Liste de numéros de téléphone de l'utilisateur pour contacter

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

Paramètres

  • user_id - id de l'utilisateur;

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

Ajout de numéro de téléphone de l'utilisateur pour contacter

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

Paramètres

  • user_id - id de l'utilisateur;
  • number - numéro.

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

Modification de numéro de téléphone de l'utilisateur pour contacter

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

Paramètres

  • user_id - id de l'utilisateur;
  • id - ID de numéro, 0 - numéro principal de profil;
  • number - numéro.

post /v1/reseller/users/phones/prove_by_sms

Demande de confirmation de numéro de téléphone de l'utilisateur pour contacter

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

Paramètres

  • user_id - id de l'utilisateur;
  • number - numéro.

post /v1/reseller/users/phones/confirm

Confirmation du numéro pour contacter avec le code de SMS

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

Paramètres

  • user_id - id de l'utilisateur;
  • number - numéro.
  • code - code de confirmation.

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

Enregistrement de l'utilisateur

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

Paramètres

  • email - adresse électronique du client;
  • first_name - nom du client;
  • last_name - optionnel;
  • middle_name - optionnel;
  • organization - optionnel;
  • country - ISO2 code du pays;
  • city - ville du client;
  • address - optionnel;
  • phone - optionnel;
  • password - optionnel;
  • tariff - ID de forfait;
  • tariff_period - optionnel, période de forfait month | year;
  • language - optionnel, code de langue, en;
  • currency - optionnel, code de devise, USD;
  • promocode - optionnel, code promo;
  • gmt - optionnel, GMT;
  • id_card - optionnel, numéro de document ID card, passport.

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

Confirmation d'enregistrement de l'utilisateur

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

Paramètres

  • code - code de la lettre;
  • email - adresse email.

get /v1/reseller/users/list/

Liste d'utilisateurs du marchand affichés page par page (50)

                                    {
    "status": "success",
    "total": 205,
    "total_pages": 5,
    "page": 1,
    "users": [
        {
            "id": "1234",
            "email": "test@domain.com",
            "first_name": "Test",
            "last_name": "Test",
            "organization": "",
            "phone": "74990000001",
            "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
        },
        ...
    ]
}

Paramètres

  • page - numéro de page.

get /v1/reseller/users/find/

Recherche de compte d'utilisateur par un critère (id, email, sip)

                                    {
    "status": "success",
    "user": {
        "id": "1234",
        "email": "test@domain.com",
        "first_name": "Test",
        "last_name": "Test",
        "organization": "",
        "phone": "74990000001",
        "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
    }
}

Paramètres

  • id - optional;
  • sip - optional;
  • email - optional.

get /v1/reseller/users/topup/

Virement du compte du marchand au compte de l'utilisateur

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

Paramètres

  • user_id - id de l'utilisateur;
  • amount - montant;
  • currency - devise.

get /v1/reseller/users/api_key/

Recevoir des clés d'accès à API actuelles de l'utilisateur

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

Paramètres

  • user_id - id de l'utilisateur.

post /v1/reseller/users/api_key/

Recevoir des nouvelles clés d'accès à API de l'utilisateur

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

Paramètres

  • user_id - id de l'utilisateur.

Intégration de widget WebRTC

get /v1/webrtc/get_key/

recevoir la clé pour le widget webrtc. Durée de vie de clé - 72 heures.

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

Paramètres:

  • sip – SIP login ou numéro interne du standard virtuel.

post /v1/webrtc/create/

Création de l'intégration de widget WebRTC

                                    {
    "status": "success"
}

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • domain - nom de domaine.

put /v1/webrtc/

Changement des paramètres de l'intégration de widget WebRTC

                                    {
    "status": "success"
}

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • shape - forme de widget, notions possibles: 'square', 'rounded';
  • position - position de widget, notions possibles: 'top_left', 'top_right', 'bottom_right', 'bottom_left'.

get /v1/webrtc/

Données de l'intégration de widget WebRTC

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

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;

post /v1/webrtc/domain/

Ajouter le domaine à l'intégration de widget WebRTC

                                    {
   "status": "success"
}

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • domain - nom de domaine.

delete /v1/webrtc/domain/

Suppression du domaine de l'intégration de widget WebRTC

                                    {
   "status": "success"
}

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • domain - nom de domaine.

delete /v1/webrtc/

Suppression de l'intégration de widget WebRTC

                                    {
   "status": "success"
}

Paramètres

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés.

Les méthodes ZCRM

Clients

get /v1/zcrm/customers

Renvoie la liste des clients

Les paramètres

  • search (optionnel) — une barre de recherche. La recherche s'effectue combinée par:
    • les noms des clients
    • les numéros des clients
    • la description des clients
    • l'adresse et le code postal.
    • le site
    • les adresses e-mail
    • les messagers
    • les nom des employés
    • les numéros des employés
    • la description des employés
    • les adresses e-mail des employés
    • les messagers des employés
  • filter (optionnel) — le filtre des clients. La structure du filtre:

(Réponse 1)

                                    Réponse 1:
{ "status": "company", "type": "client", "country": "GB", "city": "London", "label": 12, "employees_count": "50", "responsible": 20 }

Où:

  • status — le statut de client. Les notions possibles:
    • individual — la personne physique
    • company — l'entreprise
  • type — le type de client. Les notions possibles:
    • potential — un client potentiel
    • client — un client
    • reseller — le revendeur
    • partner — le partenaire
  • country — le pays de client. Le code à 2 lettres (RU, US etc)
  • city — la ville de client (la ligne)
  • label — le tag (l'identificateur)
  • employees_count — le nombre d'employés. Les notions possibles:
    • 50 — moins 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • responsible — le responsable (l'identificateur de l'utilisateur)

    Chaque paramètre peut être omis, optionnel.

  • sort (optionnel) — le tri des clients. La structure du paramètre:

(Réponse 2)

                                    Réponse 2:
{ "attr": "name", "desc": 0 }

Où:

  • attr — le champ de tri. Les notions possibles:
    • name — le nom du client
    • status — le statut de client
    • type — le type de client
  • desc — la direction de tri. Les notions possibles:
    • 0 — par ordre croissant
    • 1 — par ordre décroissant
      • take (page par page) — combien de clients renvoyer (par défaut 20)
      • skip (page par page) — combien de clients manquer (par défaut 0)

La réponse

(Réponse 3)

                                    Réponse 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" } ] } ] }

Où:

  • totalCount — le nombre total de clients (en tenant compte de la barre de recherche et du filtre)
  • customers — la matrice des clients (page par page). Chaque élément de la matrice contient des paramètres suivants:
    • id — l'identificateur du client
    • name — le nom du client
    • status — le statut de client. Les notions possibles:
      • individual — la personne physique
      • company — l'entreprise
    • type — le type de client. Les notions possibles:
      • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description du client
    • country — le pays de client. Le code à 2 lettres (RU, US etc)
    • city — la ville du client
    • address — l'adresse du client
    • zip — le code postal
    • website — le site web du client
    • created_at — la date et l'heure de la création du client (dans un format YYYY-MM-DD HH:mm:ss)
    • created_by — par qui est créé (l'identificateur de l'utilisateur)
    • lead_source — la source. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • lead_created_at — la date et l'heure de la création de lead, si le client est créé de lead (dans un format YYYY-MM-DD HH:mm:ss)
    • lead_created_by — par qui est créé le lead, si le client est créé de lead (l'identificateur de l'utilisateur)
    • phones — la matrice des numéros de client. Chaque numéro contient les champs:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la notion de numéro
    • contacts — la matrice des contacts de client. Chaque contact a les champs:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact
    • labels — la matrice de tags désignés au client. Chaque tag a les champs:
      • id — l'identificateur de tag
      • label — la notion de tag

get /v1/zcrm/customers/<c_id>

Renvoie un client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

                                    {
  "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"
    }
  ],
  "custom_properties": [
    {
      "id": 18,
      "key": "loyalty",
      "title": "Loyalty",
      "value": "high"
    }
  ]
}

Où:

  • id — l'identificateur du client
  • name — le nom du client
  • status — le statut de client. Les notions possibles:
    • individual — la personne physique
    • company — l'entreprise
  • type — le type de client. Les notions possibles:
    • potential — un client potentiel
    • client — un client
    • reseller — le revendeur
    • partner — le partenaire
  • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
  • employees_count — le nombre d'employés. Les notions possibles:
    • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
  • comment — la description du client
  • country — le pays de client. Le code à 2 lettres (RU, US etc)
  • city — la ville du client
  • address — l'adresse du client
  • zip — le code postal
  • website — le site web du client
  • created_at — la date et l'heure de la création du client (dans un format YYYY-MM-DD HH:mm:ss)
  • created_by — par qui est créé (l'identificateur de l'utilisateur)
  • lead_source — la source. Les notions possibles:
    • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
    • form — la forme
  • lead_created_at — la date et l'heure de la création de lead, si le client est créé de lead (dans un format YYYY-MM-DD HH:mm:ss)
  • lead_created_by — par qui est créé le lead, si le client est créé de lead (l'identificateur de l'utilisateur)
  • phones — la matrice des numéros de client. Chaque numéro contient les champs:
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
    • phone — la notion de numéro
      • contacts — la matrice des contacts de client. Chaque contact a les champs:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
    • value — la valeur de contact
      • labels — la matrice de tags désignés au client. Chaque tag a les champs:
      • id — l'identificateur de tag
    • label — la notion de tag
  • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • title — le nom affiché de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

post /v1/zcrm/customers

Crée un nouveau client avec les données indiquées

Les paramètres

  • customer — les données du nouveau client. La structure de client:

(Réponse 1)

                                    Réponse 1:
{ "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 } ], "custom_properties": [ { "id": 18, "value": "high" } ] }

Où:

  • name — le nom du client
    • status — le statut de client. Les notions possibles:
      • individual — la personne physique
      • company — l'entreprise
    • type — le type de client. Les notions possibles:
      • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description du client
    • country — le pays de client. Le code à 2 lettres (RU, US etc)
    • city — la ville du client
    • address — l'adresse du client
    • zip — le code postal
    • website — le site web du client
    • lead_source — la source. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • phones — la matrice des numéros de client. Chaque numéro contient les champs:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la notion de numéro
    • contacts — la matrice des contacts de client. Chaque contact a les champs:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
      • skype
      • telegram
      • viber
      • whatsapp
    • value — la valeur de contact
    • labels — la matrice de tags désignés au client. Chaque tag a les champs:
      • id — l'identificateur de tag
    • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

La réponse

(Réponse 2)

                                    Réponse 2:
{ "id": 65 }

Où:

  • id — l'identificateur de client créé

put /v1/zcrm/customers/<c_id>

Renouvelle le client existant avec l'ID indiqué

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

  • customer — les données du nouveau client. La structure de client:

                                    {
    "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 }
    ],
    "custom_properties": [
      {
        "id": 18,
        "value": "high"
      }
    ]
}

Où:

  • name — le nom du client
    • status — le statut de client. Les notions possibles:
      • individual — la personne physique
      • company — l'entreprise
    • type — le type de client. Les notions possibles:
      • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description du client
    • country — le pays de client. Le code à 2 lettres (RU, US etc)
    • city — la ville du client
    • address — l'adresse du client
    • zip — le code postal
    • website — le site web du client
    • lead_source — la source. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • phones — la matrice des numéros de client. Chaque numéro contient les champs:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la notion de numéro
    • contacts — la matrice des contacts de client. Chaque contact a les champs:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact
    • labels — la matrice de tags désignés au client. Chaque tag a les champs:
      • id — l'identificateur de tag
    • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

delete /v1/zcrm/customers/<c_id>

Supprime le client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Tags

get /v1/zcrm/customers/labels

Renvoie la liste de tous les tags et leur statistique

La réponse

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

Où:

  • totalCount — le nombre total de tags dans le système
  • labels — la matrice de tags. Chaque tag a des champs suivants:
    • id — l'identificateur de tag
    • label — le nom de tag
    • count — le nombre de clients et leads utilisant ce tag

post /v1/zcrm/customers/labels

Crée un nouveau tag

Les paramètres

  • name — le nom du nouveau tag

La réponse

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

Où:

  • id — l'identificateur de tag créé
  • label — le nom de tag
  • count — le nombre de clients et leads utilisant ce tag (ici toujours égal à 0)

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

Supprime le tag du système par son ID

Les paramètres de l'adresse

  • l_id — l'identificateur de tag

Propriétés avancées

get /v1/zcrm/customers/custom-properties

Renvoie toutes propriétés avancées

La réponse

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

Où:

  • totalCount — le nombre total de caractéristiques supplémentaires.
  • customProperties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • title — le nom affiché de la caractéristique supplémentaire

Fil du client

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

Renvoie les notes dans un fil du client

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

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

Где:

  • totalCount — le nombre total d'enregistrements
  • items — la matrice d'enregistrements. Chaque enregistrement a des attributs suivants:
    • id — l'identificateur d'enregistrement
    • type — le type d'enregistrement. Les notions possibles:
      • event — l'événement
      • note — la note textuelle
      • call — l'appel
    • content — le contenu d'enregistrement. Si le type est la note, cet attribut contient le contenu textuel de la note. Si le type d'enredistrement est l'événement, cet attribut contient l'identificateur d'événement, par exemple:
      • CUSTOMER_CREATED — l'événement de création du client
      • LEAD_CREATED — l'événement de création du lead
    • time — l'heure d'enregistrement dans un format YYYY-MM-DD hh:mm:ss
    • user_id — l'identificateur de l'utilisateur créé l'enregistrement
    • user_name — le nom de l'utilisateur créé l'enregistrement
    • call_id — l'identificateur d'appel (si le type d'enregistrement — l'appel)
    • call_type — le type d'appel. Les notions possibles:
      • incoming — l'appel entrant
      • outgoing — l'appel sotrant
    • call_status — le statut d'appel. Les notions possibles:
      • answer — l'appel réussi
      • noanswer — sans réponse
      • cancel — annulé
      • busy — occupé
      • failed — échoué
    • call_phone — le numéro d'appel
    • call_duration — la durée d'appel en secondes
    • call_record — activé ou pas l'enregistrement d'appel
    • call_contact_name — le nom du contact d'appel
    • attached_files — la matrice des fichiers attachés à la note (si le type d'enregistrement est la note). Chaque élément contient des attributs suivants:
      • file_id — l'identificateur du fichier
      • original_filename — le nom original di fichier

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

Ajoute une note textuelle dans un fil du client avec la possibilité d'attacher les fichiers

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

  • content — le contenu de note textuelle
  • files — la matrice des fichiers attachés

La réponse

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

Où:

  • id — l'identificateur d'enregistrement
  • type — le type d'enregistrement. Dans ce cas il est égal
    • note — la note textuelle
  • content — le contenu textuel de la note
  • time — l'heure d'enregistrement dans un format YYYY-MM-DD hh:mm:ss
  • user_id — l'identificateur de l'utilisateur, créé l'enregistrement
  • user_name — le nom de l'utilisateur, créé l'enregistrement
  • attached_files — la matrice des fichiers attachés à la note (si le type d'enregistrement est la note). Chaque élément contient des attributs suivants:
    • file_id — l'identificateur du fichier
    • original_filename — le nom original di fichier

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

Renouvelle le contenu de la note textuelle existante par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client
  • i_id — l'identificateur de note textuelle

Les paramètres

  • content — le nouveau texte de note textuelle

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

Supprime une note dans un fil du client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client
  • i_id — l'identificateur de note textuelle

Employés

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

Renvoie la liste des employés du client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

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

Où:

  • totalCount — le nombre d'employés de client
  • employees — la matrice des employés de clients. Chaque élément contient les attributs suivants:
    • id — l'identificateur d'employé
    • customer_id — l'identificateur de client connecté à l'employé
    • name — le nom d'employé
    • position — le poste d'employé. Les notions possibles:
      • ceo — le PDG
      • director — le directeur
      • manager — le manager
      • sales_manager — le manager de ventes
      • hr — HR
      • support — le service client
      • custom — arbitraire
    • position_title — le nom du poste (pour position = custom)
    • comment — la description d'employé
    • phones — la matrice de numéros d'employé. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur du numéro
    • contacts — la matrice des contacts d'employé. Chaque contact a des champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact

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

Renvoie l'employé du client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client
  • e_id — l'identificateur d'employé

La réponse

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

Où:

  • id — l'identificateur d'employé
    • customer_id — l'identificateur de client connecté à l'employé
    • name — le nom d'employé
    • position — le poste d'employé. Les notions possibles:
      • ceo — le PDG
      • director — le directeur
      • manager — le manager
      • sales_manager — le manager de ventes
      • hr — HR
      • support — le service client
      • custom — arbitraire
    • position_title — le nom du poste (pour position = custom)
    • comment — la description d'employé
    • phones — la matrice de numéros d'employé. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur du numéro
    • contacts — la matrice des contacts d'employé. Chaque contact a des champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact

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

Crée et sauvegarde un nouvel employé pour un client indiqué

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

  • employee — les données du nouvel employé. La structure d'employé:

(Réponse 1)

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

Où:

  • name — le nom d'employé
    • position — le poste d'employé. Les notions possibles:
      • ceo — le PDG
      • director — le directeur
      • manager — le manager
      • sales_manager — le manager de ventes
      • hr — HR
      • support — le service client
      • custom — arbitraire
    • position_title — le nom du poste (pour position = custom)
    • comment — la description d'employé
    • phones — la matrice de numéros d'employé. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur du numéro
    • contacts — la matrice des contacts d'employé. Chaque contact a des champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact

La réponse

(Réponse 2)

                                    Réponse 2:
{ "id": 23 }

Où:

  • id — l'identificateur du nouvel employé

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

Renouvelle l'employé existant avec l'ID indiqué

Les paramètres de l'adresse

  • c_id — l'identificateur du client
  • e_id — l'identificateur d'employé

Les paramètres

  • employee — les données du nouvel employé. La structure:

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

Où:

  • name — le nom d'employé
  • position — le poste d'employé. Les notions possibles:
    • ceo — le PDG
    • director — le directeur
    • manager — le manager
    • sales_manager — le manager de ventes
    • hr — HR
    • support — le service client
    • custom — arbitraire
  • position_title — le nom du poste (pour position = custom)
  • comment — la description d'employé
  • phones — la matrice de numéros d'employé. Chaque numéro a des champs suivants:
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
    • phone — la valeur du numéro
  • contacts — la matrice des contacts d'employé. Chaque contact a des champs suivants:
    • type — le type de contact. Les notions possibles:
      • email_work — l'e-mail de travail
      • email_personal — l'e-mail personnel
      • skype
      • telegram
      • viber
      • whatsapp
    • value — la valeur de contact

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

Supprime l'employé par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client
  • e_id — l'identificateur d'employé

Tâches

get /v1/zcrm/events

Renvoie la liste des tâches

Les paramètres

  • search (optionnel) — une barre de recherche. La recherche s'effectue combinée par:
    • le nom des tâches
    • la description des tâches
    • le commentaire des tâches achevées
  • filter (optionnel) — le filtre des tâches. La structure du filtre:

(Réponse 1)

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

Où:

  • responsible — le responsable (l'identificateur de l'utilisateur)
  • createdBy — créé (l'identificateur de l'utilisateur)
  • start — afficher les tâches, qui commencent après une période indiquée (dans un format YYYY-MM-DD hh:mm:ss)
  • end — afficher les tâches qui finissent avant une période indiquée (dans un format YYYY-MM-DD hh:mm:ss)
  • completed — indiquez en 1, pour afficher des tâches achevées
  • sort (optionnel) — le tri des tâches. La structure du paramètre:

(Réponse 2)

                                    Réponse 2:
{ "attr": "start", "desc": 0 }

Où:

  • attr — le champ de tri. Les notions possibles:
    • responsible — l'utilisateur responsable
    • title — le nom de tâche
    • start — l'heure du début de tâche
    • end — l'heure de la fin de tâche
  • desc — la direction de tri. Les notions possibles:
    • 0 — par ordre croissant
    • 1 — par ordre décroissant

La réponse

(Réponse 3)

                                    Réponse 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" } ] } ] }

Où:

  • totalCount — le nombre total de tâches
  • events — la matrice de tâches. Chaque tâche contient les attributs suivants:
    • id — l'identificateur de tâche
    • type — le type de tâche. Les notions possibles:
      • task — la tâche
      • call — l'appel
    • title — le nom de tâche
    • description — la description de tâche (dans le format Quill Delta)
    • start — la date et l'heure du début de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • end — la date et l'heure de la fin de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • allDay — la tâche pour toute la journée (true ou false) — la date est définie par le paramètre start
    • created_by — l'identificateur de l'utilisateur qui a créé la tâche
    • responsible_user — l'identificateur de l'utilisateur qui est responsable de la tâche
    • phone — le numéro de téléphone pour l'appel (si le type de la tâche est l'appel)
    • call_done — indique si l'appel est effectué
    • completed — indique que la tâche est finie
    • completed_comment — le commentaire à la tâche finie
    • members — la matrice des participants de la tâche (seulement les identificateurs des utilisateurs)
    • customers — la matrice des clients et leads attachés à la tâche. Chaque élément de la matrice contient les champs suivants:
      • id — l'identificateur du client / lead
      • name — le nom du client / lead
      • status — le statut de client. Les notions possibles:
        • individual — la personne physique
        • company — l'entreprise
      • type — le type de client. Les notions possibles:
        • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
      • lead_source — la source. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
      • lead_status —le statut de lead. Les notions possibles:
        • not_processed — non traité
        • in_progress — en cours de traitement
        • finished — achevé
      • contact_type — le type de contact. Les notions possibles:
        • customer — le client
        • lead — le lead

get /v1/zcrm/events/<event_id>

Renvoie une tâche par son ID

La réponse

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

Où:

  • id — l'identificateur de tâche
    • type — le type de tâche. Les notions possibles:
      • task — la tâche
      • call — l'appel
    • title — le nom de tâche
    • description — la description de tâche (dans le format Quill Delta)
    • start — la date et l'heure du début de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • end — la date et l'heure de la fin de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • allDay — la tâche pour toute la journée (true ou false) — la date est définie par le paramètre start
    • created_by — l'identificateur de l'utilisateur qui a créé la tâche
    • responsible_user — l'identificateur de l'utilisateur qui est responsable de la tâche
    • phone — le numéro de téléphone pour l'appel (si le type de la tâche est l'appel)
    • call_done — indique si l'appel est effectué
    • completed — indique que la tâche est finie
    • completed_comment — le commentaire à la tâche finie
    • members — la matrice des participants de la tâche (seulement les identificateurs des utilisateurs)
    • customers — la matrice des clients et leads attachés à la tâche. Chaque élément de la matrice contient les champs suivants:
      • id — l'identificateur du client / lead
      • name — le nom du client / lead
      • status — le statut de client. Les notions possibles:
        • individual — la personne physique
        • company — l'entreprise
      • type — le type de client. Les notions possibles:
        • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
      • lead_source — la source. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
      • lead_status —le statut de lead. Les notions possibles:
        • not_processed — non traité
        • in_progress — en cours de traitement
        • finished — achevé
      • contact_type — le type de contact. Les notions possibles:
        • customer — le client
        • lead — le lead

post /v1/zcrm/events

Crée une nouvelle tâche avec les données indiquées

Les paramètres

  • event — les données de la nouvelle tâche. La structure:

(Réponse 1)

                                    Réponse 1:
{ "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] }

Où:

  • type — le type de tâche. Les notions possibles:
    • task — la tâche
    • call — l'appel
  • title — le nom de tâche
  • description — la description de tâche (dans le format Quill Delta)
  • start — la date et l'heure du début de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
  • end — la date et l'heure de la fin de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
  • allDay — la tâche pour toute la journée (true ou false)
  • created_by — l'identificateur de l'utilisateur qui a créé la tâche
  • responsible_user — l'identificateur de l'utilisateur qui est responsable de la tâche
  • phone — le numéro de téléphone pour l'appel (si le type de la tâche est l'appel)
    • members — la matrice des participants de la tâche (seulement les identificateurs des utilisateurs)
  • customers — la matrice des clients et leads attachés à la tâche (seulement les identificateurs des clients et leads).

La réponse

(Réponse 2)

                                    Réponse 2:
{ "id": 7216 }

Où:

  • id — l'identificateur de la tâche créée

put /v1/zcrm/events/<event_id>

Renouvelle une tâche existante avec l'ID indiqué

Les paramètres

  • event — les données de la nouvelle tâche. La structure:

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

Où:

  • title — le nom de tâche
    • description — la description de tâche (dans le format Quill Delta)
    • start — la date et l'heure du début de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • end — la date et l'heure de la fin de la tâche (dans le format YYYY-MM-DD hh:mm:ss)
    • allDay — la tâche pour toute la journée (true ou false)
    • created_by — l'identificateur de l'utilisateur qui a créé la tâche
    • responsible_user — l'identificateur de l'utilisateur qui est responsable de la tâche
    • phone — le numéro de téléphone pour l'appel (si le type de la tâche est l'appel)
    • members — la matrice des participants de la tâche (seulement les identificateurs des utilisateurs)
    • customers — la matrice des clients et leads attachés à la tâche (seulement les identificateurs des clients et leads).

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

Termine (ferme) une tâche

Les paramètres

  • comment (optionnel) — le commentaire

delete /v1/zcrm/events/<event_id>

Supprime une tâche par son ID

Leads

get /v1/zcrm/leads

Renvoie la liste des leads

Les paramètres

  • search (optionnel) — une barre de recherche. La recherche s'effectue combinée par:
    • les noms de lead
    • les numéros de lead
    • la description de lead
    • l'adresse et le code postal.
    • le site
    • les adresses e-mail
    • les messagers
  • filter(optionnel) — le filtre des leads. La structure du filtre:

(Réponse 1)

                                    Réponse 1:
{ "source": "call_incoming", "responsible": 32, "label": 12, "createdAfter": "2020-06-11 12:24:00", "createdBefore": "2020-06-26 12:24:00" }

Où:

  • source — la source de lead. Les notions possibles:
    • manual — ajouter à la main
    • call_incoming — l'appel entrant
    • call_outgoing — l'appel sortant
    • form — le formulaire en ligne
  • responsible — le responsable (l'identificateur de l'utilisateur). Le paramètre autorise les notions spéciales:
    • null — renvoie tous les leads non désignés
    • –1 — renvoie les leads non traités
    • –2 — renvoie tous les leads (et désignés, et traités)
  • label — le tag (l'identificateur)
  • createdAfter — afficher les leads créés après une période indiquée (un format: YYYY-MM-DD hh:mm:ss)
  • createdBefore — afficher les leads créés jusqu'à la période indiquée (un format: YYYY-MM-DD hh:mm:ss)

    Chaque paramètre peut être omis, optionnel.

  • sort (optionnel) — le tri des leads. La structure du paramètre:

(Réponse 2)

                                    Réponse 2:
{ "attr": "name", "desc": 0 }

Où:

  • attr — le champ de tri. Les notions possibles:
    • name — le nom de lead
    • lead_source — la source de lead
    • lead_status — le statut de lead
    • responsible_user_id — l'utilisateur responsable
    • lead_created_at — l'heure de création de lead
  • desc — la direction de tri. Les notions possibles:
    • 0 — par ordre croissant
    • 1 — par ordre décroissant
      • take (page par page) — combien de leads renvoyer (par défaut 20)
      • skip (page par page) — combien de leads manquer (par défaut 0)

La réponse

(Réponse 3)

                                    Réponse 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" } ] } ] }

Où:

  • totalCount — le nombre total de leads trouvés (en tenant compte de la barre de recherche et du filtre)
  • uncategorizedCount — le nombre total de leads non traités (en tenant compte de la barre de recherche et du filtre)
  • leads — la matrice de leads (page par page). Chaque élément contient les paramètres suivants:
    • id — l'identificateur de lead
    • name — le nom de lead
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description de lead
    • country — le pays de lead. Le code à 2 lettres (RU, US etc)
    • city — la ville de lead
    • address — l'adresse de lead
    • zip — le code postal
    • website — le site web de lead
    • lead_status — le statut de lead. Les notions possibles:
      • not_processed — non traité
      • in_progress — en cours de traitement
      • finished — achevé
    • lead_source — la source de lead. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • lead_created_at — la date et l'heure de la création de lead (dans un format YYYY-MM-DD HH:mm:ss)
    • lead_created_by — par qui est créé le lead (l'identificateur de l'utilisateur)
    • phones —la matrice de numéros de lead. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur de numéro
    • contacts —la matrice de contacts de lead. Chaque contact contient les champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact
    • labels — la matrice de tags désignés au lead. Chaque tag contient des champs suivants:
      • id — l'identificateur de tag
      • label — la notion de tag

get /v1/zcrm/leads/<lead_id>

Renvoie le lead par son ID

La réponse

                                    {
  "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": "Лучшие клиенты"
    }
  ],
  "custom_properties": [
    {
      "id": 12,
      "key": "loyalty",
      "title": "Лояльность",
      "value": "high"
    }
  ]
}

Où:

  • id — l'identificateur de lead
    • name — le nom de lead
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description de lead
    • country — le pays de lead. Le code à 2 lettres (RU, US etc)
    • city — la ville de lead
    • address — l'adresse de lead
    • zip — le code postal
    • website — le site web de lead
    • lead_status — le statut de lead. Les notions possibles:
      • not_processed — non traité
      • in_progress — en cours de traitement
      • finished — achevé
    • lead_source — la source de lead. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • lead_created_at — la date et l'heure de la création de lead (dans un format YYYY-MM-DD HH:mm:ss)
    • lead_created_by — par qui est créé le lead (l'identificateur de l'utilisateur)
    • phones —la matrice de numéros de lead. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur de numéro
    • contacts —la matrice de contacts de lead. Chaque contact contient les champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact
    • labels — la matrice de tags désignés au lead. Chaque tag contient des champs suivants:
      • id — l'identificateur de tag
      • label — la notion de tag

post /v1/zcrm/leads

Crée un nouveau lead avec les données indiquées

Les paramètres

  • convert — convertir le lead en client. Les notions possibles:
    • 0 — ne pas convertir, créer le lead
    • 1 — créer le client
    • 2 — défectueux (supprimer le lead)
  • lead — les données de nouveau lead. La structure de lead:

(Réponse 1)

                                    Réponse 1:
{ "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 } ], "custom_properties": [ { "id": 12, "value": "high" } ] }

Où:

  • name — le nom de lead
  • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
  • employees_count — le nombre d'employés. Les notions possibles:
    • 50 — moins 50
    • 50_250 — 50 – 250
    • 250_500 — 250 – 500
  • comment — la description de lead
  • country — le pays de lead. Le code à 2 lettres (RU, US etc)
  • city — la ville de lead
  • address — l'adresse de lead
  • zip — le code postal
  • website — le site web de lead
  • lead_status — le statut de lead. Les notions possibles:
    • not_processed — non traité
    • in_progress — en cours de traitement
    • finished — achevé
  • lead_source — la source de lead. Les notions possibles:
    • manual — à la main
    • call_incoming — l'appel entrant
    • call_outgoing — l'appel sortant
    • form — la forme
  • lead_created_at — la date et l'heure de la création de lead (dans un format YYYY-MM-DD HH:mm:ss)
  • lead_created_by — par qui est créé le lead (l'identificateur de l'utilisateur)
  • phones —la matrice de numéros de lead. Chaque numéro a des champs suivants:
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
    • phone — la valeur de numéro
  • contacts —la matrice de contacts de lead. Chaque contact contient les champs suivants:
    • type — le type de contact. Les notions possibles:
      • email_work — l'e-mail de travail
      • email_personal — l'e-mail personnel
      • skype
      • telegram
      • viber
      • whatsapp
    • value — la valeur de contact
  • labels — la matrice de tags désignés au lead. Chaque tag contient des champs suivants:
    • id — l'identificateur de tag
  • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
  • id — l'identificateur de la caractéristique supplémentaire
  • key — le nom unique de la caractéristique supplémentaire
  • value — la notion de la caractéristique supplémentaire

La réponse

(Réponse 2)

                                    Réponse 2:
{ "id": 123 }

Où:

  • id — l'identificateur de lead créé

put /v1/zcrm/leads/<lead_id>

Renouvelle un lead existant avec l'ID indiqué

Les paramètres

  • convert — convertir le lead en client. Les notions possibles:
    • 0 — ne pas convertir, créer le lead
    • 1 — créer le client
    • 2 — défectueux (supprimer le lead)
  • lead — les données de nouveau lead. La structure de 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 }
    ],
    "custom_properties": [
      {
        "id": 12,
        "value": "high"
      }
    ]
}

Où:

  • name — le nom de lead
    • responsible_user_id — le responsable (l'identificateur de l'utilisateur)
    • employees_count — le nombre d'employés. Les notions possibles:
      • 50 — moins 50
      • 50_250 — 50 – 250
      • 250_500 — 250 – 500
    • comment — la description de lead
    • country — le pays de lead. Le code à 2 lettres (RU, US etc)
    • city — la ville de lead
    • address — l'adresse de lead
    • zip — le code postal
    • website — le site web de lead
    • lead_status — le statut de lead. Les notions possibles:
      • not_processed — non traité
      • in_progress — en cours de traitement
      • finished — achevé
    • lead_source — la source de lead. Les notions possibles:
      • manual — à la main
      • call_incoming — l'appel entrant
      • call_outgoing — l'appel sortant
      • form — la forme
    • lead_created_at — la date et l'heure de la création de lead (dans un format YYYY-MM-DD HH:mm:ss)
    • lead_created_by — par qui est créé le lead (l'identificateur de l'utilisateur)
    • phones —la matrice de numéros de lead. Chaque numéro a des champs suivants:
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
      • phone — la valeur de numéro
    • contacts —la matrice de contacts de lead. Chaque contact contient les champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur de contact
    • labels — la matrice de tags désignés au lead. Chaque tag contient des champs suivants:
      • id — l'identificateur de tag
    • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

delete /v1/zcrm/leads/<lead_id>

Supprime un lead par son ID

Utilisateurs

get /v1/zcrm/users

Renvoie la liste des utilisateurs

La réponse

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

Où:

  • totalCount — le nombre total d'utilisateurs
  • users — la matrice des utilisateurs. Chaque élément de la matrice contient des attributs suivants:
    • id — l'identificateur de l'utilisateur
    • email — l'e-mail de compte de l'utilisateur
    • name — le nom de l'utilisateur
    • group_id — l'identificateur de groupe de l'utilisateur
    • is_superadmin — indique si l'utilisateur est administrateur (1 ou 0)
    • enabled — si l'utilisateur est déverrouillé (1 ou 0)
    • created_at — la date et l'heure de la création de l'utilisateur (dans le format YYYY-MM-DD hh:mm:ss)
    • avatar — l'avatar de l'utilisateur (l'identificateur du fichier)
    • role — le poste de l'utilisateur
    • status — le statut de l'utilisateur
    • language — la langue de l'interface de l'utilisateur. Les variantes possibles:
      • de — allemand
      • en — anglais
      • es — espagnol
      • pl — polonais
      • ru — russe
      • ua — ukrainien
    • color — la couleur de l'utilisateur dans l'interface ZCRM ( que la valeur hue — de 0 à 359)
    • color_hex — la couleur de l'utilisateur dans l'interface ZCRM (hex-présentation)
    • internal_number — le numéro interne du standard téléphonique virtuel de l'utilisateur
    • timezone — la zone temporaire de l'utilisateur
    • first_day — définie le jour de la semaine qui est le premier de la semaine:
      • 0 — dimanche
      • 1 — lundi
    • device — ce qui est utilisé pour les appels. Les notions possibles:
      • webphone — le téléphone web
      • softphone — le softphone installé
    • phone_widget_location — la position du widget du téléphone web. Les notions possibles:
      • left — placer le widget dans la partie gauche de la page
      • right — placer le widget dans la partie droite de la page
    • phones — la matrice des numéros de l'utilisateur. Chaque numéro a des champs suivants:
      • phone — la notion du numéro
      • type —le type du numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
    • contacts — la matrice des contacts de l'utilisateur. Chaque contact a des champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur du contact

get /v1/zcrm/users/<user_id>

Renvoie l'utilisateur par son ID

La réponse

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

Où:

  • id — l'identificateur de l'utilisateur
    • email — l'e-mail de compte de l'utilisateur
    • name — le nom de l'utilisateur
    • group_id — l'identificateur de groupe de l'utilisateur
    • is_superadmin — indique si l'utilisateur est administrateur (1 ou 0)
    • enabled — si l'utilisateur est déverrouillé (1 ou 0)
    • created_at — la date et l'heure de la création de l'utilisateur (dans le format YYYY-MM-DD hh:mm:ss)
    • avatar — l'avatar de l'utilisateur (l'identificateur du fichier)
    • role — le poste de l'utilisateur
    • status — le statut de l'utilisateur
    • language — la langue de l'interface de l'utilisateur. Les variantes possibles:
      • de — allemand
      • en — anglais
      • es — espagnol
      • pl — polonais
      • ru — russe
      • ua — ukrainien
    • color — la couleur de l'utilisateur dans l'interface ZCRM ( que la valeur hue — de 0 à 359)
    • color_hex — la couleur de l'utilisateur dans l'interface ZCRM (hex-présentation)
    • internal_number — le numéro interne du standard téléphonique virtuel de l'utilisateur
    • timezone — la zone temporaire de l'utilisateur
    • first_day — définie le jour de la semaine qui est le premier de la semaine:
      • 0 — dimanche
      • 1 — lundi
    • device — ce qui est utilisé pour les appels. Les notions possibles:
      • webphone — le téléphone web
      • softphone — le softphone installé
    • phone_widget_location — la position du widget du téléphone web. Les notions possibles:
      • left — placer le widget dans la partie gauche de la page
      • right — placer le widget dans la partie droite de la page
    • phones — la matrice des numéros de l'utilisateur. Chaque numéro a des champs suivants:
      • phone — la notion du numéro
      • type —le type du numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
    • contacts — la matrice des contacts de l'utilisateur. Chaque contact a des champs suivants:
      • type — le type de contact. Les notions possibles:
        • email_work — l'e-mail de travail
        • email_personal — l'e-mail personnel
        • skype
        • telegram
        • viber
        • whatsapp
      • value — la valeur du contact
    • pending_email_change_request — si la demande de changement de l'email du compte est envoyée, mais la demande n'est pas encore confirmée, ce paramètre sera dans true

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

Renvoie les heures de travail de l'utilisateur

La réponse

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

Où:

  • schedulePeriod — la périodicité d'emploi du temps, comme il se repète. Pour la semaine de travail ordinaire c'est 7 jours, pour l'emploi du temps «jour par jour» c'est 2 jours etc.
  • scheduleWorkingHours — la matrice d'une période de travail. Chaque période de travail contient des attributs suivants:
    • time_start — le début du travail dans le format YYYY-MM-DD hh:mm:ss
    • time_end — la fin du travail dans le format YYYY-MM-DD hh:mm:ss
  • scheduleFixes — la matrice des changements introduits dans une période de travail, définies dans le paramètre scheduleWorkingHours. Chaque élement de la matrice contient des attributs suivants:
    • index — l'indice d'un élement dans scheduleWorkingHours, c'est-à-dire quelle période de travail est changée
    • repeat_index — l'indice de la répétition de l'emploi, où se passe le changement d'une période de travail
    • time_start — le début du temps de travail dans un format YYYY-MM-DD hh:mm:ss
    • time_end — la fin du temps de travail dans un formatYYYY-MM-DD hh:mm:ss
    • deleted — si est égal à 1, une période de travail est supprimé
  • customWorkingHours — la matrice des périodes d'utilisateurs. Chaque période de travail contient des attributs suivants:
    • time_start — le début du temps de travail dans un format YYYY-MM-DD hh:mm:ss
    • time_end — la fin du temps de travail dans un format YYYY-MM-DD hh:mm:ss

get /v1/zcrm/users/groups

Renvoie les groupes et les droits des utilisateurs de chaque groupe

La réponse

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

Où:

  • totalCount — le nombre total de groupes
  • groups — la matrice de groupes. Chaque groupe contient des attributs suivants:
    • id — l'identificateur de groupe
    • type — le type de groupe. Les notions possibles:
      • admin — administrateurs
      • manager — managers
      • chat_operator — opérateurs
      • trainee — stagiaires
      • custom — d'utilisateur
    • title — le nom de groupe d'utilisateur (pour type = custom)
    • permissions — les droits des utilisateurs de groupe. Les administrateurs ont l'accès complet, c'est pourquoi pour eux ce champ est vide. Des autres groupes ont des attributs suivants (chacun peut être égal à true ou false):
      • customers_create — la création des clients est autorisée
      • customers_edit — la modification des clients est autorisée
      • customers_delete — la suppression des clients est autorisée
      • customers_import_export — l'importation et l'exportation des clients sont autorisées
      • customers_view_all — l'affichage de tous les clients y inclus des autres utilisateurs est autorisé
      • calendar_other_users_access — l'affichage des tâches des autres utilisateurs est autorisé
      • calls_other_users_access — l'accès aux appels des autres utilisateurs est autorisé
      • leads_view — l'affichage des leads des autres utilisateurs est autorisé
      • leads_edit — la modification des leads des autres utilisateurs est autorisée
      • leads_delete — la suppression des leads des autres utilisateurs est autorisée
      • leads_import_export — l'importation et l'exportation des leads sont autorisées
      • team_add — l'ajout et l'invite des utilisateurs dans une équipe
      • team_edit — la modification des utilisateurs est autorisée

Appels

get /v1/zcrm/calls

Renvoie la liste des appels

Les paramètres

  • search (optionnel) — une barre de recherche. La recherche s'effectue combinée par:
    • les numéros de téléphone
    • les noms des contacts (clients, employés, leads ou utilisateurs)
  • filter (optionnel) — le fitre des appels. La structure du filtre:

(Réponse 1)

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

Où:

  • user — l'utilisateur (l'identificateur)
  • type — le type d'appel. Les notions possibles:
    • incoming — l'appel entrant
    • outgoing — l'appel sortant
  • status — le statut d'appel. Les notions possibles:
    • answer — l'appel réussi
    • noanswer — sans réponse
    • cancel — annulé
    • busy — occupé
    • failed — échoué
  • dateFrom — afficher les appels effectués après le temps indiqué (un format: YYYY-MM-DD hh:mm:ss)
  • dateTo — afficher les appels effectués avant le temps indiqué (un format: YYYY-MM-DD hh:mm:ss)

    Chaque paramètre peut être omis, optionnel.

  • sort (optionnel) — le tri des appels. La structure du paramètre:

(Réponse 2)

                                    Réponse 2:
{ "attr": "time", "desc": 0 }

Où:

  • attr — le champ de tri. Les notions possibles:
    • phone — le numéro de téléphone
    • status — le statut d'appel
    • duration — la durée d'appel
    • time — le temps d'appel
  • desc — la direction de tri. Les notions possibles:
    • 0 — par ordre croissant
    • 1 — par ordre décroissant
      • take (page par page) — combien d'appels renvoyer (par défaut 20)
      • skip (page par page) — combien d'appels manquer (par défaut 0)

La réponse

(Réponse 3)

                                    Réponse 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" } ] } ] }

Où:

  • totalCount — le nombre total d'appels (en tenant compte de la barre de recherche et du filtre)
  • calls — la matrice d'appels (page par page). Chaque élément contient des paramètres suivants:
    • id — l'identificateur d'appel
    • type — le type d'appel. Les notions possibles:
      • incoming — l'appel entrant
      • outgoing — l'appel sortant
    • status — le statut d'appel. Les notions possibles:
      • answer — l'appel réussi
      • noanswer — sans réponse
      • cancel — annulé
      • busy — occupé
      • failed — échoué
    • phone — le numéro
    • user_id — l'utilisateur, effectuant ou recevant l'appel
    • time — le temps d'appel dans un format YYYY-MM-DD hh:mm:ss
    • duration — la durée d'appel en secondes
    • pbx_call_id — l'identificateur d'appel dans le standard téléphonique virtuel Zadarma
    • record — activé ou pas l'enregistrement d'appel
    • record_url_till — le temps jusqu'à quand le lien d'enregestrement d'appel sera disponible
    • contact_type — le type de contact. Les notions possibles:
      • customer — le client ou lead (vu. paramètre is_lead)
      • employee — l'employé du client
      • user — l'utilisateur
    • contact_name — le nom du contact
    • contact_customer_id — l'identificateur de client ou lead (si l'appel est connecté au client)
    • contact_employee_id — l'identificateur d'employé (si l'appel est connecté à l'employé)
    • employee_customer_id — l'identificateur de la nature parentale (si l'appel est connecté à l'employé)
    • contact_user_id — l'identificateur de l'utilisateur (si l'appel est connecté à l'utilisateur)
    • is_lead — montre si l'appel est connecté au lead
    • record_urls — la matrice des enregistrements des appels (peut être absente car doit être demandée). Chaque élément de la matrice — l'objet contenant le champ:
      • url — le lien à l'enregistrement d'appel

Contacts récapitulatifs

get /v1/zcrm/contacts

Renvoie la liste de tous les contacts (clients, employés, leads, utilisateurs) avec les numéros

Les paramètres

  • search (optionnel) — une barre de recherche. La recherche s'effectue combinée par:
    • les noms et les numéros des clients, employés, leads ou utilisateurs
    • les numéros internes du standard téléphonique virtuel des utilisateurs
  • take (page par page) — combien de contacts renvoyer (par défaut 20)
  • skip (page par page) — combien de contacts manquer (par défaut 0)

La réponse

(Réponse 1)

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

Où:

  • totalCount — le nombre total de contacts (en tenant compte de la barre de recherche)
  • contacts — la matrice de contacts. Chaque contact selon son type (client, employé, lead, utilisateur) a son propre ensemble d'attributs.

Le client

(Réponse 2)

                                    Réponse 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" } }

Où:

  • contact_type — le type de contact:
    • customer — le client
  • id — l'identificateur de client
  • name — le nom de client
    • status — le statut de client. Les notions possibles:
      • individual — la personne physique
      • company — l'entreprise
    • type — le type de client. Les notions possibles:
      • potential — un client potentiel
      • client — un client
      • reseller — le revendeur
      • partner — le partenaire
  • phone — le numéro de téléphone. Contient les champs suivants
    • phone — le numéro lui-même
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
  • responsible — l'utilisateur responsable. Contient les champs suivants:
    • id — l'identificateur de l'utilisateur
    • name — le nom de l'utilisateur
    • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

L'employé du client

(Réponse 3)

                                    Réponse 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" } }

Où:

  • contact_type — le type de contact:
    • employee — l'employé
  • id — l'identificateur d'employé
  • name — le nom d'employé
    • phone — le numéro de téléphone. Contient les champs suivants
      • phone — le numéro lui-même
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
  • position — le poste d'employé. Contient les champs suivants:
    • position — la valeur de poste. Les notions possibles:
      • ceo — le PDG
      • director — le directeur
      • manager — le manager
      • sales_manager — le manager de ventes
      • hr — HR
      • support — le service client
      • custom — arbitraire
    • title — le nom du poste arbitraire (pour position = custom)
  • customer — le client connecté à l'employé. Contient des champs suivants:
    • id — l'identificateur de client
    • name — le nom de client
  • responsible — l'utilisateur responsable de client parental. Contient des champs suivants:
    • id — l'identificateur de l'utilisateur
    • name — le nom de l'utilisateur
    • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

Le lead

(Réponse 4)

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

Où:

  • contact_type — le type de contact:
    • lead — le lead
      • id — l'identificateur de lead
  • name — le nom de lead
  • phone — le numéro de téléphone. Contient les champs suivants
    • phone — le numéro lui-même
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
        • responsible — l'utilisateur responsable. Contient les champs suivants:
    • id — l'identificateur de l'utilisateur
    • name — le nom de l'utilisateur
    • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

L'utilisateur

(Réponse 5)

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

Où:

  • contact_type — le type de contact:
    • user — l'utilisateur
  • id — l'identificateur de l'utilisateur
  • name — le nom de l'utilisateur
  • avatar — l' avatar de l'utilisateur (l'identificateur de fichier)
  • role — le rôle de l'utilisateur
  • status — le statut de l'utilisateur
  • phone — le numéro. Contient des champs suivants:
    • phone — le numéro lui-même
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
        • internal — le numéro interne de standard téléphonique virtuel
  • group — le groupe de l'utilisateur. Contient les champs suivants:
    • type — le type de groupe. Les notions possibles:
      • admin — administrateur
      • manager — manager
      • chat_operator — opérateur
      • trainee — stagiaire
      • custom — utilisateur
    • title — le nom de groupe (pour type = custom)

get /v1/zcrm/contacts/identify

Identifie le contact (client, employé, lead, utilisateur) par le numéro

Les paramètres

  • phone — le numéro

La réponse

La réponse dépend du type de contact trouvé (client, employé, lead, utilisateur).

Le client

(Réponse 1)

                                    Réponse 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" } }

Où:

  • contact_type — le type de contact:
    • customer — le client
      • id — l'identificateur de client
      • name — le nom de client
  • status — le statut de client. Les notions possibles:
    • individual — la personne physique
    • company — l'entreprise
      • type — le type de client. Les notions possibles:
    • potential — un client potentiel
    • client — un client
    • reseller — le revendeur
    • partner — le partenaire
      • phone — le numéro de téléphone. Contient les champs suivants
    • phone — le numéro lui-même
    • type — le type de numéro. Les notions possibles:
      • work — de travail
      • personal — personnel
        • responsible — l'utilisateur responsable. Contient les champs suivants:
    • id — l'identificateur de l'utilisateur
    • name — le nom de l'utilisateur
    • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

L'employé du client

(Réponse 2)

                                    Réponse 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" } }

Où:

  • contact_type — le type de contact:
    • employee — l'employé
  • id — l'identificateur d'employé
  • name — le nom d'employé
    • phone — le numéro de téléphone. Contient les champs suivants
      • phone — le numéro lui-même
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
  • position — le poste d'employé. Contient les champs suivants:
    • position — la valeur de poste. Les notions possibles:
      • ceo — le PDG
      • director — le directeur
      • manager — le manager
      • sales_manager — le manager de ventes
      • hr — HR
      • support — le service client
      • custom — arbitraire
    • title — le nom du poste arbitraire (pour position = custom)
  • customer — le client connecté à l'employé. Contient des champs suivants:
    • id — l'identificateur de client
    • name — le nom de client
  • responsible — l'utilisateur responsable de client parental. Contient des champs suivants:
    • id — l'identificateur de l'utilisateur
    • name — le nom de l'utilisateur
    • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

Le lead

(Réponse 3)

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

Où:

  • contact_type — le type de contact:
    • lead — le lead
  • id — l'identificateur de lead
    • name — le nom de lead
    • phone — le numéro de téléphone. Contient les champs suivants
      • phone — le numéro lui-même
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
    • responsible — l'utilisateur responsable. Contient les champs suivants:
      • id — l'identificateur de l'utilisateur
      • name — le nom de l'utilisateur
      • ext_num — le numéro interne de standard téléphonique virtuel de l'utilisateur

L'utilisateur

(Réponse 4)

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

Où:

  • contact_type — le type de contact:
    • user — l'utilisateur
      • id — l'identificateur de l'utilisateur
      • name — le nom de l'utilisateur
      • avatar — l' avatar de l'utilisateur (l'identificateur de fichier)
      • role — le rôle de l'utilisateur
      • status — le statut de l'utilisateur
      • phone — le numéro. Contient des champs suivants:
    • phone — le numéro lui-même
      • type — le type de numéro. Les notions possibles:
        • work — de travail
        • personal — personnel
        • internal — le numéro interne de standard téléphonique virtuel
      • group — le groupe de l'utilisateur. Contient les champs suivants:
    • type — le type de groupe. Les notions possibles:
      • admin — administrateur
      • manager — manager
      • chat_operator — opérateur
      • trainee — stagiaire
      • custom — utilisateur
    • title — le nom de groupe (pour type = custom)

Fichiers

get /v1/zcrm/files/<file_id>

Rend le fichier par son ID

Système de notification d'appel - Webhook


Le système Zadarma peut envoyer l'information sur chaque appel du standard virtuel et envoyer un appel vers le bon numéro selon la réponse. Il faut créer le lien d'accès universel qui va recevoir des POST demandes avec l'information du système Zadarma.

NOTIFY_START

le début de l'appel entrant au standard virtuel

Les paramètres qui sont envoyés au lien pour les notifications:

  • event – событие (NOTIFY_START)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • caller_id – le numéro de celui qui appelle;
  • called_did – le numéro auquel on appelle.

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

Pour les demandes NOTIFY_START et NOTIFY_IVR vous pouvez immédiatement changer le scénario de l'appel en envoyant l'une des réponses:

Reproduire le fichier:

(Réponse 1)

                                    Réponse 1:
{ "ivr_play": "ID" }

où,

  • ivr_play – la notion de la colonne ID dans la liste des fichiers chargés ou lus pour le fichier nécessaire.

Reproduire la phrase populaire:

(Réponse 2)

                                    Réponse 2:
{ "ivr_saypopular": 1, "language": "en" }

où,

  • ivr_saypopular – le numéro de la phrase de la liste;

Reproduire les chiffres:

(Réponse 3)

                                    Réponse 3:
{ "ivr_saydigits": "12", "language": "en" }

Reproduire le nombre (conformément aux règles des adjectifs numéraux):

(Réponse 4)

                                    Réponse 4:
{ "ivr_saynumber": "123", "language": "en" }

où,

  • language peut prendre l'une des notions: ru, en, es, pl;

Si ivr_saydigits ou ivr_saynumber sont indiqués, dans l'événement suivant NOTIFY_IVR sera rajouté le paramètre: "ivr_saydigits": "COMPLETE" ou "ivr_saynumber": "COMPLETE"

Dans chaque demande peut exister la demande de la saisie des chiffres:

(Réponse 5)

                                    Réponse 5:
{ "wait_dtmf": { "timeout": TIMEOUT, "attempts": ATTEMPTS, "maxdigits": MAXDIGITS, "name": NAME, "default": DEFAULT, } }

où,

  • timeout - le temps d'attente de la saisie des chiffres en secondes;
  • attempts - le numéro d'essais de la saisie de chiffres;
  • maxdigits - le nombre maximal des chiffres dont la saisie est attendue;
  • name - le nom renvoyé dans la réponse;
  • default - l'action si aucune chiffre est saisie. Des notions possibles:
    • l'id de scénario de la redirection (dans le format 0-1, où 0 - le numéro de SVI, 1 - le numéro de scénario);
    • le menu du standard téléphonique virtuel dans le format 0-main, où 0 - est l'id de menu;
    • le numéro interne du standard téléphonique virtuel (le numéro à trois chiffres);
    • hangup - finir l'appel.

Dans l'événement suivant NOTIFY_IVR sera indiqué le paramètre supplémentaire:

(Réponse 6)

                                    Réponse 6:
{ "wait_dtmf": { "name": NAME, "digits": DIGITS, "default_behaviour": "1" } }

où,

  • name - le nom indiqué dans la réponse précédente;
  • digits - les chiffres saisies par un abonné;
  • default_behaviour - est indiqué si l'abonné n'a rien saisie et le comportement par défaut a fonctionné;

Transférer l'appel:

(Réponse 7)

                                    Réponse 7:
{ "redirect": ID, "return_timeout": TIMEOUT (необязательное) }

où,

  • redirect - l'id de scénario de redirection (dans le format 0-1, où 0 - le numéro de SVI, 1 - le numéro de scénario); ou dans le format 1, où 1 - le numéro de scénario (le numéro de SVI dans ce cas est 0); ou le menu АТС dans le format 0-main, où 0 - est l'id de menu; ou le numéro interne du stabdard téléphonique (le numéro à trois chiffres); ou "blacklist" - dans ce cas l'appel sera rejeté avec le signal occupé;
  • return_timeout - La notion en secondes. Des notions possibles:
    • 0, l'appel ne revient pas au menu;
    • >= 3 - la durée de l'appel du numéro interne avant qu'il revienne au menu;

Finir l'appel:

(Réponse 8)

                                    Réponse 8:
{ "hangup": 1 }

Dans chaque appel vous pouvez également indiquer:

Le nom de l'appel entrant:

(Réponse 9)

                                    Réponse 9:
{ "caller_name": NAME }

où,

  • caller_name - le nom du numéro.

La liste des phrases populaires:

  • Bonjour
  • Bonjour
  • Le renvoi
  • L'appel du site
  • Bienvenu
  • Le message de tests
  • Restez en ligne
  • Vous avez appelé en dehors du travail
  • Tous les managers sont occupés, le premier opérateur libre vous répondera.
  • Saisissez le numéro interne de l'abonné
  • Saisissez le numéro interne de l'agent
  • Saisissez le numéro du poste
  • Veuillez patienter
  • Saisissez le numéro interne ou restez en ligne
  • Veuillez laisser votre message
  • Veuillez laisser votre message après le signal
  • Veuillez rappeler pendant les heures de travail
  • Merci de nous contacter.
  • Merci de votre appel.
  • Restez en ligne
  • Votre appel est important pour nous
  • La conversation est enregistrée
  • Nous ne sommes pas dans le bureau en ce moment.
  • On vous rappellera dès que possible.
  • Aujourd'hui, on a un jour de congé.

NOTIFY_INTERNAL

le début de l'appel entrant au numéro interne du standard virtuel

Les paramètres qui sont envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_INTERNAL)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • caller_id – le numéro de celui qui appelle;
  • called_did – le numéro auquel on appelle;
  • internal – (optionnel) le numéro interne.

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_ANSWER

la réponse à l'appel au numéro interne ou externe

Les paramètres envoyes au lien pour les notifications:

  • event – l'événement (NOTIFY_ANSWER)
  • caller_id – le numéro de celui qui appelle;
  • destination – le numéro auquel on appelle;
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • internal – (optionnel) le numéro interne.

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_END

la fin de l'appel entrant au numéro interne du standard virtuel

Les paramètres envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_END)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • caller_id – le numéro de celui qui appelle;
  • called_did – le numéro auquel on appelle;
  • internal – (optionnel) le numéro interne;
  • duration – la durée en secondes;
  • disposition – le statut de l'appel:
    • 'answered' – répondu,
    • 'busy' – occupé,
    • 'cancel' - annulé,
    • 'no answer' - aucune réponse,
    • 'failed' - échoué,
    • 'no money' - pas de moyens, limite dépassée,
    • 'unallocated number' - сe numéro n'est pas attribué,
    • 'no limit' - limite dépassée,
    • 'no day limit' - limite de jour dépassée,
    • 'line limit' - limites de lignes dépassées,
    • 'no money, no limit' - limite dépassée;
  • last_internal – le numéro interne, le dernier participant de la conversation (après le transfert ou l'interception );
  • status_code – le code de statut de l'appel Q.931;
  • is_recorded – 1 - s'il y a l'enregistrement d'appel, 0 - pas d'enregistrement;
  • call_id_with_rec – l'id de l'appel avec l'enregistrement (nous recommandons de télécharger le fichier au moins 40 secondes après la notification parce qu'il faut que le système sauvegarde le fichier).

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_OUT_START

le début de l'appel sortant du standard virtuel

Les paramètres envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_OUT_START)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • destination – le numéro auquel on appelle;
  • caller_id – le numéro attrubué au numéro interne du standard virtuel ou installé dans les règles des appels sotrants en fonction de la déstination. Si le numéro n'est pas installé, 0 est transmis;
  • internal – (optionnel) le numéro interne.

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_OUT_END

la fin de l'appel sortant du standard virtuel

Les paramètres envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_OUT_END)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • caller_id – le numéro attrubué au numéro interne du standard virtuel ou installé dans les règles des appels sotrants en fonction de la déstination. Si le numéro n'est pas installé, 0 est transmis;
  • destination – le numéro auquel on appelle;
  • internal – (optionnel) le numéro interne;
  • duration – la durée en secondes;
  • disposition – le statut de l'appel:
    • 'answered' – répondu,
    • 'busy' – occupé,
    • 'cancel' - annulé,
    • 'no answer' - aucune réponse,
    • 'failed' - échoué,
    • 'no money' - pas de moyens, limite dépassée,
    • 'unallocated number' - сe numéro n'est pas attribué,
    • 'no limit' - limite dépassée,
    • 'no day limit' - limite de jour dépassée,
    • 'line limit' - limites de lignes dépassées,
    • 'no money, no limit' - limite dépassée;
  • status_code – le code de statut de l'appel Q.931;
  • is_recorded – 1 - s'il y a l'enregistrement de l'appel, 0 - pas d'enregistrement;
  • call_id_with_rec – l'id de l'appel avec l'enregistrement (nous recommandons de télécharger le fichier au moins 40 secondes après la notification parce qu'il faut que le système sauvegarde le fichier).

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_RECORD

l'enregistrement de l'appel est prêt à télécharger

Les paramètres envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_RECORD)
  • call_id_with_rec – l'id de l'appel unique avec l'enregistrement de la conversation;
  • pbx_call_id – l'ID de l'appel permanent dans le standard virtuel (ne change pas dans le scénario, SVI, transfer etc, est affiché dans les statistiques et notifications).

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

NOTIFY_IVR

la réponse de l'abonné à l'action demandée

Les paramètres envoyés au lien pour les notifications:

  • event – l'événement (NOTIFY_IVR)
  • call_start – le temps du début de l'appel;
  • pbx_call_id – l'id de l'appel;
  • caller_id – le numéro de celui qui appelle;
  • called_did – le numéro auquel on appelle.

La création de la signature de vérification pour les notifications sur les appels entrants, l'exemple de PHP:

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

Les réponses envoyées possibles sont analogues aux réponses aux demandes NOTIFY_START

SPEECH_RECOGNITION

résultat de reconnaissance de la voix

Paramètres envoyés au lien pour les notifications:

  • event – événement (SPEECH_RECOGNITION)
  • lang – langue;
  • result:
    • words - matrice:
      • result - liste des mots (matrice):
        • s - heure du début du mot
        • e - heure de la fin du mot
        • w - mot
      • channel - numéro de la chaîne
    • phrases - matrice:
      • result - phrase
      • channel - numéro de la chaîne

Exemple PHP:

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

Pour augmenter la sécurité nous recommandons d'autoriser l'accès à votre lien de l'adresse IP 185.45.152.42.

Si vous avez sorti les clés d'accès à API , dans chaque demande à votre lien sera envoyé un titre supplémentaire "Signature", selon lequel vous porrez vérifier l'intégrité et l'authenticité des données.

Voir l'exemple de script vous pouvez à notre dépôt sur GitHub.

Autres notifications


Le paramètre "result" dans ces notifications est dans un format JSON. Vous pouvez le recevoir dans un format XML, en indiquant dans le lien le paramètre format=xml.

NUMBER_LOOKUP

le rapport de vérification des numéros

Les paramètres envoyes au lien pour les notifications:

  • event – l'événement (NUMBER_LOOKUP);
  • success – la bannière de réussite de vérification;
  • description – la description texte de statut de la fin de vérification;
  • result – les données de compte-rendu;
    • number – le numéro vérifié;
    • mcc – le préfixe mobile du pays;
    • mnc – le préfixe du réseau mobile;
    • ported – le signe de transfert chez un autre opérateur;
    • roaming – le signe de l'itinérance;
    • error – le statut de l'erreur;
    • errorDescription – la déscription texte de l'erreur;
    • mccName – le nom du pays;
    • mncName – le nom de l'opérateur;

La création de la signature de vérification:

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

CALL_TRACKING

l'information sur les appels aux numéros, connectés au call tracking

Elle s'envoie toutes les 15 minutes en présence des appels nouveaux.

Les paramètres envoyés au lien de notifications:

  • event – l'événement(CALL_TRACKING)
  • result - la matrice
    • tracker - l'ID de tracker (sur la page de l'indication de préfixe);
    • start - le temps du début de l'appel;
    • duration - la durée de l'appel en secondes;
    • caller_id - le numéro de l'appelant;
    • caller_did - le numéro auquel on appelle;
    • country - (optionnel) le pays duquel on appelle;
    • ga_id - (optionnel, si dans les paramètres l'Id Google Analytics est indiqué) l'id de visiteur dans Google Analytics;
    • metrika_id - (optionnel, si dans les paramètres l'Id Yandex.Metrika est indiqué) id de visiteur dans Yandex.Metrika;
    • url - l'adresse de la page, de laquelle on appelle;
    • utm_source, utm_medium, utm_campaign, utm_term, utm_content - (optionnel, si au passage du site sont indiquées des marques utm) des utm marques, par lesquelles le visiteur a passé sur le site la dernière fois;
    • first_utm - (optionnel, si au premier passage sur le site sont indiquées des marques utm, différentes de celles du passage la dernière fois) la matrice avec des marques utm indiquées, auxquelles le visiteur a passé sur le site la première fois;

L'élaboration de la signature de vérification:

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

SMS

l'information sur les SMS entrants

Les paramètres envoyes au lien pour les notifications:

  • event – l'événement (SMS)
  • result – la matrice;
  • caller_id – le numéro d'expéditeur;
  • caller_did – le numéro de destinataire;
  • text – le texte de message.

La création de la signature de vérification:

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