NAV Navbar
php
  • Integration with CRM
  • WebHooks
  • WebSocket
  • REST API
  • REST API: STATS
  • REST API: CUSTOMERS
  • REST API: CALLS
  • REST API: SETTINGS
  • REST API: Common problems
  • REST API: List of errors
  • REST API: Examples
  • Integration with CRM

    Телефония Binotel интегрируется с 70+ CRM-системами. Все интеграции бесплатны!


    Базовые функции при интеграции Binotel с CRM:


    Видео примеры работы интеграций:


    Для реализации этих функций вам нужно использовать:

    WebHooks

    API CALL SETTINGS

    Используется для интеграции виртуальной АТС Binotel с Вашей CRM и/или управления звонками.


    Метод HTTP запроса: POST

    Пример: обслуживание запросов только с серверов Binotel

    <?php
    /**
     * List of Binotel servers
     */
    $listOfBinotelServers = array(
      '194.88.218.116' => 'my.binotel.ua',
      '194.88.218.114' => 'sip1.binotel.com',
      '194.88.218.117' => 'sip2.binotel.com',
      '194.88.218.118' => 'sip3.binotel.com',
      '194.88.219.67' => 'sip4.binotel.com',
      '194.88.219.78' => 'sip5.binotel.com',
      '194.88.219.70' => 'sip6.binotel.com',
      '194.88.219.71' => 'sip7.binotel.com',
      '194.88.219.72' => 'sip8.binotel.com',
      '194.88.219.79' => 'sip9.binotel.com',
      '194.88.219.80' => 'sip10.binotel.com',
      '194.88.219.81' => 'sip11.binotel.com',
      '194.88.219.82' => 'sip12.binotel.com',
      '194.88.219.83' => 'sip13.binotel.com',
      '194.88.219.84' => 'sip14.binotel.com',
      '194.88.219.85' => 'sip15.binotel.com',
      '194.88.219.86' => 'sip16.binotel.com',
      '194.88.219.87' => 'sip17.binotel.com',
      '194.88.219.88' => 'sip18.binotel.com',
      '194.88.219.89' => 'sip19.binotel.com',
      '194.88.219.92' => 'sip20.binotel.com',
      '194.88.218.119' => 'sip21.binotel.com',
      '194.88.218.120' => 'sip22.binotel.com',
      '185.100.66.145' => 'sip50.binotel.com',
      '185.100.66.146' => 'sip51.binotel.com',
      '185.100.66.147' => 'sip52.binotel.com',
    );
    
    /**
     * Allow access only from Binotel server
     */
    if (!isset($listOfBinotelServers[$_SERVER['REMOTE_ADDR']])) {
      die(sprintf('Access denied!%s', PHP_EOL));
    }
    

    Пример 1: быстрое создание карточки клиента при при входящем звонке

    <?php
    die(json_encode(array(
      'customerData' => array(
        'linkToCrmUrl' => 'https://my.binotel.ua/?module=addClient&number=0443334023',
        'linkToCrmTitle' => 'Создать клиента'
      )
    )));
    

    Пример 2: информация о клиенте при входящем звонке + привязка клиент-сотрудник

    <?php
    die(json_encode(array(
      'customerData' => array(
        'name' => 'Имя клиента в CRM',
        'description' => 'Дополнительное описание в нотификации плагина для Chrome',
        'assignedToEmployeeEmail' => 'ic@binotel.ua',
        'linkToCrmUrl' => 'http://crm.crm.crm/show-client.php?id=142',
        'linkToCrmTitle' => 'Перейти в CRM'
      )
    )));
    

    Пример 3: переопределения сценария входящего звонка для данного звонка

    <?php
    die(json_encode(array(
      'routeData' => array(
        'type' => 'route',
        'id' => '3810'
      )
    )));
    

    Пример 4: передача данных в сценарий входящего звонка

    <?php
    die(json_encode(array(
      'variables' => array(
        'variableName' => 'value'
      )
    )));
    


    Интеграция виртуальной АТС Binotel с Вашей CRM.
    Как это работает:

    1. При поступлении звонка на виртуальную АТС Binotel, отправляется запрос по адресу WebHook-а в CRM для получение данных: имени клиента, ответственного сотрудника и ссылки на контакт в CRM системе
    2. В плагине для Chrome производиться вывод информации сотрудникам у которых звонит телефон
    3. Сотрудник в нотификации нажимая на ссылку и переходит на контакт в CRM системе

    Управление звонком.
    Как это работает:

    1. При поступлении звонка на виртуальную АТС Binotel, отправляется запрос по адресу WebHook-а
    2. Ваш скрипт имеет возможность: сменить сценарий для обработки данного звонка, передать переменные для сценария


    Структура данных POST запроса API CALL SETTINGS

    Parameter Description
    requestType тип запроса: apiCallSettings
    pbxNumber номер, на который поступил звонок (параметр доступен только при входящем звонке)
    internalNumber внутренний номер сотрудника (параметр доступен только при исходящем звонке)
    externalNumber телефонный номер клиента
    companyID номер компании в виртуальной АТС Binotel
    callType тип звонка: входящий - 0, исходящий - 1


    Структура данных JSON ответа с WebHook-а

    Parameter Description
    name имя клиента будет отображенно на телефоне сотрудника и в плагине для Chrome. Рекомендуем использовать до 43 символов (ограничение в плагине для Chrome).
    description дополнительное описание в нотификации плагина для Chrome. Рекомендуем использовать до 70 символов. Ограничение в плагине для Chrome около 115 символов в 3-х строках. Описание сдвигает стандартную информацию в этом поле.
    customerData[assignedToEmployeeEmail] email отвественного сотрудника в MyBinotel для обработки входящего звонка
    customerData[assignedToEmployeeNumber] email отвественного сотрудника в MyBinotel для обработки входящего звонка
    customerData[assignedToEmployeeID] идентификатор отвественного сотрудника в MyBinotel для обработки входящего звонка
    customerData[linkToCrmUrl] ссылка, которая будет отображатся сотруднику в плагине для Chrome
    customerData[linkToCrmTitle] текст ссылки, которая будет отображатся сотруднику в плагине для Chrome
    customerData[linkToCrm2Url] ссылка №2, которая будет отображатся сотруднику в плагине для Chrome
    customerData[linkToCrm2Title] текст ссылки №2, которая будет отображатся сотруднику в плагине для Chrome
    routeData[type] тип сценария (route - обычный сценарий, routeWithTime - временной сценарий)
    routeData[id] идентификатор сценария

    API CALL COMPLETED

    Используется для уведомления Вашего скрипта о каждом завершенном звонке. Обычно используется для интеграции виртуальной АТС Binotel с Вашей CRM.


    Метод HTTP запроса: POST

    API CALL COMPLETED имеет 7 попыток отправки информации о звонке:

    Структура данных POST запроса API CALL COMPLETED

    Parameter Description
    requestType тип запроса: apiCallCompleted
    callDetails информация о звонке: cтруктура данных

    WebSocket

    Документация в разработке.

    REST API

    Introduction

    REST API используется для:


    Готовые API библиотеки к использованию

    PHP:

    Как создать собственную API библиотеку

    REST API реализовано по RESTful принцыпу. Это POST запросы, с уникальными ссылками для каждого метода.

    Основная информация для написания своей API библиотеки:


    Фактически, Вы шлете raw post data в json на адрес метода.
    Пример:

    где timestamp - это необходимый параметр для метода all-incoming-calls-since, key и secret - параметры для авторизации.

    REST API: STATS

    Данный раздел используется для работы со статистикой звонков.

    Структура данных, возвращаемая сервером в разделе STATS

    Структура данных, возвращаемая сервером в разделе STATS

    {
      "status": "success",
      "callDetails": {
        "1387100932": {
          "companyID": 26912,
          "generalCallID": 1387100932,
          "startTime": 1505591081,
          "callType": 0,
          "internalNumber": "930",
          "internalAdditionalData": "801 >",
          "externalNumber": "0675639050",
          "waitsec": 22,
          "billsec": 478,
          "disposition": "ANSWER",
          "isNewCall": 1,
          "customerData": {
            "id": 48945487,
            "name": "Руслан"
          },
          "employeeData": {
            "name": "Алина",
            "email": "al1985@urk.net"
          },
          "pbxNumberData": {
            "number": "0443339292",
            "name": "Отдел продаж"
          },
          "historyData": [
            {
              "internalNumber": "930",
              "internalAdditionalData": "801 >",
              "employeeData": {
                "name": "Алина",
                "email": "al1985@urk.net"
              },
              "waitsec": 7,
              "billsec": 478,
              "disposition": "ANSWER"
            },
            {
              "internalNumber": "805",
              "internalAdditionalData": "",
              "employeeData": {},
              "waitsec": 15,
              "billsec": 0,
              "disposition": "NOANSWER"
            }
          ]
        }
      }
    }
    

    Структура данных звонка

    Parameter Description
    companyID номер компании в виртуальной АТС Binotel
    generalCallID идентификатор звонка
    startTime время начала звонка в формате Unix time
    callType тип звонка: входящий - 0, исходящий - 1
    internalNumber внутренний номер сотрудника / группы в виртуальной АТС (если звонок не был принят)
    internalAdditionalData номер группы в виртуальной АТС (если звонок был принят)
    externalNumber телефонный номер клиента
    waitsec ожидание до соединения
    billsec длительность разговора
    disposition состояние звонка (коды описаны ниже)
    isNewCall входящий звонок новый - 1, звонил ранее - 0
    customerData информация о клиенте в Binotel CRM (формат данных: массив)
    customerData[name] имя сотрудника
    customerData[email] email сотрудника
    employeeData информации о сотруднике (формат данных: массив)
    employeeData[name] имя сотрудника
    employeeData[email] email сотрудника
    pbxNumberData информации о телефонном номере (формат данных: массив)
    pbxNumberData[number] телефонный номер на который пришел звонок или с которого осуществлялся звонок
    pbxNumberData[name] название телефонного номера
    historyData детализация истории звонка, используются теже параметры что и в структуре звонка (формат данных: массив, описание ниже)
    callTrackingData информации CallTracking звонка (формат данных: массив, описание ниже)
    getCallData информации GetCall звонка (формат данных: массив, описание ниже)
    smsContent содержимое SMS сообщения


    Коды состояния звонка (disposition)

    Parameter Description
    ANSWER успешный звонок
    TRANSFER успешный звонок который был переведен
    ONLINE звонок в онлайне
    BUSY неуспешный звонок по причине занято
    NOANSWER неуспешный звонок по причине нет ответа
    CANCEL неуспешный звонок по причине отмены звонка
    CONGESTION неуспешный звонок
    CHANUNAVAIL неуспешный звонок
    VM голосовая почта без сообщения
    VM-SUCCESS голосовая почта с сообщением
    SMS-SENDING SMS сообщение на отправке
    SMS-SUCCESS SMS сообщение успешно отправлено
    SMS-FAILED SMS сообщение не отправлено
    SUCCESS успешно принятый факс
    FAILED непринятый факс


    Структура historyData (детализация истории звонка)

    Parameter Description
    internalNumber внутренний номер сотрудника / группы в виртуальной АТС (если звонок не был принят)
    internalAdditionalData номер группы в виртуальной АТС (если звонок был принят)
    employeeData информации о сотруднике (формат данных: массив, описание выше)
    waitsec ожидание до соединения
    billsec длительность разговора
    disposition состояние звонка


    Структура callTrackingData (информации CallTracking звонка)

    Parameter Description
    id Call Tracking id
    gaClientId Google Analytics Client ID
    gaTrackingId идентификатор отслеживания сайта в Google Analytics
    utm_source метка utm_source
    utm_medium метка utm_medium
    utm_campaign метка utm_campaign
    utm_content метка utm_content
    utm_term метка utm_term
    ipAddress IP адрес клиента
    geoipCountry страна по geoip
    geoipRegion регион по geoip
    geoipCity город по geoip
    geoipOrg организация по geoip
    domain сайт
    timeSpentOnSiteBeforeMakeCall пребывания на сайте до совершения звонка в секундах
    firstVisitAt клиент зашел на сайт впервые


    Структура getCallData (информации GetCall звонка)

    Parameter Description
    id GetCall id
    gaClientId Google Analytics Client ID
    gaTrackingId идентификатор отслеживания сайта в Google Analytics
    utm_source метка utm_source
    utm_medium метка utm_medium
    utm_campaign метка utm_campaign
    utm_content метка utm_content
    utm_term метка utm_term
    ipAddress IP адрес клиента
    geoipCountry страна по geoip
    geoipRegion регион по geoip
    geoipCity город по geoip
    geoipOrg организация по geoip
    domain сайт
    isNewNumber заказ сделан впервые
    createdAt звонок заказан в
    callAt звонок заказан на
    processedAt звонок обработан в
    isProcessed звонок обработан - 1, не обработан - 0
    requestsCounter количество попыток заказа звонка клиентом
    attemptsCounter количество попыток соединения сотрудника с клиентом
    employeesDontAnswerCounter сколько раз не взяли трубку сотрудники
    fullUrl заказ сделан со страницы
    description дополнительное описание

    incoming-calls-for-period

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/incoming-calls-for-period', array(
      'startTime' => 1370034000, // Sat, 01 Jun 2013 00:00:00 +0300
      'stopTime' => 1370120399 // Sat, 01 Jun 2013 23:59:59 +0300
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие звонки за период времени

    Query Parameters

    Parameter Required Description
    startTime yes Время начала выбора звонков (в формате unix timestamp)
    stopTime yes Время окончания выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/incoming-calls-for-period.json

    outgoing-calls-for-period

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/outgoing-calls-for-period', array(
      'startTime' => 1370034000, // Sat, 01 Jun 2013 00:00:00 +0300
      'stopTime' => 1370120399 // Sat, 01 Jun 2013 23:59:59 +0300
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Исходящие звонки за период времени

    Query Parameters

    Parameter Required Description
    startTime yes Время начала выбора звонков (в формате unix timestamp)
    stopTime yes Время окончания выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/outgoing-calls-for-period.json

    calltracking-calls-for-period

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/calltracking-calls-for-period', array(
      'startTime' => 1370034000, // Sat, 01 Jun 2013 00:00:00 +0300
      'stopTime' => 1370120399 // Sat, 01 Jun 2013 23:59:59 +0300
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    CallTracking звонки за период времени

    Query Parameters

    Parameter Required Description
    startTime yes Время начала выбора звонков (в формате unix timestamp)
    stopTime yes Время окончания выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/calltracking-calls-for-period.json

    all-incoming-calls-since

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $lastRequestTimestamp = 1370034000; // Sat, 01 Jun 2013 00:00:00 +0300
    
    $result = $api->sendRequest('stats/all-incoming-calls-since', array(
      'timestamp' => $lastRequestTimestamp
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие звонки с N времени по настоящее время

    Query Parameters

    Parameter Required Description
    timestamp yes Время начала выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/all-incoming-calls-since.json

    all-outgoing-calls-since

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $lastRequestTimestamp = 1370034000; // Sat, 01 Jun 2013 00:00:00 +0300
    
    $result = $api->sendRequest('stats/all-outgoing-calls-since', array(
      'timestamp' => $lastRequestTimestamp
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Исходящие звонки с N времени по настоящее время

    Query Parameters

    Parameter Required Description
    timestamp yes Время начала выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/all-outgoing-calls-since.json

    list-of-calls-by-internal-number-for-period

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/list-of-calls-by-internal-number-for-period', array(
      'internalNumber' => '901',
      'startTime' => 1370034000, // Sat, 01 Jun 2013 00:00:00 +0300
      'stopTime' => 1370638799 // Fri, 07 Jun 2013 23:59:59 +0300
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходящие звонки по внутреннему номеру сотрудника за период времени (ограничение: период не может быть больше 7 дней).

    Query Parameters

    Parameter Required Description
    internalNumber yes внутренний номер сотрудника
    startTime yes Время начала выбора звонков (в формате unix timestamp)
    stopTime yes Время окончания выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/list-of-calls-by-internal-number-for-period.json

    list-of-calls-per-day

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/list-of-calls-per-day', array(
      'dayInTimestamp' => mktime(0, 0, 0, 11, 25, 2015)
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходяшие звонки за день.

    Query Parameters

    Parameter Required Description
    dayInTimestamp no День в формате unix timestamp. При отсутствии этого параметра звонки буду взяты за сегодня.


    HTTP full path

    https://api.binotel.com/api/4.0/stats/list-of-calls-per-day.json

    list-of-calls-for-period

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/list-of-calls-for-period', array(
      'startTime' => 1370034000, // Sat, 01 Jun 2013 00:00:00 +0300
      'stopTime' => 1370048400 // Sat, 01 Jun 2013 04:00:00 +0300
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходящие звонки за период времени (! но не больше 24 часов).

    Query Parameters

    Parameter Required Description
    startTime yes Время начала выбора звонков (в формате unix timestamp)
    stopTime yes Время окончания выбора звонков (в формате unix timestamp)


    HTTP full path

    https://api.binotel.com/api/4.0/stats/list-of-calls-for-period.json

    list-of-lost-calls-for-today

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/list-of-lost-calls-for-today', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Потерянные звонки за сегодня.


    HTTP full path

    https://api.binotel.com/api/4.0/stats/list-of-lost-calls-for-today.json

    online-calls

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/online-calls', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Звонки которые в онлайне.


    HTTP full path

    https://api.binotel.com/api/4.0/stats/online-calls.json

    history-by-external-number

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/history-by-external-number', array(
      'externalNumbers' => array('0443334023', '0443334444')
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходящие звонки по номеру телефона.

    Query Parameters

    Parameter Required Description
    externalNumbers yes Номер или номера в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/stats/history-by-external-number.json

    history-by-customer-id

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/history-by-customer-id', array(
      'customerID' => array('8916611', '8281940')
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходящие звонки по идентификатору клиента.

    Query Parameters

    Parameter Required Description
    customerID yes идентификатор клиента или идентификаторы клиентов в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/stats/history-by-customer-id.json

    recent-calls-by-internal-number

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/recent-calls-by-internal-number', array(
      'internalNumber' => '901'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Входящие и исходящие звонки недавние звонки по внутреннему номеру сотрудника (ограничение: звонки за последние 2 недели, не более 50 звонков).

    Query Parameters

    Parameter Required Description
    internalNumber yes внутренний номер сотрудника


    HTTP full path

    https://api.binotel.com/api/4.0/stats/recent-calls-by-internal-number.json

    call-details

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/call-details', array(
      'generalCallID' => array('2255713', '2256039', '2252553')
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Данные о звонке по идентификатору звонка.

    Query Parameters

    Parameter Required Description
    generalCallID yes Идентификаторы звонков в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/stats/call-details.json

    call-record

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('stats/call-record', array(
      'generalCallID' => '12501059'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['callDetails']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Ссылка на запись разговора.

    Query Parameters

    Parameter Required Description
    generalCallID yes идентификатор звонка


    HTTP full path

    https://api.binotel.com/api/4.0/stats/call-record.json

    REST API: CUSTOMERS

    Данный раздел используется для работы с Binotel CRM.

    Структура данных, возвращаемая сервером в разделе CUSTOMERS

    Структура данных, возвращаемая сервером в разделе CUSTOMERS

    {
      "status": "success",
      "customerData": {
        "48945487": {
          "id": 48945487,
          "name": "Руслан",
          "description": "",
          "email": "rusl.go@gmail.com",
          "assignedToEmployee": {
            "id": 99132,
            "email": "alina@gmail.com",
            "internalNumber": "932",
            "name": "Алина",
          },
          "numbers": [
            "0675639050",
            "0445221717"
          ],
          "labels": [
            {
              "id": 9025,
              "name": "Окна Rehau"
            },
            {
              "id": 8401,
              "name": "20000+"
            },
          ]
        }
      }
    }
    

    Структура данных о клиенте в Binotel CRM

    Parameter Description
    id идентификатор клиента
    name имя клиента
    description информация о клиенте
    email email клиента
    assignedToEmployee информация об ответственном сотруднике (формат данных: массив)
    assignedToEmployee[id] идентификатор ответственного сотрудника
    assignedToEmployee[email] email ответственного сотрудника
    assignedToEmployee[internalNumber] внутренний номер ответственного сотрудника
    assignedToEmployee[name] имя ответственного сотрудника
    numbers список номеров клиента
    labels список меток (формат данных: массив)
    labels[id] идентификатор метки
    labels[name] название метки

    list

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/list', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['customerData']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Выбор всех клиентов.


    HTTP full path

    https://api.binotel.com/api/4.0/customers/list.json

    take-by-id

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/take-by-id', array(
      'customerID' => array('6611')
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['customerData']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Выбор клиентов по идентификатору клиента.

    Query Parameters

    Parameter Required Description
    customerID yes Идентификаторы клиентов в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/customers/take-by-id.json

    take-by-label

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/take-by-label', array(
      'labelID' => 18274
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['customerData']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Выбор клиентов по метке.

    Query Parameters

    Parameter Required Description
    labelID yes Идентификатор метки


    HTTP full path

    https://api.binotel.com/api/4.0/customers/take-by-label.json

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/search', array(
      'subject' => 'Генадий'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['customerData']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Поиск клиентов по имени или номеру телефона.

    Query Parameters

    Parameter Required Description
    subject yes Часть имени или номера телефона


    HTTP full path

    https://api.binotel.com/api/4.0/customers/search.json

    create

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/create', array(
      'name' => 'New client',
      'numbers' => array(
        '0970003322', '0939990099'
      ),
      'description' => 'Информаиця о клиенте!',
      'email' => 'new.client@gmail.com',
      'assignedToEmployee' => array(
        'internalNumber' => '904'
      ),
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    The above command returns JSON structured like this:

    {
      "status": "success",
      "customerID": 51813101
    }
    

    Создание клиента.

    Query Parameters

    Parameter Required Description
    name yes Имя клиента
    numbers yes Номера телефонов в массиве, номера должны быть уникальными
    description no Информация о клиенте
    email no Email клиента
    assignedToEmployee[internalNumber] no Внутренний номер сотрудника в АТС Binotel (пример: 904, важно чтобы линия была закреплена за сотрудником в MyBinotel!)
    assignedToEmployee[id] no Идентификаторв сотрудника в АТС Binotel
    labels no Идентификаторы меток в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/customers/create.json

    update

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/update', array(
      'id' => '51813101',
      'name' => 'Георгий',
      'numbers' => array(
        '0971553605', '0939990099'
      ),
      'description' => '',
      'assignedToEmployee' => array(
        'internalNumber' => ''
      ),
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Редактирование клиента.


    Query Parameters

    Parameter Required Description
    id yes Имя клиента
    name no Имя клиента
    numbers no Номера телефонов в массиве, номера должны быть уникальными
    description no Информация о клиенте
    email no Email клиента
    assignedToEmployee[internalNumber] no Внутренний номер сотрудника в АТС Binotel (пример: 904, важно чтобы линия была закреплена за сотрудником в MyBinotel!)
    assignedToEmployee[id] no Идентификаторв сотрудника в АТС Binotel
    labels no Идентификаторы меток в массиве


    HTTP full path

    https://api.binotel.com/api/4.0/customers/update.json

    delete

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/delete', array(
      'customerID' => array(51813101)
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Удаление клиента.

    Query Parameters

    Parameter Required Description
    customerID yes Идентификаторы клиентов в массиве.


    HTTP full path

    https://api.binotel.com/api/4.0/customers/delete.json

    listOfLabels

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('customers/listOfLabels', array());
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    The above command returns JSON structured like this:

    {
      "status": "success",
      "listOfLabels": {
        "9025": {
          "id": 9025,
          "name": "Окна Rehau"
        },
        "8401": {
          "id": 8401,
          "name": "20000+"
        },
      }
    }
    

    Выбор всех меток.

    Структура данных меток в Binotel CRM

    Parameter Description
    id идентификатор метки
    name имя метки


    HTTP full path

    https://api.binotel.com/api/4.0/customers/listOfLabels.json

    REST API: CALLS

    Создание и управление звонком.

    internal-number-to-external-number

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/internal-number-to-external-number', array(
      'internalNumber' => '910',
      'externalNumber' => '0443334023'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['generalCallID']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Создание двустороннего звонка. Внутреннюю линию с внешним телефонным номером.

    Query Parameters

    Parameter Required Description
    internalNumber yes Внутренний номер сотрудника
    externalNumber yes Внешний телефонный номер
    pbxNumber no Номер через который будет совершаться звонок на телефонный номер
    limitCallTime no Ограничение длительности звонка в секундах
    callTimeToExt no Длительность дозвона на внутреннюю линию (по умолчанию 30 секунд)
    playbackWaiting no Проигрывание, первому участнику разговора, сообщения: "ожидайте пожалуйста на линии, происходит соединение со 2-м участником разговора". По умолчанию TRUE, принимает значения: TRUE или FALSE.
    callerIdForEmployee no Смена отображения информации о номере куда будем звонить на экране телефона у сотрудника, по умолчанию отображается внешний телефонный номер. В основном данный параметр используется для скрытия телефонного номера от сотрудника (примеры: Private или CRM client id 3320)
    async no Не дожидаться результата звонка на внутреннюю линию. По умолчанию FALSE, принимает значения: TRUE или FALSE


    HTTP full path

    https://api.binotel.com/api/4.0/calls/internal-number-to-external-number.json

    external-number-to-external-number

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/external-number-to-external-number', array(
      'externalNumber1' => '0970002233',
      'externalNumber2' => '0443334333',
      'pbxNumber' => '0443334023'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['generalCallID']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Создание двустороннего звонка. Внешний телефонный номер с внешним телефонным номером.

    Query Parameters

    Parameter Required Description
    externalNumber1 yes Первый внешний телефонный номер
    externalNumber2 yes Второй внешний телефонный номер
    pbxNumber yes Номер через который будут совершаться оба звонка
    limitCallTime no Ограничение длительности звонка в секундах
    playbackWaiting no Проигрывание, первому участнику разговора, сообщения: "ожидайте пожалуйста на линии, происходит соединение со 2-м участником разговора". По умолчанию TRUE, принимает значения: TRUE или FALSE.


    HTTP full path

    https://api.binotel.com/api/4.0/calls/external-number-to-external-number.json

    external-number-to-incoming-call

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/external-number-to-incoming-call', array(
      'externalNumber' => '0968487126',
      'pbxNumber' => 'CB_0800330683',
      'pbxNumberInExternalCall' => '0443339283',
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result['generalCallID']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Создание двустороннего звонка. Внешний телефонный номер с внешним телефонным номером.

    Query Parameters

    Parameter Required Description
    externalNumber yes Внешний телефонный номер
    pbxNumber yes Номер на который будет поступать входящий звонок
    pbxNumberInExternalCall no Номер через который будет совершаться исходящий звонок

    HTTP full path

    https://api.binotel.com/api/4.0/calls/external-number-to-incoming-call.json

    attended-call-transfer

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/attended-call-transfer', array(
      'generalCallID' => '22661563',
      'externalNumber' => '912'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Перевод звонка с участием.

    Query Parameters

    Parameter Required Description
    generalCallID yes Идентификатор звонка
    externalNumber yes Номер на который переводится звонок


    HTTP full path

    https://api.binotel.com/api/4.0/calls/attended-call-transfer.json

    hangup-call

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/hangup-call', array(
      'generalCallID' => '22661891'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Принудительное завершение звонка.

    Query Parameters

    Parameter Required Description
    generalCallID yes Идентификатор звонка


    HTTP full path

    https://api.binotel.com/api/4.0/calls/hangup-call.json

    call-with-announcement

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/call-with-announcement', array(
      'externalNumber' => '0443334023',
      'voiceFileID' => '4'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    Звонок с оповещением голосового файла.

    Query Parameters

    Parameter Required Description
    externalNumber yes Телефонный номер
    voiceFileID yes Идентификатор голосового файла (список голосовых файлов)


    HTTP full path

    https://api.binotel.com/api/4.0/calls/call-with-announcement.json

    call-with-interactive-voice-response

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('calls/call-with-interactive-voice-response', array(
      'externalNumber' => '0443334023',
      'ivrName' => 'confirmation-call'
    ));
    
    if ($result['status'] === 'success') {
      var_dump($result);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    звонок с голосовым меню.

    Query Parameters

    Parameter Required Description
    externalNumber yes Телефонный номер
    ivrName yes Имя голосового меню
    rewriteInternalNumber no для изменения отображения "Кто звонил" в MyBusiness


    HTTP full path

    https://api.binotel.com/api/4.0/calls/call-with-interactive-voice-response.json

    REST API: SETTINGS

    Настройки виртуальной АТС Binotel.

    list-of-employees

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('settings/list-of-employees', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['listOfEmployees']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    The above command returns JSON structured like this:

    {
      "status": "success",
      "listOfEmployees": {
        "al1985@urk.net": {
          "employeeID": 99132,
          "email": "al1985@urk.net",
          "name": "Алина",
          "mobileNumber": "",
          "presenceState": "active",
          "department": "Отдел продаж",
          "isAdministrator": "0",
          "crmIsEnabled": 1,
          "chatIsEnabled": 0,
          "callCenterIsEnabled": 0,
          "language": "",
          "endpointData": {
            "id": 81190,
            "login": "dafc933e",
            "internalNumber": "932",
            "status": "offline"
        },
      }
    }
    

    Выбор всех сотрудников.

    Структура данных списка сотрудников

    Parameter Description
    employeeID идентификатор сотрудника
    email email сотрудника
    name имя сотрудника
    mobileNumber мобильный номер сотрудника (в разработке)
    presenceState статус сотрудника (активен / перерыв в работе / неактивен, используется для функции липкости и модуля Call Center)
    department название отдела
    isAdministrator функции администратора
    crmIsEnabled модуль CRM
    chatIsEnabled модуль Chat
    callCenterIsEnabled модуль Call Center
    language язык интерфейса MyBusiness
    endpointData информация о SIP устройстве сотрудника
    endpointData[id] идентификатор SIP устройства
    endpointData[login] логин SIP устройства
    endpointData[internalNumber] внутренний номер сотрудника (пример: 902)
    endpointData[status] состояние внутренней линии сотрудника (online - онлайн, inuse - разговаривает, ringing - совершается вызов на эту линию, offline - офлайн)


    HTTP full path

    https://api.binotel.com/api/4.0/settings/list-of-employees.json

    list-of-routes

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('settings/list-of-routes', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['listOfRoutes']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    The above command returns JSON structured like this:

    {
      "status": "success",
      "listOfRoutes": {
        "routeWithTime": {
          "193249": {
            "id": 193249,
            "name": "Время работы отдела продаж",
            "description": ""
          },
        },
        "route": {
          "377010": {
            "id": 377010,
            "name": "Рабочее время",
            "description":""
          },
        "377012": {
            "id": 377012,
            "name": "Нерабочее время",
            "description":""
          }
        }
      },
    }
    

    Выбор всех сценариев для обработки входящих звонков.

    Структура данных списка сценариев

    Parameter Description
    routeWithTime временной сценарий
    route сценарий с правилами обработки звонка
    id идентификатор сценария (внимение, в сценариях route и routeWithTime могут быть одинаковые идентификаторы)
    name имя сценария
    description информация о сценарии


    HTTP full path

    https://api.binotel.com/api/4.0/settings/list-of-routes.json

    list-of-voice-files

    <?php
    require_once(__DIR__ .'/BinotelApi.php');
    
    $key = '6po1f4-7oPzCo1';
    $secret = '8weKdP-o2b12d-f6a2P8-eBw4c4-0d2g88wb';
    
    $api = new BinotelApi($key, $secret);
    
    $result = $api->sendRequest('settings/list-of-voice-files', array());
    
    if ($result['status'] === 'success') {
      var_dump($result['listOfVoiceFiles']);
    } else {
      printf('REST API ошибка %s: %s %s', $result['code'], $result['message'], PHP_EOL);
    }
    

    The above command returns JSON structured like this:

    {
      "status": "success",
      "listOfVoiceFiles": {
        "45529": {
          "id": 45529,
          "name": "Стандартное приветствие в рабочее время",
          "type": "greeting"
        },
        "46517": {
          "id": 46517,
          "name": "Приветствие в не рабочее время",
          "type": "off-hoursvm"
        },
        "46890": {
          "id": 46890,
          "name": "Извините, все операторы заняты",
          "type": "sorryvm"
        }
      }
    }
    

    Выбор всех голосовых сообщений.

    Структура данных списка голосовых сообщений

    Parameter Description
    id идентификатор голосового файла
    name имя голосового файла
    type тип голосового файла (в разработке)


    HTTP full path

    https://api.binotel.com/api/4.0/settings/list-of-voice-files.json

    REST API: Common problems

    REST API: List of errors

    Error Code Meaning
    102 No such method
    103 Not enough data
    104 Wrong data
    105 Something went wrong
    106 Requests are too frequent
    120 Your company is disabled
    121 Your key or secret is wrong
    150 Can't call to the ext
    151 Can't call to the external number

    REST API: Examples

    php