Webim Stored Data API 2.0

Является актуальной версией API.

Базовый URL

Базовый URL — это домен Вашего аккаунта, он зависит от Вашей сетевой конфигурации. Он имеет вид:

https://{hostname}/api/v2/{path}

Где {hostname} — имя хоста, на котором размещается сервер Webim, вида {account}.webim.ru для облачных клиентов и chat.mycompany.com для hosted, {path} — команда API.

На базовый URL отправляются запросы для доступа к Webim Stored Data API 2.0.

Пример готового запроса к Webim Stored Data API 2.0:

https://company.webim.ru/api/v2/operators

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

Для доступа к Webim Stored Data API необходимо пройти авторизацию.


Авторизация, доступ к API

Чтобы получить доступ к Webim Stored Data API Вам необходимо обратиться в техническую поддержку сервиса Webim - support@webim.ru. Для доступа используется email и пароль администратора (admin_password).Осуществляется basic авторизация таким образом:

curl -u adm@domain.com:password {base_url}/api/v2/{request}

Где base_urlбазовый URL для вашей сетевой конфигурации, request — Ваш запрос к API.

Таким образом, после "curl -u" идёт e-mail пользователя, двоеточие, его пароль, а затем URL запроса.

  • Работа API осуществляется только по протоколу HTTPS.
  • Все данные возвращаются в кодировке UTF-8.
  • Формат времени ISO 8601 и UTC в качестве часового пояса (временной зоны).
  • Формат временных интервалов: секунды.

При работе через https убедитесь, что ваша библиотека поддерживает SNI.


Обработка ошибок

Если введён неверный пароль или пользователя не существует, возвращается HTTP-код 401.
Если оператор не является администратором или сделано слишком много попыток авторизации, возвращается HTTP-код 403. Прочие ошибки приходят в формате JSON следующего содержания (с HTTP-кодом 200, если не указано иное):
{"error":"код-ошибки"}

Возможные типы ошибок:

Код ошибки Описание
no-tariff-option Аккаунт не имеет доступа к API
unknown-method Задан неверный тип запроса
unknown-mode Выбран неверный режим запроса (mode)
argument-missing Не хватает аргументов для запроса
unknown Неизвестная ошибка

Выдача списка операторов

Path: /operators
Тип запроса: GET
Query-string параметры: не нужныЗапрос возвращает массив всех операторов, привязанных к данному аккаунту Webim.Описание полей объекта в ответе на запрос:
Название параметра Тип Пример Описание
status String "invisible" Статус оператора. Все возможные значения можно посмотреть в этой статье.
roles Array of strings "admin" Список ролей оператора. Может принимать значения "operator", "admin" и "supervisor".
created_at String "2019-04-20T15:05:42Z" Дата регистрации оператора в формате ISO 8601.
email String "vkovalev@webim.ru" Email-адрес оператора.
full_name String "Владимир К." Полное имя оператора.
id Integer 196458 Уникальный идентификатор оператора.

Пример ответа (NB: тело ответа имеет стандартный вид вне зависимости от статуса сотрудника):

[  
  {
    "status": "online",
    "roles": [
      "admin"
    ],
    "created_at": "2019-04-08T14:10:32Z",
    "email": "mariakolesnikova@webim.ru",
    "full_name": "Мария",
    "id": 192162
  },
  {
    "status": "offline",
    "roles": [
      "operator"
    ],
    "created_at": "2019-07-10T13:17:49Z",
    "email": "ivan_kuznecov@webim.ru",
    "full_name": "Иван К.",
    "id": 193903
  },
  {
    "status": "invisible",
    "roles": [
      "operator"
    ],
    "created_at": "2019-06-16T18:56:32Z",
    "email": "petr_smirnov@webim.ru",
    "full_name": "Пётр",
    "id": 196158
  },
{
    "status": "pre-dinner",
    "roles": [
      "admin"
    ],
    "created_at": "2019-02-28T12:25:45Z",
    "email": "anastasiagolubeva@webim.ru",
    "full_name": "Анастасия",
    "id": 194435
  },
]

Выдача списка отделов

Path: /departments
Тип запроса: GET
Query-string параметры: не нужны. Запрос возвращает массив отделов, привязанных к данному аккаунту Webim. Описание полей объекта в ответе на запрос:
Название параметра Тип Пример Описание
id Integer 12 Уникальный идентификатор отдела.
name String "Отдел продаж" Название отдела.
order Integer 800 Порядок сортировки отдела.

