Navigation dans l'API

Présentation


Interface API est gratuit et disponible pour tous les utilisateurs Zadarma

Le lien d'API
La version d'АPI
v1
Le lien final de la méthode
https://api.zadarma.com/v1/METHOD/

Une bibliothèque

Téléchargez les classes prêtes pour API

API a des fonctions principales pour travailler avec:

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

Autorisation

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

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

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

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

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

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

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

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

Les limites

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

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

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

où,

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

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

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

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

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

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

Attention: si vous avez toujours besoin de la statistique actuelle du standard virtuel, il ne faut pastoutes les minutes demander la méthode statistics/pbx/. Activez les notifications webhooks et recevez l'information sur chaque appel au moment de son début et sa fin.

Méthodes

get /v1/info/balance/

le solde de l'utilisateur

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

get /v1/info/price/

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

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

Les paramètres:

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


get /v1/info/timezone/

le fuseau horaire de l'utilisateur

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

get /v1/tariff/

l'information sur le forfait actuel de l'utilisateur

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

Où:

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

get /v1/request/callback/

le rappel automatique

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

Les paramètres:

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

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

post /v1/sms/send/

l'envoi des SMS

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

Paramètres

  • number - numéro de téléphone où envoyer le SMS (vous pouvez en spécifier plusieurs séparés par des virgules) ;
  • message - message (limitations standards de longueur SMS, en cas de dépassement de la limite, le message est divisé en plusieurs SMS) ;
  • sender - (facultatif) expéditeur du SMS (numéro virtuel ou texte) la liste des valeurs disponibles peut être obtenue via la méthode GET /v1/sms/senderid/
  • language - (facultatif) langue du modèle de SMS. Si non spécifié, la langue du compte de l'utilisateur est utilisée.

get /v1/sms/templates/

Obtenir une liste de modèles de SMS

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

Paramètres

  • skip – (optionnel) nombre de modèles qu'on saute avant le début de l'échantillon, par défaut 0;
  • limit – (optionnel) nombre de modèles qui s'affichent (par défaut 25, 1000 maximum);
  • language – (optionnel) langue des modèles de SMS. Si elle n'est pas choisie, la langue de l'espace client est choisie.

get /v1/sms/senderid/

Obtenir une liste d'expéditeurs de SMS valides vers un numéro indiqué

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

Paramètres

  • phones – numéro dont la liste d'expéditeurs de SMS valides est requise.

get /v1/request/checknumber/

confirmation du numéro

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

Paramètres

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

post /v1/info/number_lookup/

l'actualisation des contacts

Les paramètres:

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

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

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

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

(Réponse 1)

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

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

(Réponse 2)

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

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

(Réponse 3)

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

get /v1/info/lists/currencies/

Liste de devises

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

get /v1/info/lists/languages/

Liste de langues possibles dans l'espace client

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

get /v1/info/lists/tariffs/

Liste de forfaits

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

Paramètres

  • currency – devise

SIP

get /v1/sip/

la liste de numéros SIP de l'utilisateur

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

Où:

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

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

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

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

put /v1/sip/callerid/

le changement de CallerID

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

Les paramètres:

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

get /v1/sip/redirection/

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

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

Les paramètres:

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

Où:

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

put /v1/sip/redirection/

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

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

Les paramètres:

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

put /v1/sip/redirection/

le changement des paramètres de renvoi

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

