Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
uniphone:crmapi [2017/04/11 08:39] mcvet |
uniphone:crmapi [2021/03/29 12:30] (текущий) mcvet |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
API реализуемое на стороне CRM приложения или web-сервиса. | API реализуемое на стороне CRM приложения или web-сервиса. | ||
- | ==== [request] crm.cmd.whois ==== | + | ==== [request] crm.v1.cmd.whois ==== |
Возвращает данные абонента, которому принадлежит заданный номер телефона. | Возвращает данные абонента, которому принадлежит заданный номер телефона. | ||
Строка 11: | Строка 11: | ||
== Параметры: == | == Параметры: == | ||
- | ^ Наименование поля ^ Описание ^ | + | ^ Наименование поля ^ Описание ^ |
- | | ** number**\\ string | Номер телефона абонента (внутренний или мобильный). | | + | | ** number**\\ //string// | Номер телефона абонента (внутренний или мобильный). | |
=== Ответ === | === Ответ === | ||
Строка 19: | Строка 19: | ||
<code>{ | <code>{ | ||
"result":string, | "result":string, | ||
- | "data":object(Сontact) | + | "data":object(Contact) |
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
- | ^ Наименование поля ^ Описание ^ | + | ^ Наименование поля ^ Описание ^ |
- | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | + | | **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | |
- | | **data**\\ [[uniphone:crmapi#contact|object(Сontact)]] | В случае успеха содержит информацию о контакте, которому принадлежит номер телефона. | | + | | **data**\\ [[uniphone:crmapi#contact|object(Contact)]] | В случае успеха содержит информацию о контакте, которому принадлежит номер телефона. | |
=== Contact === | === Contact === | ||
Строка 36: | Строка 35: | ||
"contact":string, | "contact":string, | ||
"client":string, | "client":string, | ||
- | "link":string | + | "link":string, |
+ | "responsible":array[object(Employee)] | ||
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
- | ^ Наименование поля ^ Описание ^ | + | ^ Наименование поля ^ Описание ^ |
- | | **number**\\ string | Номер телефона контакта. | | + | | **number**\\ //string// | Номер телефона контакта. | |
- | | **contact**\\ string | Имя контакта (контактного лица). | | + | | **contact**\\ //string// | Имя контакта (контактного лица). | |
- | | **client**\\ string | Наименование физического или юридического лица. | | + | | **client**\\ //string// | Наименование контрагента. | |
- | | **link**\\ string | Ссылка на карточку контакта в CRM-системе. | | + | | **link**\\ //string// | Ссылка на карточку контакта в CRM-системе. | |
+ | | **responsible**\\ [[uniphone:crmapi#employee |array[object(Employee)]]] | Сотрудники установленные в роли ответственных по этому контакту (контрагенту или контактному лицу) в CRM-системе. | | ||
+ | === Employee === | ||
+ | Содержит информацию о сотруднике. | ||
- | ==== [request] crm.cmd.call_history==== | + | == JSON формат: == |
- | Подготавливает историю вызовов. Команда проверяет корректность указанных параметров и тут же возвращает ответ. История вызовов возвращается отдельным потоком сообщений публикуемых в очереди с заданным названием. Уникальность названия очереди контролирует клиентское приложение, которое должно предварительно подписаться на получение записей истории из этой очереди. | + | <code>{ |
+ | "name":string, | ||
+ | "extension":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **name**\\ //string// | Имя сотрудника. | | ||
+ | | **extension**\\ //string// | Добавочный номер телефона сотрудника. | | ||
+ | |||
+ | |||
+ | ==== [request] crm.v1.cmd.find ==== | ||
+ | Выполняет поиск по справочнику абонентов. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "search_line":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | ** search_line**\\ //string// | Строка поиска, содержащая имя абонента или его номер телефона. Допускается указание части имени или номера. | | ||
+ | |||
+ | === Ответ === | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "no":integer, | ||
+ | "total":integer, | ||
+ | "data":array[object(Contact)] | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
+ | | **total**\\ //integer// | Общее количество сообщений с записями истории звонков, которые будут | ||
+ | | **data**\\ [[uniphone:crmapi#contact|array[object(Contact)]]] | Массив, содержащий найденные контакты. | | ||
+ | |||
+ | |||
+ | ==== [request] crm.v1.cmd.call_history ==== | ||
+ | Возвращает записи истории вызовов отобранных по указанным в запросе параметрам. Для вызовов на группы операторов или вызовов с переадресацией, история содержит только те записи вызовов, в которых непосредственно участвовали указанные номера. | ||
== JSON формат: == | == JSON формат: == | ||
Строка 54: | Строка 99: | ||
"start_date":string, | "start_date":string, | ||
"end_date":string, | "end_date":string, | ||
- | "numbers":array[string], | + | "numbers":array[string] |
- | "place_to":string | + | |
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
- | ^ Наименование поля ^ Описание ^ | + | ^ Наименование поля ^ Описание ^ |
- | | **start_date**\\ string | Дата и время начальной границы отбора записей истории в формате RFC3339. | | + | | **start_date**\\ //string// | Дата и время начальной границы отбора записей истории в формате RFC3339. | |
- | | **end_date**\\ string | Дата и время конечной границы отбора записей истории в формате RFC3339. | | + | | **end_date**\\ //string// | Дата и время конечной границы отбора записей истории в формате RFC3339. | |
| **numbers**\\ array[string] | Номера телефонов, по которым запрашивается история. | | | **numbers**\\ array[string] | Номера телефонов, по которым запрашивается история. | | ||
- | | **place_to**\\ string | Название очереди, в которую будет отправлен результат запроса истории. | | ||
=== Ответ === | === Ответ === | ||
Строка 69: | Строка 112: | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
- | "result":string | + | "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 | ||
+ | } | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **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 формат: == | ||
+ | <code>{ | ||
+ | "result":string, | ||
+ | "no":integer, | ||
+ | "total":integer, | ||
+ | "data":array[object(User)] | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | ||
+ | | **no**\\ //integer// | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | ||
+ | | **total**\\ //integer// | Общее количество сообщений с данными пользователей, которые будут отправлены. | | ||
+ | | **data**\\ [[uniphone:crmapi#user|array[object(User)]]] | Массив, содержащий информацию о пользователях CRM-системы. | | ||
+ | |||
+ | === User === | ||
+ | Содержит информацию о пользователе CRM-системы. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "id":string, | ||
+ | "name":string, | ||
+ | "extension":string, | ||
+ | "mobile":string, | ||
+ | "os_username":string, | ||
+ | "image_hash":string | ||
+ | }</code> | ||
+ | |||
+ | == Параметры: == | ||
+ | ^ Наименование поля ^ Описание ^ | ||
+ | | **id**\\ //string// | Идентификатор пользователя. | | ||
+ | | **name**\\ //string// | Имя пользователя. | | ||
+ | | **extension**\\ //string// | Добавочный номер телефона пользователя. | | ||
+ | | **mobile**\\ //string// | Мобильный номер телефона пользователя. | | ||
+ | | **os_username**\\ //string// | Имя пользователя ОС (если используется аутентификация ОС). | | ||
+ | | **image_hash**\\ //string// | Хеш фотографии пользователя. Позволяет определить факт изменения фотографии для повторной загрузки. | | ||
+ | |||
+ | |||
+ | ==== [request] crm.v1.cmd.users.get ==== | ||
+ | Возвращает подробную информацию о пользователе. | ||
+ | |||
+ | == JSON формат: == | ||
+ | <code>{ | ||
+ | "id":string | ||
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
^ Наименование поля ^ Описание ^ | ^ Наименование поля ^ Описание ^ | ||
- | | **result**\\ string | Результат выполнения команды. Может содержать описание ошибки. | | + | | **id**\\ //string// | Идентификатор пользователя. | |
+ | |||
+ | === Ответ === | ||
- | Результат выполнения команды будет отправлен в очередь указанную в параметре **place_to** как только он будет готов. | ||
== JSON формат: == | == JSON формат: == | ||
<code>{ | <code>{ | ||
"result":string, | "result":string, | ||
"data":{ | "data":{ | ||
- | "no":integer, | + | "name":string, |
- | "total":integer, | + | "os_username":string, |
- | "record":{ | + | "extension":string, |
- | "call_id":string, | + | "mobile":string, |
- | "started":string, | + | "image":string, |
- | "finished":string, | + | "image_hash":string |
- | "status":string, | + | |
- | "caller":object(Сontact), | + | |
- | "callee":object(Сontact), | + | |
- | "conversation":integer, | + | |
- | "duration":integer, | + | |
- | "record_file":string | + | |
- | } | + | |
} | } | ||
}</code> | }</code> | ||
== Параметры: == | == Параметры: == | ||
- | ^ Наименование поля ^ Описание ^ | + | ^ Наименование поля ^ Описание ^ |
- | | **result**\\ string | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | | + | | **result**\\ //string// | Результат выполнения команды. Содержит "Success" в случае успеха и описание ошибки в ином случае. | |
- | | **data.no**\\ integer | Номер текущего сообщения отправленного в очередь. Каждое сообщение пронумеровано в интервале 1..[total]. | | + | | data.**name**\\ //string// | Имя пользователя. | |
- | | **data.total**\\ integer | Общее количество сообщений с записями истории звонков, которые будут отправлены. | | + | | data.**os_username**\\ //string// | Имя пользователя ОС (если используется аутентификация ОС). | |
- | | **data.record.call_id**\\ string | Глобальный идентификатор вызова (в формате провайдера). | | + | | data.**extension**\\ //string// | Добавочный номер телефона пользователя. | |
- | | **data.record.started**\\ string | Дата и время начала вызова в формате RFC3339. | | + | | data.**mobile**\\ //string// | Мобильный номер телефона пользователя. | |
- | | **data.record.finished**\\ string | Дата и время завершения вызова в формате RFC3339. | | + | | data.**image**\\ //string// | Фото. Изображение в формате base64. | |
- | | **data.record.status**\\ string | Статус завершения вызова (в формате провайдера). | | + | | data.**image_hash**\\ //string// | Хеш фотографии пользователя. Позволяет определить факт изменения фотографии для повторной загрузки. | |
- | | **data.record.caller**\\ [[uniphone:crmapi#contact|object(Сontact)]] | Данные инициатора вызова. | | + | |
- | | **data.record.callee**\\ [[uniphone:crmapi#contact|object(Сontact)]] | Данные вызываемого. | | + | |
- | | **data.record.conversation**\\ integer | Продолжительность разговора в секундах (время от начала разговора и до его завершения). Если вызов находился на удержании (hold), то время удержания будет вычтено. | | + | |
- | | **data.record.duration**\\ integer | Продолжительность вызова в секундах. | | + | |
- | | **data.record.record_file**\\ string | Ссылка на файл записи разговора. | | + |