Пример ответа:

[  
   {  
      "id": 1,
      "name": "Первый отдел",
      "order": 100
   },
   {  
      "id": 2,
      "name": "Второй отдел",
      "order": 200
   }
]

Выдача диалогов за период

Path: /chats
Тип запроса: GET
Query-string параметры: since — см. ниже (под примером). Возвращает массив диалогов за определённый период времени. Описание полей объекта в ответе на запрос:
Название параметра Тип Пример Описание
id Integer или String 2036 Уникальный идентификатор чата. Назначается чату при записи в БД. Это тот номер (или GUID_, который отображается в РМО и в истории диалога.
created_at String "2019-11-18T09:29:09Z" Дата создания чата в формате ISO 8601.
category String Создаются сотрудниками в статусе администратора. Например, могут быть категории "Техническая поддержка", "Вопросы по кредитам", "Вопросы по вкладам" и т.п. Категория чата, см. пункт Классификация чатов.
Может принимать значение NULL.
subcategory String Создаются сотрудниками в статусе администратора. Например, для категории "Вклады" могут быть подкатегории "Для физических лиц", "Для юридических лиц". Подкатегория чата, см. пункт Классификация чатов.
Может принимать значение NULL.
operator_id Integer 181250 Уникальный идентификатор оператора.
operator_comment String "Оператор Виктор П. добавил комментарий: {текст комментария}" Сообщение о добавлении оператором комментария к чату. Может принимать значение NULL. (Присутствует, если включена соответствующая функция)
rates Array "rate": 3,
"operator_id": 209920,
"created_at": "2020-05-13T23:57:01Z"
Массив данных о выставленных оператору оценках.
messages Array Описание и примеры значений полей здесь. Массив из сообщений пользователя, которые были отправлены в чат до его появления в РМО (например, с каналов общения).
state_history Array Описание и примеры значений полей можно посмотреть здесь. Массив данных, описывающий историю состояний чата. Может принимать значение NULL.
visitor String id: "d6123d01de9d4e61b1a5a4a82e451839" Данные посетителя. Не может быть пустым. Обязательно должно присутствовать поле id. Объект fields внутри visitor может быть и пустым, однако в этом случае посетитель будет неавторизованным. Если идентифицирующие посетителя данные предоставляются, то передавать их следует точно в соответствии со статьёй об идентификации. Если пользователь неавторизован, то и visitor-fields-id не нужен.
visit_session String Описание и примеры значений полей здесь. Данные о сессии посетителя.
start_page.url String "https://webim.ru" URL-адрес страницы, с которой пришёл посетитель.
more_chats_available Boolean "true" Показывает, остались ли ещё незагруженные чаты, так как в ответ на запрос не может быть возвращено более 100 диалогов.
last_ts String "1551278071115810" Параметр, принимаемый в качестве since при дальнейших вызовах запросов выгрузки чатов.

Описание полей объекта messages* в ответе за запрос:

Название параметра Тип Пример Описание
id String "0052a4489cc742c7b4b867a3ed87991e" Уникальный идентификатор сообщения.
created_at String "2019-11-18T09:29:09Z" Дата отправки сообщения.
kind String "visitor" Тип сообщения. Это могут разные виды системных сообщений, сообщения оператора или посетителя, отправленные файлы и т. д. Полное описание типов сообщений можно посмотреть в статье.
message String "Здравствуйте! Мне нужна консультация по вашим тарифам." Текст сообщения.
operator_id Integer 245875 Идентификатор оператора, отправившего сообщение.

*Если тип сообщения keyboard или keyboard_response, то актуально следующее описание полей объекта в ответе на запрос:

Название параметра Тип Пример Описание
id String "0052a4489cc742c7b4b867a3ed87991e" Уникальный идентификатор сообщения.
created_at String "2019-11-18T09:29:09Z" Дата отправки сообщения.
kind String "keyboard" Тип сообщения. Полное описание типов сообщений можно посмотреть в статье.
data String id: "2"
buttonId: "3"
messageId: "ee310f4073834962867d77bc84bbe9e7"
Поля для типа сообщений keyboard:
  • buttons - кнопки для выбора посетителем. Обладает полями id и text.
  • response - выбранная посетителем кнопка. Обладает полями buttonId и messageId. Может быть NULL.
  • state - может принимать значения completed, cancelled, pending.

Поля для типа сообщений keyboard_response:

  • request - содержит поле messageId.
  • button - выбранная посетителем кнопка. Обладает полями buttonId и messageId.

Описание полей объекта state_history в ответе на запрос:

Название параметра Тип Пример Описание
state String "chatting" Наименование состояния чата. Все состояния отображены на Схеме жизненного цикла чата.
operator_id Integer 181509 Уникальный идентификатор оператора. Может принимать значение NULL.
at String "2019-11-18T09:31:09Z" Дата смены состояния чата.
department_id Integer 6 Уникальный идентификатор отдела. Может принимать значение NULL.

Описание полей объекта visit_session в ответе на запрос:

Название параметра Тип Пример Описание
ip String "31.193.122.170" IP-адрес устройства посетителя. Может принимать значение NULL.
landing_page.url String "https://telegram.org/" Страница, с которой посетитель начал чат. Может принимать значение NULL.

Описание полей объекта rates в ответе на запрос:

Название параметра Тип Пример Описание
rate Integer 5 Выставленная оператору оценка (от 1 до 5).
operator_id Integer 245896 Идентификатор оператора, которому поставлена оценка.
created_at String "2020-05-13T23:57:01Z" Дата выставления оценки в формате ISO 8601.

Пример ответа:

{  
   "chats": [  
      {  
         "id": 453,
         "created_at": "2012-04-04T09:14:57Z",
         "category": "Категория",
         "subcategory": "Подкатегория",
         "operator_id": 123,
         "operator_comment": null,
         "rates": [
           {
             "rate": 3,
             "operator_id": 209920,
             "created_at": "2020-05-13T23:57:01Z"
           }
         ],
         "messages": [  
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "for_operator",
               "message": "Посетитель открыл окно диалога со страницы"
               "id": "24113c657f254698a3e660c64c4ed6b5"
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "info",
               "message": "Пожалуйста, подождите немного." 
               "id": "f5eee59b508e47f999d8a373d0362c95"
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "events",
               "message": "Оператор Администратор включился в разговор"
               "id": "324090d75f904a3eb04e54b2fc44094b"
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "operator_busy",
               "message": "Приносим извинения, оператор отлучился"
               "id": "b1f9c575fc4d4b45b2480a490443a802"
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "file_operator",
               "data": {  
                  "guid": "8cdb288",
                  "content_type": "text",
                  "filename": "v.txt"
               },
               "operator_id": 123
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "file_visitor",
               "data": {  
                  "guid": "81f0488",
                  "content_type": "text",
                  "filename": "v.txt"
               },
               "operator_id": 123
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "operator",
               "message": "Здравствуйте! Чем я могу Вам помочь?",
               "operator_id": 123
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "contacts_request",
               "message": "Введите, пожалуйста, информацию.",
               "operator_id": 123
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "contacts",
               "message": {  
                  "name": "Вася",
                  "phone": "1",
                  "email": "v@webim.ru"
               }
            },
            {  
               "created_at": "2012-04-04T09:14:57Z",
               "kind": "visitor",
               "message": "Пока нет, спасибо"
            }
         ],
         "state_history": [  
            {  
               "state": "queue",
               "operator_id": null,
               "at": "2014-06-10T17:06:22Z",
               "department_id": null
            },
            {  
               "state": "queue",
               "operator_id": 3,
               "at": "2014-06-10T17:06:22Z",
               "department_id": null
            },
            {  
               "state": "chatting",
               "operator_id": 3,
               "at": "2014-06-10T17:06:28Z",
               "department_id": null
            },
            {  
               "state": "queue",
               "operator_id": null,
               "at": "2014-06-10T20:07:04Z",
               "department_id": 2
            }
         ],
         "visitor": {  
            "fields": {  
               "email": "support@webim.ru",
               "id": "asdf123",
               "icq": "123123123",
               "login": "somelogin",
               "name": "asdf123",
               "phone": "+7 (812) 385-53-37",
               "profile_url": "https://vk.com/id000",
               "site": "https://webim.ru"
            },
            "id": "4d123f6d7143490d966432ccb24403a4"
         },
         "visit_session": {  
            "ip": "192.168.1.123",
            "landing_page": {  
               "url": "https://webim.ru"
            }
         },
         "start_page": {  
            "url": "https://webim.ru/help/api"
         }
      },
      {  
         "id": 454,
         "created_at": "2018-04-04T09:15:57Z"
      },
      {  
         "id": 455,
         "created_at": "2012-04-04T09:16:57Z"
      }
      ...
   ],
   "more_chats_available": false,
   "last_ts": 1429054006896762
}

