====== UniPhone CRM API ======
API реализуемое на стороне CRM приложения или web-сервиса.
==== [request] crm.v1.cmd.whois ====
Возвращает данные абонента, которому принадлежит заданный номер телефона.
== JSON формат: ==
{
"number":string
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| ** number**\\ //string// | Номер телефона абонента (внутренний или мобильный). |
=== Ответ ===
== JSON формат: ==
{
"result":string,
"data":object(Contact)
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. |
| **data**\\ [[uniphone:crmapi#contact|object(Contact)]] | В случае успеха содержит информацию о контакте, которому принадлежит номер телефона. |
=== Contact ===
Содержит информацию о контакте, занесенном в CRM-систему.
== JSON формат: ==
{
"number":string,
"contact":string,
"client":string,
"link":string,
"responsible":array[object(Employee)]
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **number**\\ //string// | Номер телефона контакта. |
| **contact**\\ //string// | Имя контакта (контактного лица). |
| **client**\\ //string// | Наименование контрагента. |
| **link**\\ //string// | Ссылка на карточку контакта в CRM-системе. |
| **responsible**\\ [[uniphone:crmapi#employee |array[object(Employee)]]] | Сотрудники установленные в роли ответственных по этому контакту (контрагенту или контактному лицу) в CRM-системе. |
=== Employee ===
Содержит информацию о сотруднике.
== JSON формат: ==
{
"name":string,
"extension":string
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **name**\\ //string// | Имя сотрудника. |
| **extension**\\ //string// | Добавочный номер телефона сотрудника. |
==== [request] crm.v1.cmd.find ====
Выполняет поиск по справочнику абонентов.
== JSON формат: ==
{
"search_line":string
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| ** search_line**\\ //string// | Строка поиска, содержащая имя абонента или его номер телефона. Допускается указание части имени или номера. |
=== Ответ ===
== JSON формат: ==
{
"result":string,
"no":integer,
"total":integer,
"data":array[object(Contact)]
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. |
| **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
| **total**\\ //integer// | Общее количество сообщений с записями истории звонков, которые будут
| **data**\\ [[uniphone:crmapi#contact|array[object(Contact)]]] | Массив, содержащий найденные контакты. |
==== [request] crm.v1.cmd.call_history ====
Возвращает записи истории вызовов отобранных по указанным в запросе параметрам. Для вызовов на группы операторов или вызовов с переадресацией, история содержит только те записи вызовов, в которых непосредственно участвовали указанные номера.
== JSON формат: ==
{
"start_date":string,
"end_date":string,
"numbers":array[string]
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **start_date**\\ //string// | Дата и время начальной границы отбора записей истории в формате RFC3339. |
| **end_date**\\ //string// | Дата и время конечной границы отбора записей истории в формате RFC3339. |
| **numbers**\\ array[string] | Номера телефонов, по которым запрашивается история. |
=== Ответ ===
== JSON формат: ==
{
"result":string,
"no":integer,
"total":integer,
"data":{
"call_id":string,
"started":string,
"finished":string,
"status":string,
"caller":object(Сontact),
"callee":object(Сontact),
"conversation":integer,
"duration":integer,
"record_file":string
}
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. |
| **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
| **total**\\ //integer// | Общее количество сообщений с записями истории звонков, которые будут отправлены. |
| data.**call_id**\\ //string// | Глобальный идентификатор вызова (в формате провайдера). |
| data.**started**\\ //string// | Дата и время начала вызова в формате RFC3339. |
| data.**finished**\\ //string// | Дата и время завершения вызова в формате RFC3339. |
| data.**status**\\ //string// | Статус завершения вызова (в формате провайдера). |
| data.**caller**\\ [[uniphone:crmapi#contact|object(Сontact)]] | Данные инициатора вызова. |
| data.**callee**\\ [[uniphone:crmapi#contact|object(Сontact)]] | Данные вызываемого. |
| data.**conversation**\\ //integer// | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. |
| data.**duration**\\ //integer// | Продолжительность вызова в секундах. |
| data.**record_file**\\ //string// | Ссылка на файл записи разговора. |
==== [request] crm.v1.cmd.users.list ====
Возвращает список сотрудников и краткую информацию по каждому из них.
== Параметры: ==
//Не имеет параметров.//
=== Ответ ===
== JSON формат: ==
{
"result":string,
"no":integer,
"total":integer,
"data":array[object(User)]
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. |
| **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. |
| **total**\\ //integer// | Общее количество сообщений с данными пользователей, которые будут отправлены. |
| **data**\\ [[uniphone:crmapi#user|array[object(User)]]] | Массив, содержащий информацию о пользователях CRM-системы. |
=== User ===
Содержит информацию о пользователе CRM-системы.
== JSON формат: ==
{
"id":string,
"name":string,
"extension":string,
"mobile":string,
"os_username":string,
"image_hash":string
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **id**\\ //string// | Идентификатор пользователя. |
| **name**\\ //string// | Имя пользователя. |
| **extension**\\ //string// | Добавочный номер телефона пользователя. |
| **mobile**\\ //string// | Мобильный номер телефона пользователя. |
| **os_username**\\ //string// | Имя пользователя ОС (если используется аутентификация ОС). |
| **image_hash**\\ //string// | Хеш фотографии пользователя. Позволяет определить факт изменения фотографии для повторной загрузки. |
==== [request] crm.v1.cmd.users.get ====
Возвращает подробную информацию о пользователе.
== JSON формат: ==
{
"id":string
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **id**\\ //string// | Идентификатор пользователя. |
=== Ответ ===
== JSON формат: ==
{
"result":string,
"data":{
"name":string,
"os_username":string,
"extension":string,
"mobile":string,
"image":string,
"image_hash":string
}
}
== Параметры: ==
^ Наименование поля ^ Описание ^
| **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. |
| data.**name**\\ //string// | Имя пользователя. |
| data.**os_username**\\ //string// | Имя пользователя ОС (если используется аутентификация ОС). |
| data.**extension**\\ //string// | Добавочный номер телефона пользователя. |
| data.**mobile**\\ //string// | Мобильный номер телефона пользователя. |
| data.**image**\\ //string// | Фото. Изображение в формате base64. |
| data.**image_hash**\\ //string// | Хеш фотографии пользователя. Позволяет определить факт изменения фотографии для повторной загрузки. |