Les paramètres:

  • id – le SIP id;
  • type – le type de renvoi: phone – au téléphone;
  • number – le numéro de téléphone.
  • condition – paramètre optionnel, condition du renvoi (always - toujours, unavailable - en cas d'aucune réponse ou aucune connexion SIP)

post /v1/sip/create/

Création de SIP numéro

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

Paramètres

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

put /v1/sip//mot de passe/

Changement de mot de passe SIP

Paramètres

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

  • value - nouveau mot de passe;
  • user_id - paramètre facultatif, disponible uniquement pour les revendeurs et uniquement pour les utilisateurs qu'ils ont créés

Statistique

get /v1/statistics/

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

(Réponse 1)

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

Les paramètres:

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

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

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

?type=cost_only:

(Réponse 2)

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

Où:

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

get /v1/statistics/pbx/

la statistique du standard virtuel

Attention: si vous avez toujours besoin de la statistique actuelle du standard virtuel, il ne faut pastoutes les minutes demander la méthode statistics/pbx/. Activez les notifications webhooks et recevez l'information sur chaque appel au moment de son début et sa fin.

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

Les paramètres:

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

Où:

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

get /v1/statistics/callback_widget/

la statistique de widget Callback

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

Les paramètres:

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

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

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

Où:

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

get /v1/statistics/incoming-calls/

réception de la statistique des appels entrants

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

Les paramètres

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

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

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

Où:

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

PBX

post /v1/pbx/redirection/

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

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

Les paramètres:

Pour activer et ajuster le renvoi:

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

Pour désactiver le renvoi:

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

get /v1/pbx/redirection/

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

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

Les paramètres:

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

get /v1/pbx/record/request/

la demande du fichier d'enregistrement d'appel

Les paramètres:

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

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

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

(Réponse 1)

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

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

(Réponse 2)

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

Les paramètres:

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

post /v1/pbx/waitmelody/upload

chargement de musique

Paramètres

  • file - fichier lui-même

put /v1/pbx/waitmelody/switch

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

Paramètres

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

delete /v1/pbx/waitmelody/delete

suppression de musique

get /v1/pbx/callinfo/

recevoir des paramètres pbx call info

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

Paramètres:

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

post /v1/pbx/callinfo/url/

changement de url pour pbx call info

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

Paramètres:

  • url - lien vers votre script, avec le code de vérification <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?> au début du script;
  • user_id - paramètre facultatif, disponible uniquement pour les revendeurs et uniquement pour les utilisateurs qu'ils ont créés.

post /v1/pbx/callinfo/notifications/

changement de réaction aux événements NOTIFY_* pour pbx call info

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

Paramètres:

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

delete /v1/pbx/callinfo/url/

suppression de url pour pbx call info

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

Paramètres:

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

post /v1/pbx/create/

création du standard virtuel

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

Paramètres:

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

get /v1/pbx/webhooks/

recevoir des paramètres de pbx webhooks

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

Paramètres:

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

post /v1/pbx/webhooks/url/

changement de url pour pbx webhooks

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

Paramètres:

  • user_id - paramètre facultatif, disponible uniquement pour les revendeurs et uniquement pour les utilisateurs qu'ils ont créés;
  • url - lien vers votre script, avec le code de vérification <?php if (isset($_GET['zd_echo'])) exit($_GET['zd_echo']); ?> au début du script.

post /v1/pbx/webhooks/hooks/

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

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

Paramètres:

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

delete /v1/pbx/webhooks/url/

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

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

Paramètres:

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

Standard virtuel (numéros internes)

get /v1/pbx/internal/

l'affichage des numéros internes du standard virtuel

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

Où:

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

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

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

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

Où:

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

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

information sur le numéro interne du standard virtuel

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

où:

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

put /v1/pbx/internal/recording/

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

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

Les paramètres:

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

post /v1/pbx/internal/create/

création du numéro du standard virtuel

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

Paramètres:

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

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

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

Paramètres:

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

Exemple de réponse:

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

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

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

changement de mot de passe du numéro interne

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

Paramètres:

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

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

changement du numéro interne du standard virtuel

Paramètres

  • supervisor_status - statut de superviseur, 0 - désactivé, 1 - activé;
  • user_id - optionnel, disponible aux revendeurs et aux utilisateurs créés par les revendeurs.

Standard virtuel (SVI)

get /v1/pbx/ivr/sounds/list

liste de fichiers dans le stockage du standard virtuel

post /v1/pbx/ivr/sounds/upload

chargement du fichier

Paramètres

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

delete /v1/pbx/ivr/sounds/delete

suppression du fichier par ID

Paramètres

  • id - identificateur du fichier

get /v1/pbx/ivr/

liste de SVI

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

Paramètres:

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

post /v1/pbx/ivr/create/

créer le SVI

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

Paramètres:

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

delete /v1/pbx/ivr/delete/

suppression de SVI

                                    {
    "status": "success"
}

Paramètres:

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

get /v1/pbx/ivr/scenario/

liste de scénario de SVI

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

Paramètres:

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

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

création d'un scénario SVI

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

Paramètres:

  • push_button - déclenchement du scénario lors de l'appui sur un bouton : si l'abonné n'appuie pas sur le bouton, le scénario se déclenche sans appui, 0-9 - boutons, 10 - répondeur automatique, 11-30 - scénarios supplémentaires ;
  • title - titre ;
  • **extension - numéro interne, ou numéros séparés par des espaces, ou "fax" ;
  • menu_id - ID du menu/IVR ;
  • user_id - paramètre facultatif, disponible uniquement pour une utilisation par les revendeurs et uniquement pour les utilisateurs créés par eux ;
  • trigger_to_did_ext_lines - paramètre facultatif. Indique les numéros sur lesquels le scénario est déclenché lors des appels. Peut contenir un numéro ou une liste de numéros séparés par des espaces ;
  • trigger_from_clid_numbers - paramètre facultatif. Indique les numéros à partir desquels le scénario est déclenché lors des appels. Peut contenir un numéro ou une liste de numéros séparés par des espaces.

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

changement du scénario de SVI

Corps de la demande PUT:

(Réponse 1)

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

Description:

  • id - ID du scénario;
  • title - nom;
  • queue_strategy - stratégie de distribution des appels par numéros internes dans la file d’attente (off, random, roundrobin, leastrecent, rrmemory, fewestcalls)
  • queue_announce_position - communiquer le numéro de séquence dans la file d'attente
  • numbers - matrice des numéros internes
    • paramètres de délai et durée de l'appel au numéro interne:
    • number - numéro interne ou "fax";
    • delay - délai d'appel en secondes
    • duration - durée d'appel en secondes

La déscription de la stratégie de distribution des appels par numéros internes dans la file d’attente:

  • off - la file d’attente désactivée
  • random - par hasard
  • roundrobin - de façon égale, donner la priorité à celui qui n’a pas répondu, compter tous les appels
  • leastrecent - de façon égale, donner la priorité à celui qui n’a pas répondu, compter les appels répondus
  • rrmemory - de façon égale, donner la priorité à celui qui a répondu moins, compter tous les appels
  • fewestcalls - de façon égale, donner la priorité à celui qui a répondu moins, compter les appels répondus

Les paramètres du délai et de la durée d'appel aux numéros internes s'appliquent à la file d'attente désactivée (queue_strategy : "off").

Réponse: (Réponse 2)

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

Erreur: (Réponse 3)

                                    Réponse 3:
{"status": "error","message": "Wrong parameters!"}

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

suppression de scénario de SVI

                                    {
    "status": "success"
}

Paramètres:

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

Reconnaissance vocale

get /v1/speech_recognition/

réception des résultats de la reconnaissance

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

Paramètres

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

Paramètres de la réponse:

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

put /v1/speech_recognition/

Pour lancer la reconnaissance de l'appel dans les statistiques du standard virtuel, la reconnaissance sélective doit être activée au préalable dans les paramètres du numéro interne

                                    {
    "status":"success"
}

Paramètres

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

Numéros virtuels

get /v1/direct_numbers/

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

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

Les paramètres:

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

  • number – le numéro virtuel acheté de l'utilisateur;
  • status – le statut du numéro;
    • on - numéro activé;
    • parking - le numéro désactivé (non payé), est disponible pendant 7 jours et peut être restitué après le rechargement;
    • checking - le numéro commandé, payé, tous les documents nécessaires sont chargés, est en attente d'activation;
    • checking_upload - le numéro commandé, payé, est en attente de chargement de documents nécessaires;
    • reserved_on - le numéro est reservé jusqu'au paiement;
    • reserved_checking - le numéro est reservé jusqu'au paiement, tous les documents nécessaires sont chargés;
    • reserved_checking_upload - le numéro reservé jusqu'au paiement, est en attente de chargement de documents nécessaires;
  • 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 (numéro virtuel), order (numéro commandé, mais pas connecté)

get /v1/direct_numbers/number/

information sur le numéro acheté

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

Paramètres

  • type - peut avoir une des 3 notions:
  • 'revenue' - numéro dans un format international;
  • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro.

get /v1/direct_numbers/autoprolongation/

statut de renouvellement

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

Paramètres

  • type - peut avoir une des 2 notions:
  • 'revenue' - numéro dans un format international;
  • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro.

get /v1/direct_numbers/checking-wrongs/

recevoir l'information sur les erreurs de vérification des documents ou de l'adresse

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

Paramètres

  • group_id - id du groupe de documents.

put /v1/direct_numbers/autoprolongation/

changer de statut de renouvellement

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

Paramètres

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

get /v1/direct_numbers/countries/

liste des pays dont les numéros vous pouvez commander

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

Paramètres

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

get /v1/direct_numbers/country/

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

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

Paramètres

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

put /v1/direct_numbers/set_caller_name/

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

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

Paramètres

  • type - peut avoir une des 2 notions:
  • 'revenue' - numéro dans un format international;
  • 'common' - Numéro ordinaire, tous les autres;
  • number - numéro;
  • caller_name - pour effacer - le champ vide.

put /v1/direct_numbers/set_sip_id/

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

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

Paramètres

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

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

numéro à commander

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

Paramètres:

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

post /v1/direct_numbers/order/

commande/achat du numéro

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

Paramètres :

  • number_id - ID du numéro commandé, obtenu via la méthode GET /v1/direct_numbers/available/<DIRECTION_ID>/ par exemple : 1712p0D1643D0t42r198658 (si aucun choix de numéros n'est disponible, ce paramètre n'est pas utilisé);
  • direction_id - ID de la direction/ville;
  • documents_group_id - ID du groupe de documents de l'utilisateur;
  • purpose - description textuelle de l'utilisation du numéro (uniquement si nécessaire);
  • receive_sms - 1 - activation de la réception de SMS (uniquement si le numéro supporte la réception de SMS);
  • period - 'month' - un mois, '3month' - trois mois (paramètre facultatif, la réception de SMS est activée pour les numéros connectés pour un minimum de 3 mois);
  • autorenew_period - paramètre facultatif, période de renouvellement (année, mois), cela influence les frais d'abonnement pour le numéro, par défaut 'mois';
  • user_id - paramètre facultatif, disponible uniquement pour les revendeurs et uniquement pour les utilisateurs créés par eux.

post /v1/direct_numbers/prolong/

prolongation du numéro

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

Paramètres:

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

put /v1/direct_numbers/receive_sms/

activer la réception des SMS (si le numéro gère la réception des SMS)

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

Paramètres:

  • number - numéro
  • value - notion (options "on" ou "off")
  • documents_group_id - optionnel, ID du groupe des documents du compte
  • user_id - optionnel, disponible aux revendeurs et aux utilisateurs créés par les revendeurs

Groupe de documents

get /v1/documents/files

liste de fichiers/documents dans le groupe de documents

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

Paramètres:

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

get /v1/documents/groups/list/

liste de groupe de documents

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

Paramètres:

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

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

données de groupe précis

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

Paramètres:

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

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

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

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

Paramètres:

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

post /v1/documents/groups/create/

création du nouveau groupe

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

Paramètres:

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

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

renouvellement des données de groupe de documents

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

Paramètres:

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

post /v1/documents/upload/

chargement du fichier de document pour le groupe de documents

Paramètres:

  • user_id - optionnel, pour l'utilisation des marchands et des utilisateurs créés;
  • group_id - ID de groupe, 0 - groupe de documents principal;
  • document_type - type de document: 'certificate', 'contract', 'company_letter', 'inn_ua', passport', 'phone_bill', 'photo_with_doc', 'photo_with_passport', 'receipt', 'driver_id_us_ca', 'driver_id_other';
  • file - uploaded file.

Exemple de demande:

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

Exemple de réponse:

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

Marchand

get /v1/reseller/account/info/

information sur le compte du marchand

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

post /v1/reseller/account/money_transfer/

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

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

Paramètres

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

get /v1/reseller/users/phones/

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

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

Paramètres

  • user_id - id de l'utilisateur;

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

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

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

Paramètres

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

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

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

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

Paramètres

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

post /v1/reseller/users/phones/prove_by_sms

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

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

Paramètres

  • user_id - l'id de l'utilisateur;
  • number - le numéro;
  • confirm_number_reuse - la confirmation du numéro utilisé dans un autre compte (optionnel).

post /v1/reseller/users/phones/prove_by_callback

Demande de confirmation du numéro de téléphone de contact de l'utilisateur (un appel sera passé et une fois répondu, l'abonné entendra un code de confirmation)

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