В запросе должен быть указан параметр since. В первом запросе передается since=0, в ответе на каждый запрос есть поле last_ts, и в каждом следующем запросе в качестве since должно передаваться значение last_ts из предыдущего.

Таким образом каждый следующий запрос получает в ответ только обновления по отношению к тому, что было получено на все предыдущие запросы.

Один и тот же диалог может быть получен несколько раз, если с момента, когда он был получен первый раз, в нем происходили какие-либо изменения.

В ответ на запрос истории возвращается за раз не более 100 диалогов. Если поле more_chats_available в ответе имеет значение true, это означает, что на сервере остались новые или изменившиеся диалоги, "не поместившиеся" в это ограничение, и следует сделать еще один запрос с новым значением since для их получения (и повторять это до тех пор, пока more_chats_available не примет значение false).


Выдача диалогов по ID

Path: /chat
Тип запроса: GET
Query-string параметры: id — id диалога. Возвращает объект chat по его уникальному идентификатору. Пример запроса:
https://company.webim.ru/api/v2/chat?id=1465

где chat?id={chat_id} вид команды API, а {chat_id} (в примере 1465) — уникальный идентификатор чата, информацию о котором необходимо получить.

Описание полей объекта в ответе на запрос:

Название параметра Тип Пример Описание
operator_id Integer 181250 Уникальный идентификатор оператора.
start_page.url String "https://webim.ru" URL-адрес страницы, с которой пришёл посетитель.
rates Array "rate": 3,
"operator_id": 209920,
"created_at": "2020-05-13T23:57:01Z"
Массив данных о выставленных оператору оценках.
subcategory String Создаются сотрудниками в статусе администратора. Например, для категории "Вклады" могут быть подкатегории "Для физических лиц", "Для юридических лиц". Подкатегория чата, см. пункт Классификация чатов.
Может принимать значение NULL.
visitor String id: "d6123d01de9d4e61b1a5a4a82e451839" Данные посетителя. Не может быть пустым. Обязательное поле id. Объект fields внутри visitor может быть и пустым, однако в этом случае посетитель будет неавторизованным. Если идентифицирующие посетителя данные предоставляются, то передавать их следует точно в соответствии со статьёй об идентификации. Если пользователь не авторизован, то и visitor-fields-id не нужен.
id Integer или String 2036 Уникальный идентификатор чата. Назначается чату при записи в БД. Это тот номер (или GUID), который отображается в РМО и в истории диалога.
category String Создаются сотрудниками в статусе администратора. Например, могут быть категории "Техническая поддержка", "Вопросы по кредитам", "Вопросы по вкладам" и т.п. Категория чата, см. пункт Классификация чатов.
Может принимать значение NULL.
operator_comment String "Оператор Виктор П. добавил комментарий: {текст комментария}" Сообщение о добавлении оператором комментария к чату. Может принимать значение NULL. (Присутствует, если включена соответствующая функция)
visit_session String Описание и примеры значений полей здесь. Данные о сессии посетителя.
created_at String "2019-11-18T09:29:09Z" Дата создания чата в формате ISO 8601.
messages Array Описание и примеры значений полей здесь. Массив из сообщений пользователя, которые были отправлены в чат до его появления в РМО (например, с каналов общения).
state_history Array Описание и примеры значений полей можно посмотреть здесь. Массив данных, описывающий историю состояний чата. Может принимать значение NULL.

