====== 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// | Хеш фотографии пользователя. Позволяет определить факт изменения фотографии для повторной загрузки. |