Paramètres:

  • user_id - paramètre obligatoire, id de l'utilisateur;
  • number - paramètre obligatoire, numéro confirmé (dans un format international);
  • caller_id - numéro qui s'affiche lors de l'appel, les numéros connectés dans le système sont disponibles;
  • language - langue du texte;
  • sip_id - optionnel, s'il n'est pas indiqué, n'importe quel SIP du revendeur est choisi;
  • confirm_number_reuse - optionnel, confirmation du numéro utilisé dans un autre compte

post /v1/reseller/users/phones/confirm

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

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

Paramètres

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

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

Enregistrement de l'utilisateur

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

Paramètres

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

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

Confirmation d'enregistrement de l'utilisateur

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

Paramètres

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

get /v1/reseller/users/list/

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

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

Paramètres

  • page - numéro de page.

get /v1/reseller/users/find/

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

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

Paramètres

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

post /v1/reseller/users/topup/

Virement du compte du marchand au compte de l'utilisateur

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

Paramètres

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

get /v1/reseller/users/api_key/

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

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

Paramètres

  • user_id - id de l'utilisateur.

post /v1/reseller/users/api_key/

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

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

Paramètres

  • user_id - id de l'utilisateur.

Intégration de widget WebRTC

get /v1/webrtc/get_key/

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

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