Описание полей объекта messages* в ответе на запрос:

Название параметра Тип Пример Описание
id String "0052a4489cc742c7b4b867a3ed87991e" Уникальный идентификатор сообщения.
created_at String "2019-11-18T09:29:09Z" Дата отправки сообщения.
kind String "visitor" Тип сообщения. Это могут разные виды системных сообщений, сообщения оператора или посетителя, отправленные файлы и т. д. Полное описание типов сообщений можно посмотреть в статье.
message String "Здравствуйте! Мне нужна консультация по вашим тарифам." Текст сообщения.

*Если тип сообщения keyboard или keyboard_responce, то используется следующее описание полей объекта в ответе на запрос:

Название параметра Тип Пример Описание
id String "0052a4489cc742c7b4b867a3ed87991e" Уникальный идентификатор сообщения.
created_at String "2019-11-18T09:29:09Z" Дата отправки сообщения.
kind String "keyboard" Тип сообщения. Полное описание типов сообщений можно посмотреть в статье.
data String id: "2"
buttonId: "3"
messageId: "ee310f4073834962867d77bc84bbe9e7"
Поля для типа сообщений keyboard:
  • buttons - кнопки для выбора посетителем. Обладает полями id и text.
  • response - выбранная посетителем кнопка. Обладает полями buttonId и messageId. Может быть NULL.
  • state - может принимать значения completed, cancelled, pending.

