Navigation dans l'API

L'introduction

Les fonctions principales sont disponibles dans API:

  • téléphonie et numéros virtuels
  • standard virtuel et ZCRM
  • SMS et HRL-demandes
  • call tracking
  • reconnaissance du discours
Le lien d'API: https://api.zadarma.com
La version d'АPI: v1
Le lien final du méthode: https://api.zadarma.com/v1/METHOD/
Téléchargez gratuitement PHP, C#, Python pour travailler avec API sur notre GitHub.
Exemples de travail avec API:
Intégration de votre propre CRM et de la téléphonie Zadarma
SVI dynamique infini
Création de lead dans ZCRM du formulaire sur le site

L'authentification

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_du méthode la chaîne_d'interrogation md5 (chaîne_d'interrogation), où "le nom_du 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

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 - le méthode actuel;
  • X-RateLimit-Remaining - le nombre de demandes restées, en fonction des limites au 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, le 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 le 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/

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

le solde de l'utilisateur

get /v1/info/price/

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

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

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/

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

le fuseau horaire de l'utilisateur

get /v1/tariff/

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

l'information sur le tarif actuel de l'utilisateur

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/

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

le rappel automatique

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, où arrive le callback;
  • 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/

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

l'envoi des SMS

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 standard 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 possibles au-delà de la Fédération Russe.

post /v1/info/number_lookup/

                                        Response 1:
{ "status":"success", "info":{ "mcc":"250", "mnc":"01", "mccName":"Russia", "mncName":"Mobile TeleSystems", "ported":false, "roaming":false, "errorDescription":"No Error" } }
                                        Response 2:
{ "status":"success" }
                                        Response 3:
{ "success":true, "description":"Success", "result": [ { "mcc":"250", "mnc":"01", "ported":false, "roaming":false, "errorDescription":"No Error", "mccName":"Russia", "mncName":"Mobile TeleSystems", "number":"791234567890", }, ... ] }

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églement de ce 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:

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

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

SIP

get /v1/sip/

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

la liste de numéros SIP de l'utilisateur

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/

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

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

put /v1/sip/callerid/

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

le changement de CallerID

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/

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

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

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/

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

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

Les paramètres:

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

put /v1/sip/redirection/

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

le changement des paramètres de renvoi

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.

Statistique

get /v1/statistics/

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

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

Les paramètres:

  • start - la date du début d'affichage des statistiques (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage des statistiques (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 chaînes qu'il faut sauter dans l'échantillon, la sortie commence de la chaîne 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 chaînes affichées (est utilisée pour la pagination avec le paramètre skip, la notion maximale 1000, per 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: (Response 2)

Où:

  • start – la date du début d'affichage des statistiques;
  • end – la date de la fin d'affichage des statistiques;
  • id – l'id de l'appel;
  • sip – le numéro SIP;
  • callstart – le temps du début d'appel;
  • description – la déscription de la déstination 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' - limites de lignes dépassées,
    • '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 déstination;
  • 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 auquel on appelle.

get /v1/statistics/pbx/

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

la statistique du standard virtuel

Les paramètres:

  • start - la date du début d'affichage des statistiques (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage des statistiques (le format - YYYY-MM-DD HH:MM:SS);
  • version - le format de sortie des statistiques (2 - nouveau, 1 - vieux);
  • skip (optionnel) - le nombre de chaînes qu'il faut sauter dans l'échantillon, la sortie commence de la chaîne 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 chaînes affichées (est utilisée pour la pagination avec le paramètre skip, la notion maximale 1000, per 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 des statistiques;
  • end – la date de la fin d'affichage des statistiques;
  • version - le format de la sortie des statistiques (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 – le temps du début d'appel;
  • clid – le CallerID;
  • destination – le numéro auquel 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' - limites de lignes dépassées,
    • '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/

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

la statistique de widget Callback

Les paramètres:

  • start - la date du début d'affichage des statistiques (le format - YYYY-MM-DD HH:MM:SS);
  • end - la date de la fin d'affichage des statistiques (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 des statistiques;
  • end – la date de la fin d'affichage des statistiques;
  • 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').

PBX

get /v1/pbx/internal/

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

l'affichage des numéros internes du standard virtuel

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/

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

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

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).

put /v1/pbx/internal/recording/

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

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

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.

get /v1/pbx/record/request/

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

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:

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

Les paramètres:

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

post /v1/pbx/redirection/

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

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

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/

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

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

Les paramètres:

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

Reconnaissance du discours

get /v1/speech_recognition/

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

réception des résultats de la reconnaissance

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/

                                        {
    "status":"success"
}
                                    

lancement de reconnaissance

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/

                                        {
    "status":"success",
    "info": [
        {
            "number":"442037691880",
            "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"
        },
    ...
    ]
}
                                    

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

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), inum (le numéro international gratuit), rufree (le numéro gratuit à Moscou), revenue (le numéro gratuit 495 à Moscou).

get /v1/direct_numbers/number/

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

information sur le numéro acheté

Paramètres

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

get /v1/direct_numbers/autoprolongation/

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

statut de renouvellement (NB! inum n'est pas dans cette liste)

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/

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

changer de statut de renouvellement (NB! inum n'est pas dans cette liste)

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/

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

liste des pays dont les numéros vous pouvez commander

Paramètres

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

get /v1/direct_numbers/country/

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

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

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/

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

installation de caller name

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/

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

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

Paramètres

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

Les méthodes ZCRM

Les 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

Réponse

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:

Réponse

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

Les tags

get /v1/zcrm/customers/labels

Renvoie la liste de tous les tags et leur statistique

La réponse

Réponse

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

Réponse

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

Les propriétés avancées

get /v1/zcrm/customers/custom-properties

Renvoie toutes propriétés avancées

La réponse

Réponse

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

Le 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

Réponse

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

Réponse

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

Les 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

Réponse

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

Réponse

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:

Réponse

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

Les 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

Réponse

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:

Réponse

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

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

Les 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

Réponse

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:

Réponse

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

Les utilisateurs

get /v1/zcrm/users

Renvoie la liste des utilisateurs

La réponse

Réponse

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

Réponse

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

Réponse

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

Réponse

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

Les 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

Les 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)

Les 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.

Méthodes disponibles

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:

Réponse

Réponse:
$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;

  • default_behaviour - est indiqué si l'abonné n'a rien saisie et le comportement par défaut a fonctionné;

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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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:

Réponse

Réponse:
$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

Indiquer le lien pour les notifications, activer /désactiver chaque type de notifications vous pouvez dans une séction API de l'espace client.

Pour que le système accepte le lien, il faut ajouter le code de vérification au début de script.

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 roaming;
    • 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));