Paramètres:

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

post /v1/webrtc/create/

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

                                    {
    "status": "success"
}

Paramètres

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

put /v1/webrtc/

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

                                    {
    "status": "success"
}

Paramètres

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

get /v1/webrtc/

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

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

Paramètres

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

post /v1/webrtc/domain/

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

                                    {
   "status": "success"
}

Paramètres

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

delete /v1/webrtc/domain/

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

                                    {
   "status": "success"
}

Paramètres

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

delete /v1/webrtc/

Suppression de l'intégration de widget WebRTC

                                    {
   "status": "success"
}

Paramètres

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

get /v1/esim/devices/

Liste des appareils compatibles avec eSIM

Description de la réponse réussie (Réponse 1)

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

  • devices (object[]) — liste des appareils, regroupés par marques

Description de la réponse en cas d'erreur interne (Réponse 2)

                                    Réponse 2:
{ "status": "error", "message": "Getting devices internal error" }

  • message (string) — contient le message d'erreur

get /v1/esim/packages/

Liste des forfaits disponibles

Description de la réponse réussie (Réponse 1)

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

  • packages (object[]) — contient une liste des forfaits disponibles
  • packages.*.duration (integer) — durée de validité de l'eSIM. L'unité de mesure est spécifiée dans le paramètre duration_unit
  • packages.*.countries (object[]) — liste des pays où l'eSIM fonctionne pour les appels
  • packages.*.networks (object[]) — liste des pays où l'eSIM fonctionne pour l'internet mobile
  • packages.*.region (null|string, europe|america|latin-america|asia|caribbean-islands|africa|south-africa|middle-east|oceania|iberica|scandinavia|eastern-europe) — région où l'eSIM est fonctionnelle
  • packages.*.id (string) — identifiant interne de l'eSIM
  • packages.*.price (float) — prix de l'eSIM
  • packages.*.data (integer) — volume de données disponible. L'unité de mesure est spécifiée dans le paramètre data_unit
  • packages.*.duration_unit (string, days) — unité de mesure de la durée, issue du paramètre duration
  • packages.*.data_unit (string, GB|KB|MB) — unité de mesure des données issue du paramètre data
  • packages.*.top_up (boolean) — est à true si l'eSIM peut être rechargée
  • packages.*.kyc_verify (boolean) — indique si une vérification des documents est requise pour l'achat de l'eSIM
  • packages.*.activation_policy (null|string, first-usage|installation) — politique d'activation. Si "first-usage", l'activation se fait lors de la première utilisation. Si "installation", l'activation se fait lors de l'installation sur l'appareil. Si null, il n'y a pas de politique d'activation
  • packages.*.price_multi_currency (object) — objet contenant les prix dans différentes devises
  • packages.*.activation_limit_days (null|integer) — peut contenir le nombre de jours dans lesquels l'eSIM doit être activée après l'achat. Si null, il n'y a pas de restriction

Description de la réponse en cas d'erreur interne (Réponse 2)

                                    Réponse 2:
{ "status": "error", "message": "Getting packages error" }

  • message (string) — contient le message d'erreur

get /v1/esim/orders/

Liste des forfaits connectés

Paramètres

  • user_id (integer)
    Champ facultatif
    ID de l'utilisateur demandé. Disponible uniquement pour les revendeurs et uniquement pour les utilisateurs qu'ils ont créés. Par défaut, l'ID de l'utilisateur actuel sera utilisé.

Description de la réponse réussie (Réponse 1)

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

  • orders (object[]) — liste des forfaits activés. Pour une description détaillée des données des forfaits, voir la méthode /v1/esim/order/<iccid>/

Description de la réponse en cas d'user_id incorrect (Réponse 2)

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

  • message (string) — contient le message d'erreur

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

Informations sur le forfait connecté via l'ICCID

Paramètres

  • iccid (string)
    Champ obligatoire
    ICCID demandé
  • user_id (integer)
    Champ facultatif
    ID de l'utilisateur demandé. Disponible uniquement pour les revendeurs et uniquement pour les utilisateurs qu'ils ont créés. Par défaut, l'ID de l'utilisateur actuel sera utilisé.