Поля для типа сообщений keyboard_response:

  • request - содержит поле messageId.
  • button - выбранная посетителем кнопка. Обладает полями buttonId и messageId.

Описание полей объекта state_history в ответе на запрос:

Название параметра Тип Пример Описание
state String "chatting" Наименование состояния чата. Все состояния отображены на Схеме жизненного цикла чата.
operator_id Integer 181509 Уникальный идентификатор оператора. Может принимать значение NULL.
at String "2019-11-18T09:31:09Z" Дата смены состояния чата.
department_id Integer "6" Уникальный идентификатор отдела. Может принимать значение NULL.

Описание полей объекта visit_session в ответе на запрос:

Название параметра Тип Пример Описание
ip String "31.193.122.170" IP-адрес устройства посетителя. Может принимать значение NULL.
landing_page.url String "https://telegram.org/" Страница, с которой посетитель начал чат. Может принимать значение NULL.

Описание полей объекта rates в ответе на запрос:

Название параметра Тип Пример Описание
rate Integer 5 Выставленная оператору оценка (от 1 до 5).
operator_id Integer 245896 Идентификатор оператора, которому поставлена оценка.
created_at String "2020-05-13T23:57:01Z" Дата выставления оценки в формате ISO 8601.

Пример ответа:

{ 
   "chat":{ 
      "operator_id":181502,
      "start_page":{ 
         "url":"https://webim.ru"
      },
      "subcategory":null,
      "visitor":{ 
         "fields":{ 

         },
         "id":"2c4a44b8948e4985951cb6df99279cdc"
      },
      "id":1465,
      "category":null,
         "operator_comment": null,
         "rates": [
           {
             "rate": 3,
             "operator_id": 209920,
             "created_at": "2020-05-13T23:57:01Z"
           }
         ],
      "visit_session":{ 
         "ip":"31.193.122.170",
         "landing_page":{ 
            "url":"https://company.webim.ru/sample-page.php?redirected=1"
         }
      },
      "created_at":"2019-07-19T14:39:08Z",
      "messages":[ 
         { 
            "created_at":"2019-07-19T14:39:08Z",
            "message":"Пожалуйста, подождите немного, к Вам присоединится оператор...",
            "kind":"info",
            "id":"24113c657f254698a3e660c64c4ed6b5"
         },
         { 
            "created_at":"2019-07-19T14:39:11Z",
            "message":"Привет!",
            "kind":"visitor",
            "id":"f5eee59b508e47f999d8a373d0362c95"
         },
         { 
            "created_at":"2019-07-19T14:39:13Z",
            "message":"Оператор Георгий Б включился в разговор",
            "kind":"info",
            "id":"324090d75f904a3eb04e54b2fc44094b"
         },
         { 
            "created_at":"2019-07-19T14:39:15Z",
            "operator_id":181502,
            "message":"Привет и пока!",
            "kind":"operator",
            "id":"b1f9c575fc4d4b45b2480a490443a802"
         },
         { 
            "created_at":"2019-07-19T14:39:20Z",
            "message":"Оператор закрыл диалог",
            "kind":"info",
            "id":"2970ed561d6a40c1b788001289096acb"
         }
      ],
      "state_history":[ 
         { 
            "state":"queue",
            "operator_id":null,
            "at":"2019-07-19T14:39:08Z",
            "department_id":5
         },
         { 
            "state":"queue",
            "operator_id":181502,
            "at":"2019-07-19T14:39:08Z",
            "department_id":5
         },
         { 
            "state":"chatting",
            "operator_id":181502,
            "at":"2019-07-19T14:39:13Z",
            "department_id":5
         },
         { 
            "state":"closed",
            "operator_id":181502,
            "at":"2019-07-19T14:39:20Z",
            "department_id":5
         }
      ]
   }
}

Выдача тарифов