Description de la réponse réussie (Réponse 1)

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

  • order.iccid (string) — ICCID du forfait eSIM
  • order.status (string, active|inactive|archived|blocked) — statut du forfait : activé, non activé, archivé ou bloqué
  • order.packages (object[]) — forfaits activés. Les données associées sont décrites dans la méthode /v1/esim/esim/packages
  • order.packages.*.data_remaining (float) — volume de données disponible. L'unité de mesure de cette valeur est contenue dans le paramètre order.packages.*.data_unit
  • order.packages.*.expired_at (null|integer) — timestamp si l'eSIM a expiré
  • order.title (null|string) — nom personnalisé de l'eSIM achetée
  • order.msisdn (null|string) — MSISDN s'il existe
  • order.activation_code (string) — clé pour générer un code QR ou pour une installation manuelle
  • order.created_at (integer) — timestamp de l'activation de l'eSIM

Description de la réponse en cas d'erreur si un ICCID inexistant est envoyé (Réponse 2)

                                    Réponse 2:
{ "status": "error", "message": "Not found" }

  • message (string) — message d'erreur

post /v1/esim/order/create/

Connecter un forfait

Paramètres

  • package_id (string)
    Champ obligatoire
    ID du package à connecter, packages.*.id obtenu à partir de la méthode /v1/esim/packages/
  • user_id (integer)
    Champ facultatif
    ID de l'utilisateur pour la connexion. Accessible uniquement aux revendeurs et uniquement pour les utilisateurs qu'ils ont créés. Par défaut, l'ID de l'utilisateur actuel sera utilisé.

Description de la réponse réussie(Réponse 1)

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

  • order (object) — données sur le package connecté. Une description détaillée est disponible dans la méthode /v1/esim/order/<iccid>/

Description de la réponse en cas d'erreur due à un solde insuffisant (Réponse 2)

                                    Réponse 2:
{ "status": "error", "message": "Not enough money on your account" }

  • message (string) — contient un message d'erreur

Les méthodes CRM

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, "utm": 19, "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)
    • utm — la balise de source (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" } ], "utms": [ { "id": 19, "param": "utm_source", "value": "google", "display_value": "Google" } ] } ] }

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
  • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
    • id — identificateur de balise
    • param — type de balise. Les notions possibles:
      • utm_medium
      • utm_campaign
      • utm_content
      • phone — le numéro
      • custom — arbitraire
    • value — la valeur réelle de balise
    • display_value — la valeur exprimée de balise

get /v1/zcrm/customers/<c_id>

Renvoie un client par son ID

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

                                    {
  "id": 65,
  "name": "Good Company",
  "status": "company",
  "type": "client",
  "responsible_user_id": 20,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "created_at": "2020-04-28 05:47:47",
  "created_by": 20,
  "lead_source": "manual",
  "lead_created_at": null,
  "lead_created_by": null,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 12,
      "label": "Best clients"
    }
  ],
  "utms": [
    {
      "id": 19,
      "param": "utm_source",
      "value": "google",
      "display_value": "Google"
    }
  ],
  "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
  • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
    • id — identificateur de balise
    • param — type de balise. Les notions possibles:
      • utm_medium
      • utm_campaign
      • utm_content
      • phone — le numéro
      • custom — arbitraire
    • value — la valeur réelle de balise
    • display_value — la valeur exprimée de balise
  • 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 } ], "utms": [ { "id": 19 }, { "id": 20 } ], "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
    • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
      • id — l'identificateur de balise
    • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

La réponse

(Réponse 2)

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

Où:

  • id — l'identificateur de client créé

put /v1/zcrm/customers/<c_id>

Renouvelle le client existant avec l'ID indiqué

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

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

                                    {
    "name": "Good Company",
    "status": "company",
    "type": "client",
    "responsible_user_id": 20,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 12 },
      { "id": 13 }
    ],
    "utms": [
      { "id": 19 },
      { "id": 20 }
    ],
    "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
    • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
      • id — l'identificateur de balise
    • 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

Balises de sources

get /v1/zcrm/customers/utms

Renvoie une matrice de toutes les balises de source et leurs statistiques

Réponse

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

Où chaque balise contient des champs suivants:

  • id — identificateur de la balise de source
  • param — type de la balise de source. Notions possibles:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — numéro
    • custom — arbitraire
  • value — valeur réelle de la balise de source
  • display_value — valeur exprimée de la balise de source
  • count — nombre de clients et de leads utilisant cette balise de source

post /v1/zcrm/customers/utms

Crée une nouvelle balise de source

Paramètres

  • utm — données de la nouvelle balise de source. Structure de balise:

(Réponse 1)

                                    Réponse 1:
{ "param": "utm_source", "value": "google", "display_value": "Google" }

Où:

  • param — type de balise de source. Notions possibles:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
    • phone — numéro
    • custom — arbitraire
      • value — valeur réelle de la balise de source
      • display_value — valeur exprimée de la balise de source
      • count — nombre de clients et de leads utilisant cette balise de source

Réponse

(Réponse 2)

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

Où:

  • id — identificateur de la balise de source créée

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

Met à jour une balise de source existante avec l'ID indiqué

Paramètres de l'adresse

  • utm_id — identificateur de la balise de source

Paramètres

  • utm — nouvelles données de la balise de source. Structure de balise:

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

Où:

  • param — тип метки источника. Допустимые значения:
    • utm_source
    • utm_medium
    • utm_campaign
    • utm_content
      • phone — numéro
    • custom — arbitraire
      • value — valeur réelle de la balise de source
      • display_value — valeur exprimée de la balise de source

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

Supprime une balise de source du système par son ID

Paramètres de l'adresse

  • utm_id — identificateur de la balise de source

Tags

get /v1/zcrm/customers/labels

Renvoie la liste de tous les tags et leur statistique

La réponse

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

Où:

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

post /v1/zcrm/customers/labels

Crée un nouveau tag

Les paramètres

  • name — le nom du nouveau tag

La réponse

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

Où:

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

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

Supprime le tag du système par son ID

Les paramètres de l'adresse

  • l_id — l'identificateur de tag

Propriétés avancées

get /v1/zcrm/customers/custom-properties

Renvoie toutes propriétés avancées

La réponse

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

Où:

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

Fil du client

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

Renvoie les notes dans un fil du client

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

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

Где:

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

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

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

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

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

La réponse

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

Où:

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

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

Renouvelle le contenu de la note textuelle existante par son ID

Les paramètres de l'adresse

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

Les paramètres

  • content — le nouveau texte de note textuelle

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

Supprime une note dans un fil du client par son ID

Les paramètres de l'adresse

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

Employés

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

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

Les paramètres de l'adresse

  • c_id — l'identificateur du client

La réponse

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

Où:

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

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

Renvoie l'employé du client par son ID

Les paramètres de l'adresse

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

La réponse

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

Où:

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

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

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

Les paramètres de l'adresse

  • c_id — l'identificateur du client

Les paramètres

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

(Réponse 1)

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

Où:

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

La réponse

(Réponse 2)

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

Où:

  • id — l'identificateur du nouvel employé

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

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

Les paramètres de l'adresse

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

Les paramètres

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

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

Où:

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

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

Supprime l'employé par son ID

Les paramètres de l'adresse

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

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, "utm": 19, "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" } ], "utms": [ { "id": 19, "param": "utm_source", "value": "google", "display_value": "Google" } ] } ] }

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
  • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
    • id — l'identificateur de balise
    • param — type de balise. Les notions possibles:
      • utm_medium
      • utm_campaign
      • utm_content
      • phone — le numéro
      • custom — arbitraire
    • value — la valeur réelle de balise
    • display_value — la valeur exprimée de balise

get /v1/zcrm/leads/<lead_id>

Renvoie le lead par son ID

La réponse

                                    {
  "id": 3486,
  "name": "Good Company",
  "responsible_user_id": 234,
  "employees_count": "50",
  "comment": "",
  "country": "GB",
  "city": "London",
  "address": "",
  "zip": "",
  "website": "",
  "lead_status": "not_processed",
  "lead_source": "manual",
  "lead_created_at": "2020-04-28 05:47:47",
  "lead_created_by": 234,
  "phones": [
    {
      "type": "work",
      "phone": "+44123456789"
    }
  ],
  "contacts": [
    {
      "type": "email_work",
      "value": "good_company@example.com"
    }
  ],
  "labels": [
    {
      "id": 22,
      "label": "Лучшие клиенты"
    }
  ],
  "utms": [
    {
      "id": 19,
      "param": "utm_source",
      "value": "google",
      "display_value": "Google"
    }
  ],
  "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
    • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
      • id — l'identificateur de balise
      • param — type de balise. Les notions possibles:
        • utm_medium
        • utm_campaign
        • utm_content
        • phone — le numéro
        • custom — arbitraire
      • value — la valeur réelle de balise
      • display_value — la valeur exprimée de balise

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 } ], "utms": [ { "id": 19 }, { "id": 20 } ], "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
      • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
    • id — l'identificateur de balise
  • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
  • id — l'identificateur de la caractéristique supplémentaire
  • key — le nom unique de la caractéristique supplémentaire
  • value — la notion de la caractéristique supplémentaire

La réponse

(Réponse 2)

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

Où:

  • id — l'identificateur de lead créé

put /v1/zcrm/leads/<lead_id>

Renouvelle un lead existant avec l'ID indiqué

Les paramètres

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

                                    {
    "name": "Good Company",
    "responsible_user_id": 234,
    "employees_count": "50",
    "comment": "",
    "country": "GB",
    "city": "London",
    "address": "",
    "zip": "",
    "website": "",
    "lead_source": "manual",
    "lead_status": "in_progress",
    "phones": [
      {
        "type": "work",
        "phone": "+44123456789"
      }
    ],
    "contacts": [
      {
        "type": "email_work",
        "value": "good_company@example.com"
      }
    ],
    "labels": [
      { "id": 22 },
      { "id": 23 }
    ],
    "utms": [
      { "id": 19 },
      { "id": 20 }
    ],
    "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
    • utms — la matrice de balises de source. Chaque balise contient les champs suivants:
      • id — l'identificateur de balise
    • custom_properties — la matrice des caractéristiques supplémentaires. Chaque caractéristique supplémentaire a des champs suivants:
    • id — l'identificateur de la caractéristique supplémentaire
    • key — le nom unique de la caractéristique supplémentaire
    • value — la notion de la caractéristique supplémentaire

delete /v1/zcrm/leads/<lead_id>

Supprime un lead par son ID

Utilisateurs

get /v1/zcrm/users

Renvoie la liste des utilisateurs

La réponse

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

Où:

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

get /v1/zcrm/users/<user_id>

Renvoie l'utilisateur par son ID

La réponse

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

Où:

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

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

Renvoie les heures de travail de l'utilisateur

La réponse

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

Où:

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

get /v1/zcrm/users/groups

Renvoie les groupes et les droits des utilisateurs de chaque groupe

La réponse

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

Où:

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

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)

Affaires

get /v1/zcrm/deals

Renvoie une liste d'affaires

Paramètres

  • search (optionnel) — barre de recherche. La recherche s'effectue selon le nom.

  • filter (optionnel) — filtre des affaires. La structure du filtre:

(Réponse 1)

                                    Réponse 1:
{ "currency": "USD", "responsible_user": 20, "status": "new" }