Path: /partner/tariffs
Тип запроса: GET
Query-string параметры: не нужны. Запрос возвращает массив тарифов сервиса Webim. Описание полей объекта в ответе на запрос:
Название параметра Тип Пример Описание
partner_prices.per_operator_price Float 232.0 Цена за одного оператора для партнёров.
partner_prices.base_price Float 365.0 Базовая цена тарифа для партнёров.
name String "Корпоративный" Название тарифа.
discounts Object {"1": 0,
"2": 0,
"3": 10,}
Размер скидки в процентах по заказанному периоду в месяцах. Может быть NULL.
public_prices.per_operator_price Float 290 Цена за одного оператора для обычных пользователей.
public_prices.base_price Float 360 Базовая цена тарифа для обычных пользователей.
key String "corp" Уникальный ключ тарифа.
description String "Что Вы получаете: базовый функционал обслуживания посетителей +..." Описание тарифа.

Пример ответа:

{
  "tariffs": [
    {
      "partner_prices": {
        "per_operator_price": 232.0,
        "base_price": 392.0
      },
      "name": "Начальный",
      "discounts": {},
      "public_prices": {
        "per_operator_price": 290,
        "base_price": 490
      },
      "key": "start",
      "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ хранение истории в течение одного месяца;n+ показ до 20 посетителей сайта.nnЧего Вы не получаете:n- работа с отделами;n- показ до 50 посетителей сайта;n- настройка цветов диалога;n- статистика работы операторов;n- хранение истории сообщений без ограничений по времени."
    },
    {
      "partner_prices": {
        "per_operator_price": 632.0,
        "base_price": 1112.0
      },
      "name": "Бизнес",
      "discounts": {},
      "public_prices": {
        "per_operator_price": 790,
        "base_price": 1390
      },
      "key": "bus",
      "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ показ до 50 посетителей сайта;n+ работа с отделами;n+ настройка цветов диалога;n+ статистика работы операторов;n+ хранение истории сообщений без ограничений по времени."
    },
    {
      "partner_prices": {
        "per_operator_price": 1992.0,
        "base_price": 1992.0
      },
      "name": "Корпоративный",
      "discounts": {},
      "public_prices": {
        "per_operator_price": 2490,
        "base_price": 2490
      },
      "key": "corp",
      "description": "Что Вы получаете:n+ базовый функционал обслуживания посетителей;n+ показ до 50 посетителей сайта;n+ работа с отделами;n+ настройка цветов диалога;n+ расширенная статистика работы операторов;n+ хранение истории сообщений без ограничений по времени.n+ расширенная информация о посетителе."
    }
  ]
}

Выдача статистики

Path: /stats
Тип запроса: GET
Query-string параметры: date — дата, за которую запрашивается статистика; mode — usage (обращения различных типов) или operators (отчёт по операторам). Пример запроса:
https://company.webim.ru/api/v2/stats?date=2012-04-20&mode=usage

Где stats?date={date}&mode={mode} — вид команды API, в котором {date} — дата, статистику за которую необходимо вывести, указанная в формате yyyy-mm-dd, {mode} — режим запроса (usage или operators).

Запрос возвращает статистику обращений различных типов.

Описание полей объекта в ответе на запрос:

Название параметра Тип Пример Описание
contacts Integer 6 Общее число обращений за определённую дату.
missed Integer 2 Количество обращений, ожидающих ответа.
chats Integer 2 Количество чатов в статусе «В диалоге».
offlines Integer 0 Количество офлайн-обращений.
avg_waiting_time Integer 24650 Среднее время ожидания.

Пример ответа:

{
    "contacts": 10,
    "missed": 1,
    "chats": 7,
    "offlines": 2,
    "avg_waiting_time": 100
}

Адрес запроса:

{base_url}/api/v2/stats?date=2012-04-20&mode=operators

Где base_urlбазовый URL для вашей сетевой конфигурации.

Запрос возвращает отчёт по всем операторам за определённую дату.

Описание полей объекта в ответе на запрос:

Название параметра Тип Пример Описание
operator_id Integer 189650 Уникальный идентификатор оператора.
online_time Integer 961 Время оператора в статусе «Онлайн».
chating_time Integer 562 Время оператора в статусе «В диалоге».
avg_chating_time Integer 236 Среднее время оператора в диалоге.
busy_messages Integer 0 Количество сообщений о занятости оператора, которые отображались пользователям во время обращения к этому оператору.
chats Integer 5 Количество обработанных обращений.

Пример ответа:

[
    {
        "operator_id": 123,
        "online_time": 28800,
        "chating_time": 18000,
        "avg_chating_time": 150,
        "busy_messages": 5,
        "chats": 3
    },
    {
        "operator_id": 124,
        "online_time": 23800,
        "chating_time": 1000,
        "avg_chating_time": 150,
        "busy_messages": 1,
        "chats": 2
    }
]