Où:

  • currency — devise d'affaire. Le code à trois lettres ISO 4217: EUR, USD etc.
  • responsible_user — responsable (identificateur de l'utilisateur)
  • status — statut d'affaire. Notions possibles:

    • new — nouvelle affaire
    • in_progress — en cours de traitement
    • decision — décision en attente
    • payment — paiement en attente
    • success — affaire réussie
    • canceled — affaire annulée

    Un des paramètres peut être omi car il est optionnel.

  • sort (optionnel) — trier les affaires. La structure du paramètre:

(Réponse 2)

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

Où:

  • attr — champ de tri. Notions possibles:
    • title — nom d'affaire
    • budget — budget d'affaire
    • status — statut d'affaire
    • created_at — date de création d'affaire
  • desc — critères de tri. Notions possibles:
    • 0 — par ordre croissant
    • 1 — par ordre décroissant
  • take (longueur de sortie) — le nombre d'affaire à renvoyer (par défaut 20)

  • skip (longueur de sortie) — le nombre d'affaire à ignorer (par défaut 0)

Réponse

(Réponse 3)

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

Où:

  • totalCount — le nombre total d'affires (y inclus la barre de recherche et le filtre)
  • deals — la matrice d'affaires (y inclu longueur de sortie). Chaque élément de la matrice contient les paramètre suivants:
    • id — identificateur d'affaire
    • title — nom d'affaire
    • budget — budget d'affaire
    • currency — devise d'affaire. Le code à trois lettres ISO 4217: EUR, USD etc.
    • status — statut d'affaire. Notions possibles:
    • new — nouvelle affaire
    • in_progress — en cours de traitement
    • decision — décision en attente
    • payment — paiement en attente
    • success — affaire réussie
    • canceled — affaire annulée
    • responsible_user — responsable (identificateur de l'utilisateur)
    • created_at — date et heure de création d'affaire (dans un format YYYY-MM-DD HH:mm:ss)
    • created_by — qui a créé (identificateur de l'utilisateur)
    • customer_id — identificateur du client, lié à l'affaire
    • customer_is_lead — drapeau qui montre si le client est le lead
    • customer_name — nom du client lié à l'affaire
    • customer_responsible_user — responsable du client (identificateur de l'utilisateur)

get /v1/zcrm/deals/<deal_id>

Renvoie une affaire par son ID

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire

Reponse

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

Où:

  • id — identificateur d'affaire
    • title — nom d'affaire
    • budget — budget d'affaire
  • currency — devise d'affaire. Le code à trois lettres ISO 4217: EUR, USD etc.
    • status — statut d'affaire. Notions possibles:
    • new — nouvelle affaire
    • in_progress — en cours de traitement
    • decision — décision en attente
    • payment — paiement en attente
    • success — affaire réussie
    • canceled — affaire annulée
  • responsible_user — responsable (identificateur de l'utilisateur)
  • created_at — date et heure de création d'affaire (dans un format YYYY-MM-DD HH:mm:ss)
    • created_by — qui a créé (identificateur de l'utilisateur)
    • customer_id — identificateur du client, lié à l'affaire
    • customer_is_lead — drapeau qui montre si le client est le lead
    • customer_name — nom du client lié à l'affaire
    • customer_responsible_user — responsable du client (identificateur de l'utilisateur)

post /v1/zcrm/deals

Crée une nouvelle affaire avec de données indiquées

Paramètres

  • deal — les données de la nouvelle affaire. La structure de l'affaire:

(Réponse 1)

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

Où:

  • title — nom d'affaire
  • budget — budget d'affaire
    • currency — devise d'affaire. Le code à trois lettres ISO 4217: EUR, USD etc.
  • status — statut d'affaire. Notions possibles:
    • new — nouvelle affaire
    • in_progress — en cours de traitement
    • decision — décision en attente
    • payment — paiement en attente
    • success — affaire réussie
    • canceled — affaire annulée
    • responsible_user — responsable (identificateur de l'utilisateur)
    • customer_id — identificateur du client, lié à l'affaire

Réponse

(Réponse 2)

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

Où:

  • id — identificateur de l'affaire créée

put /v1/zcrm/deals/<deal_id>

Met à jour une affaire existante avec l'ID indiqué

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire

Paramètres

  • deal — nouvelles données de l'affaire. La structure de l'affaire:

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

Où:

  • title — nom d'affaire
    • budget — budget d'affaire
    • currency — devise d'affaire. Le code à trois lettres ISO 4217: EUR, USD etc.
    • status — statut d'affaire. Notions possibles:
    • new — nouvelle affaire
    • in_progress — en cours de traitement
    • decision — décision en attente
    • payment — paiement en attente
    • success — affaire réussie
    • canceled — affaire annulée
    • responsible_user — responsable (identificateur de l'utilisateur)

delete /v1/zcrm/deals/<deal_id>

Supprime une affaire par son ID

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire

Fil d'affaire

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

Renvoie les données dans le fil d'affaire

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire

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",
      "attached_files": [
        {
          "file_id": 576,
          "original_filename": "document.doc"
        }
      ]
    }
  ]
}

Où:

  • totalCount — nombre total d'enregistrements
  • items — matrice d'enregistrements. Chaque enregistrement contient d'atributs suivants:
    • id — identificateur d'enregistrement
    • type — type d'enregistrement. Notions possibles:
      • event — événement
      • note — note
    • content — contenu d'enregistrement. Si le type d'enregistrement est une note, cet atribut contient le texte. Si le type d'enregistrement est un événement, cet atribut contient l'identificateur d'événement, par exemple:
      • DEAL_CREATED — événement de création d'affaire
      • DEAL_STATUS_CHANGED: success — événement de changement de statut d'affaire: affaire réussie
    • time — date d'enregistrement dans un format YYYY-MM-DD hh:mm:ss
    • user_id — identificateur de l'utilisateur, qui a créé l'enregistrement
    • user_name — nom de l'utilisateur, qui a créé l'enregistrement
    • attached_files — matrice de fichiers joints à la note (si le type d'enregistrement est une note). Chaque élément de la matrice contient d'atributs suivants:
      • file_id — identificateur du fichier
      • original_filename — nom du fichier

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

Ajoute une note textuelle au fil de l'affaire avec la possibilité de joindre des fichiers

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire

Paramètres

  • content — texte de la note
  • files — matrice de fichiers joints

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 — identificateur d'enregistrement
    • type — type d'enregistrement. Dans ce cas:
    • note — note
    • content — texte de la note
  • time — date d'enregistrement dans un format YYYY-MM-DD hh:mm:ss
    • user_id — identificateur de l'utilisateur, qui a créé l'enregistrement
    • user_name — nom de l'utilisateur, qui a créé l'enregistrement
    • attached_files — matrice de fichiers joints à la note (si le type d'enregistrement est une note). Chaque élément de la matrice contient d'atributs suivants:
      • file_id — identificateur du fichier
      • original_filename — nom du fichier

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

Met à jour le contenu d'une note textuelle existante par son ID

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire
  • i_id — identificateur de la note

Paramètres

  • content — nouveau texte de la note

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

Supprime une note dans le fil d'affaire par son ID

Paramètres de l'adresse

  • deal_id — identificateur de l'affaire
  • i_id — identificateur de la note

Tâches

get /v1/zcrm/events

Renvoie la liste des tâches

Les paramètres

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

(Réponse 1)

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

Où:

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

(Réponse 2)

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

Où:

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

La réponse

(Réponse 3)

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

Où:

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

get /v1/zcrm/events/<event_id>

Renvoie une tâche par son ID

La réponse

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

Où:

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

post /v1/zcrm/events

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

Les paramètres

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

(Réponse 1)

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

Où:

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

La réponse

(Réponse 2)

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

Où:

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

put /v1/zcrm/events/<event_id>

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

Les paramètres

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

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

Où:

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

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

Termine (ferme) une tâche

Les paramètres

  • comment (optionnel) — le commentaire

delete /v1/zcrm/events/<event_id>

Supprime une tâche par son ID

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)
  • take (page par page) — combien d'appels renvoyer (par défaut 20)
  • skip (page par page) — combien d'appels manquer (par défaut 0)
  • sort (optionnel) — le tri des appels. La structure du paramètre:
  • 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.

(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

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

Fichiers

get /v1/zcrm/files/<file_id>

Rend le fichier par son ID

Système de notification d'appel - Webhook


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

NOTIFY_START

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

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

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

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

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

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

1. Rediriger un appel:

(Réponse 1)

                                    Réponse 1:
{ "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 du standard virtuel 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;
  • rewrite_forward_number - renvoi au numéro de téléphone. Paramètre optionnel, disponible à l'utilisation qu'avec le paramètre redirect. Il est indispensable pour le changement rapide du numéro de renvoi indiqué dans les paramètres du numéro interne du standard virtuel.

2. Terminer un appel:

(Réponse 2)

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

Reproduire les chiffres:

(Réponse 3)

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

Où:

  • caller_name - nom du numéro.

Dans chaque variante en dessous (de 4 à 7) il existe une réponse-chiffre de l'abonné. Paramètres de la saisie des chiffres:

(Réponse 4)

                                    Réponse 4:
{ "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 n'est saisie (attention, pour lancer l'action il faut faire jouer le fichier avec la commande ivr_play selon le paragraphe 4 en bas). 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.

4. Lire un fichier:

(Réponse 5)

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

où,

  • ivr_play – notion de la colonne ID dans la liste de fichiers chargés/lus.

5. Lire une phrase populaire:

(Réponse 6)

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

où,

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

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

6. Lire une chiffre:

(Réponse 7)

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

7. Lire un nombre (conformément aux régles):

(Réponse 8)

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

Où:

  • language a une des notions: ru, en, es, pl;

Si ivr_saydigits ou ivr_saynumber sont indiqué, dans un événement suivant NOTIFY_IVR sera ajouté le paramètre: "ivr_saydigits": "COMPLETE" ou "ivr_saynumber": "COMPLETE"

Dans un événement suivant NOTIFY_IVR est indiqué encore un paramètre: (Réponse 9)

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

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.
  • transfer_from – (optionnel) l'initiateur du transfert, numéro interne.
  • transfer_type – (optionnel) le type du transfert.

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

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

NOTIFY_ANSWER

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

Les paramètres envoyés 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.
  • transfer_from – (optionnel) l'initiateur du transfert, numéro interne.
  • transfer_type – (optionnel) le type du transfert.

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

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

NOTIFY_END

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

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

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

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

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

NOTIFY_OUT_START

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

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

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

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

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

NOTIFY_OUT_END

la fin de l'appel sortant du standard virtuel

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

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

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

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

NOTIFY_RECORD

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

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

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

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

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

NOTIFY_IVR

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

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

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

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

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

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

Exemple PHP:

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

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

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

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

Autres notifications


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

NUMBER_LOOKUP

le rapport de vérification des numéros

Les paramètres envoyes au lien pour les notifications:

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

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

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

CALL_TRACKING

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

Elle s'envoie toutes les 8 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 balises utm) des balises utm, 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 balises utm, différentes de celles du passage la dernière fois) la matrice avec des balises utm indiquées, auxquelles le visiteur a passé sur le site la première fois;
    • pbx_call_id - l'id de l'appel (sauf numéros verts);

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

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;
  • call_id – l'id d'appel unique, cet id est indiqué dans le nom du fichier d'enregistrement de la conversation;
  • pbx_call_id – l'ID d'appel permanent au standard téléphonique virtuel;
  • 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