Тикеты
Внимание
Если вы используете коробочную версию Юздеска на собственном сервере, то URL методов у вас будет отличаться. Уточните URL для работы с API у поддержки — support@usedesk.ru.
Справочник статусов
Возможные статусы запросов в системе:
Значение | Статус |
1 | Открыт |
2 | Выполнен |
3 | Закрыт |
4 | Удален |
5 | На удержании |
6 | В ожидании |
7 | Спам |
8 | Новый |
9 | Рассылка |
10 | Объединен |
Список тикетов
POST https://api.usedesk.ru/tickets
Метод возвращает тикеты, удовлетворяющих заданным условиям фильтров.
В методе реализована постраничная разбивка. В ответе максимум 100 записей, для смещения используется параметр offset.
* — обязательные поля
Параметр | Описание |
api_token * | Токен API канала |
fchannel | Фильтрация по id канала Можно передать несколько значений через запятую |
fassigned | Фильтрация по Можно передать как по одному, так и массивом. Возможные варианты использования:
Deprecated (версия 1.0). Не рекомендуем использовать устаревшие способы поведения:
|
fgroup | Фильтрация по id группы |
fstatus | |
ftype | Фильтрация по типу тикета
|
fpriority | Фильтрация по приоритету тикета
|
accessible_for_agent_id | Фильтрация по id агента Учитывает права сотрудника. Не принимает значение Сервер возвращает переменную
|
offset | Смещение Не принимает значение Смещение на 1 покажет следующие 100 записей |
tag | Фильтрация по значению тега Можно передать несколько значений через запятую с пробелом. Не принимает значение Пример использования:
|
created_after | Фильтрация по дате и времени создания В выдачу попадут тикеты, созданные после указанной даты (включительно) Пример использования:
|
created_before | Фильтрация по дате и времени создания В выдачу попадут тикеты, созданные до указанной даты (включительно) Пример использования:
|
updated_after | Фильтрация по дате и времени изменения В выдачу попадут тикеты, измененные после указанной даты (включительно) Пример использования:
|
updated_before | Фильтрация по дате и времени изменения В выдачу попадут тикеты, измененные до указанной даты (включительно) Пример использования:
|
query | Поиск по темам тикетов и содержанию всех комментариев Не принимает значение Для запросов, содержащих, данный параметр, установлено ограничение на 10 запросов в минуту |
client_id | Фильтрация по id клиента |
fields | Фильтрация по идентификатору и значению дополнительного поля Массив содержит параметры:
Дополнительные варианты использования:
Deprecated (версия 1.0). Не рекомендуем использовать устаревшие способы поведения: field_id – Фильтрация по идентификатору дополнительного поля. При указании значения система отфильтрует все запросы, в которых данное поле будет заполнено. Можно указать только одно значение. field_value – Фильтрация по значению дополнительного поля.
|
sort | Идентификатор поля для сортировки Параметры, по которым можно сортировать список тикетов:
По умолчанию: |
order | Порядок сортировки тикетов
По умолчанию: |
properties | Передача времени до наступления SLA
Возможные параметры в ответе:
Если SLA не заданы в запросе, то SLA не возвращается в ответе |
{ "fchannel":"123", "properties": ["sla"], "fassigned": [ { "assignee_id" : 17063, "group_id" : 6216 }, { "assignee_id" : 15023, "group_id" : 8294 } ], "fields": [ {"id": 4704, "value": 1 }, {"id": 2410, "value": "empty" }, {"id": 3570, "value": "test" }, {"id": 4267, "value": "empty" } ], "fgroup": "21", "ftype":"1", "accessible_for_agent_id":"6339", "updated_after":"2016-11-25 00:00" }
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'offset'=>0, 'created_after' =>'2016-11-25 00:00', 'created_before'=>'2016-11-25 15:08', ); $mch_api = curl_init(); // initialize cURL connection curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/tickets'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'offset'=>0 'tags'=> 'тег1,тег2', 'fchannel'=>'123', 'fgroup'=>'2' ); $mch_api = curl_init(); curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/tickets'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
[ { "id": 2992803, "subject": "привет", "client_id": 15341, "client_name": "Лащук Василий", "assignee_id": 2, "channel_id": null, "group": 2, "created_at": "2019-05-16 11:31:23" "last_updated_at": "2017-03-29 07:47:30", "channel_email": null, "active_sla": [ { "type": "close", "date": "2021-04-29 10:35:04" }, { "type": "first_reply", "date": "2021-04-28 18:01:08" } ], "ticket_fields": [ { "id": 25, "name": "Жалоба", "value": null }, { "id": 37, "name": "Причина обращений", "value": "39" } ], "tags": [ { "name": "Важный" }, { "name": "Холодный" } ], "status": 2, "priority": "medium", "type": "question", "last_comment": "У меня появилась ошибка", "remind_at": null, "rights": "read" }, ]
Отдельный тикет
POST https://api.usedesk.ru/ticket
Метод возвращает тикет по указанному id. Принимает один id тикета.
* — обязательные поля
Параметр | Описание |
api_token* | Токен API канала |
ticket_id* | Идентификатор тикета |
accessible_for_agent_id | Фильтрация по id агента Учитывает права сотрудника. Сервер возвращает переменную rights:
|
properties | Передача времени до наступления SLA
Если SLA не заданы в запросе, то SLA не возвращается в ответе |
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'accessible_for_agent_id'=>'6339', 'ticket_id'=>'2261648' ); $mch_api = curl_init(); curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/ticket'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
Сервер возвращает тикет, все комментарии, теги и историю изменений.
{ "ticket":{ "id": 2265179, "status_id": 1, "priority": "medium", "type": "problem", "subject": "Ошибка с доп полями", "client_id": 261702, "assignee_id": 2, "group": 0, "last_updated_at": "2017-03-01 14:30:49", "email": "vlasch@gmail.com", "published_at": "2017-03-01 14:30:49", "company_id": 153561, "channel_id": 22 "additional_id": "32" "client_name": "Лащук Василий", "active_sla": [ { "type": "close", "date": "2021-04-29 10:35:04" }, { "type": "first_reply", "date": "2021-04-28 18:01:08" } ], "comments":[ { "id": 2658287, "message": "доп поля", "from": "client", "type": "public", "user_id": null, "client_id": 261702, "client_name": "Василий Лащук", "ticket_id": 2265179, "is_first": 0, "delivered": 0, "readed": 0, "published_at": "2017-03-01 14:30:49", "file": 129169, "files": [ { "name": "44029855d283e98131fc.jpg", "type": "image/jpeg", "file": "https://devsecure.usedesk.ru/files/153561/3403684/get-url-comment-files/YmxwdGVHcFRkMVp4VjFoNFVVcEZVVEY2YzA4elp6MDlPanEybDlWVkhNNU1vTS8zWWliNzZqeEY=" } ] "bcc": [ "shy@usedesk.ru", "test@usedesk.ru" ] "cc": [ "shy123@usedesk.ru", "test123@usedesk.ru" ] } ], "changes": [ { "id": 213671, "trigger_id": 1260, "user_id": null, "ticket_id": 2265179, "data":[ { "target": "assignee", "value": "2" } ], "changed_at": "2017-03-01 14:30:49", "old_status": 0, "new_status": 2, "company_id": 153561 }, { "id": 213669, "trigger_id": null, "user_id": null, "ticket_id": 2265179, "data": [], "changed_at": "2017-03-01 14:30:49", "old_status": 0, "new_status": 1, "company_id": 153561 } ], "tags": [ "Важный", "Холодный лид" ], "custom_fields": [ { "id": 143, "ticket_id": 2265179, "ticket_field_id": 10, "value": "134" }, { "id": 145, "ticket_id": 2265179, "ticket_field_id": 7, "value": "1" }, { "id": 147, "ticket_id": 2265179, "ticket_field_id": 9, "value": "9" } ] "rights": "write", }
Создать тикет
POST https://api.usedesk.ru/create/ticket
Метод создает тикет для API канала. Принимает следующие параметры:
* — обязательные поля
Параметр | Значение |
api_token* | Токен API канала |
subject* | Тема тикета Строка (255 символов). Поддерживаются любые символы, в том числе эмодзи |
message* | Сообщение тикета Строка ~64kb. Поддерживается HTML разметка. Если это внутренний комментарий |
client_name | Имя клиента Строка (255 символов) |
client_email | Почта клиента Строка (255 символов) |
client_id | Идентификатор клиента Строка (255 символов) Числовой идентификатор или строка |
company_name | Имя компании Строка (255 символов) Если указано, то система проверит наличие компании с таким именем.
Если у клиента уже указана компания, то он перепривязывается к компании, которая была передана |
private_comment | Создание первого комментарий приватным Принимает только значение |
additional_id | Системное поле, которое не видно в карточке Строка (255 символов) Отдается в запросах получения информации о тикете |
type | Тип тикета Строка (10 символов) Возможные значения:
По умолчанию: |
priority | Приоритет тикета Строка (10 символов) Возможные значения:
По умолчанию: |
status | Статус тикета Принимает число, которое соответствует идентификатору статуса в системе. Возможные значения указаны тут. По умолчанию: 8 (новый) |
tag | Теги Строка (255 символов), которая содержит теги, разделенные запятыми с пробелом |
assignee_id | Идентификатор агента, на которого будет назначен запрос в рамках группы по умолчанию Числовой идентификатор. 32 бита
|
group_id | Идентификатор группы, на которую будет назначен запрос Числовой идентификатор. 32 бита |
client_phone | Телефон клиента Строка (255 символов) Будет добавлен, если клиент новый |
field_id | Строка, которая содержит идентификаторы дополнительных полей Строка (255 символов), разделяются точкой с запятой ( |
field_value | Строка, которая содержит значения дополнительных полей, разделенные точкой с запятой (;)
Пример строки в которой передаются 3 значения: |
channel_id | Идентификатор канала, в котором будет создан запрос Числовой идентификатор, 32 бита Если не передан, запрос будет создан в канале, которому принадлежит токен. Тип запроса будет соответствовать типу канала |
files | Массив вложенных файлов multipart/form-data |
from | Сторона, от лица которой создается первый комментарий Возможные значения:
Если передается параметр |
user_id | Идентификатор агента для параметра from Числовой идентификатор, 32 бита |
trigger_id | Идентификатор правила для параметра from Числовой идентификатор, 32 бита |
client_country | Страна клиента Строка (255 символов) |
client_city | Город клиента Строка (255 символов) |
client_address | Адрес клиента Строка (255 символов) |
new_address | Передается, если требуется создать дополнительный адрес |
phone_type | Тип телефона при сохранении Возможные значения:
|
lists | Редактирование вложенных списков Массив содержащий параметры:
Важно соблюдать структуру вложенных списков. Это значит, что для изменения значения поля второго уровня нужно обязательно передать значение первого уровня |
template_id | Идентификатор шаблона WhatsApp Business (pact) |
template_name | Название шаблона WhatsApp Business (Landbot, infobip) |
template_variables | Переменные шаблона WhatsApp Business Массив строк. Переменные подставляются в шаблон по порядку |
template_lang | Язык шаблона WhatsApp Business Значение по умолчанию: |
{ 'subject': 'Письмо', 'message': 'Привет!', 'client_name': 'Иван', 'client_email': 'superivan@gmail.com', 'field_id': '10;12;9', 'field_value': 'любое значение;true;93', 'channel_id': 683, 'lists':[ [ { "id":"61", "value":"Тест" }, { "id":"62", "value":"Тест1" }, { "id":"63", "value":"Тест2" } ] ] }
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.usedesk.ru/create/ticket', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => array('files[]'=> new CURLFILE('/Users/ylia.kh/Downloads/IMG_20201109_140523.jpg'),'api_token' => 'ed22e2c09c1567629ea2a912907e60c6027ddf5d','message' => 'Юлечка','subject' => 'Вложения тестим'), CURLOPT_HTTPHEADER => array( 'Content-Type: multipart/form-data', 'Cookie: laravel_session=8dIFarAWQMZlGKACtWX2A1KIQ5rlysgpCh9aMJmZ' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'client_name' => "JON", 'client_email' => "jon@bonjovi.com", 'message' => "Hello World", 'subject' => 'First msg', 'client_id' => 'new_client', 'type' => 'question', 'priority' => 'low', 'status' => '3', 'subject' => 'POST UPDATE', 'tag'=>'new ticket,test', 'field_id'=> '10;12;9', 'field_value'=> 'любое значение;true;93', 'channel_id'=>683 ); $mch_api = curl_init(); // initialize cURL connection curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/ticket'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
При успешном запросе сервер вернет сообщение об успешном создании и id нового тикета.
{ "status": "success", "ticket_id": 2154861 }
Пример запроса для отправки сообщения в канал WhatsApp
Чтобы клиент получил сообщение в WhatsApp, учитывайте обязательные параметры from и user_id.
Новый клиент в системе создается, если:
Параметр | Значение |
---|---|
client_id | " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту добавляется новый номер телефона, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту НЕ добавляется новый номер, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и уже есть в системе |
Если использовать только параметр client_id
, то сообщение будет отправлено на первый номер телефона, указанный в системе.
{ 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'message' => "Hello", 'subject' => 'First msg', 'channel_id' => '20054', 'from'=>'user', 'user_id'=> '2156', 'client_phone'=> '79254697403', 'client_id'=>'27747627' }
При успешном запросе, сервер вернет сообщение об успешном создании, id нового тикета, а также статус отправки запроса:
{ "status": "success", "ticket_id": 30745888, "message_status": "delivered" }
Для проверки статуса отправки сообщения будет отправлен запрос на вебхук. Для этого в API-канале Юздеска укажите адрес на который отправится запрос
{ "message_status": {"delivery_status": "DELIVERED", "comment_id": 3551632, "extras": {"ticket_id": 1231234}}}
Отправка шаблона WhatsApp Business
Для того, чтобы начать диалог с отправки шаблона, нужно передать в параметрах запроса к API данные шаблона:
{ "api_token": "aff11f252956fcb0248f3a55cc92eb1234567890", "channel_id": 123, "from": "user", "client_phone": "79511234567", "template_id": 8094, "template_variables": ["Иван","18:00","Маяковская"] }
{ "api_token": "aff11f252956fcb0248f3a55cc92eb1234567890", "channel_id": 123, "from": "user", "client_phone": "79511234567", "template_name": "Main", "template_variables": ["Валерий"] }
Пример запроса для отправки сообщения в канал Viber (c2d)
Новый клиент в системе создается, если:
Параметр | Значение |
---|---|
client_id | " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту добавляется новый номер телефона, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту НЕ добавляется новый номер, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и уже есть в системе |
Если использовать только параметр client_id
, то сообщение будет отправлено на первый номер телефона, указанный в системе.
'api_token'=> 'e1987847345873068075215644cb53dd555de4', 'message' => "Hello", 'subject' => 'First msg', 'channel_id' => '20054', 'client_phone'=> '79254697403', 'client_id'=>'27747627'
При успешном запросе, сервер вернет сообщение об успешном создании, id нового тикета, а также id созданного чата:
{ "status": "success", "ticket_id": 30745888, "chat_id": "5754" }
Пример запроса для отправки сообщения в канал Telegram personal (pact)
На данный момент через API можно создать запрос только по номеру телефона
Чтобы клиент получил сообщение в Telegram, учитывайте обязательные параметры from и user_id.
Новый клиент в системе создается, если:
Параметр | Значение |
---|---|
client_id | " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту добавляется новый номер телефона, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и его нет в системе |
К текущему клиенту НЕ добавляется новый номер, если:
Параметр | Значение |
---|---|
client_id | Указан id клиента: "27747627 " |
client_phone | "79123456789 " и уже есть в системе |
Если использовать только параметр client_id
, то сообщение будет отправлено на первый номер телефона, указанный в системе.
'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'message' => "Hello", 'subject' => 'First msg', 'channel_id' => '20054', 'from'=>'user', 'user_id'=> '2156', 'client_phone'=> '79254697403', 'client_id'=>'27747627'
При успешном запросе, сервер вернет сообщение об успешном создании, id нового тикета, а также статус отправки запроса:
{ "status": "success", "ticket_id": 30745888, "message_status": "delivered" }
Обновить тикет
POST https://api.usedesk.ru/update/ticket
С помощью метода можно изменить существующий тикет
* — обязательные поля
Параметр | Значение |
api_token * | Токен API канала |
ticket_id * | id тикета |
subject | Тема тикета |
client_id | id клиента Если установлен, то тикет привяжется к указанному клиенту |
group_id | id группы Если указан, то тикет будет назначен на указанную группу |
assignee_id | id юзера, который будет назначен исполнителем Варианты использования:
|
user_id | id юзера от лица которого будут произведены изменения |
tag | Теги Строка (255 символов), которая содержит теги, разделенные запятыми с пробелом |
priority | Приоритет тикета Строка (10 символов) Возможные значения:
По умолчанию: |
status | Статус тикета Принимает число, которое соответствует идентификатору статуса в системе. Возможные значения указаны тут |
type | Тип тикета Строка (10 символов) Возможные значения:
|
field_id | Строка, которая содержит идентификаторы дополнительных полей Строка (255 символов), разделяются точкой с запятой ( |
field_value | Строка, которая содержит значения дополнительных полей, разделенные точкой с запятой (;)
Пример строки в которой передаются 3 значения: |
| Редактирование вложенных списков Массив содержащий параметры:
Важно соблюдать структуру вложенных списков. Это значит, что для изменения значения поля второго уровня нужно обязательно передать значение первого уровня Для очистки поля используйте пустое значение или |
{ 'ticket_id': '123', 'subject': 'Письмо', 'field_id': '10;12;9', 'field_value': 'любое значение;true;93', 'lists': [ [ { "id": 1347, "value": "1" }, { "id": 1348, "value": "22" } ] ] }
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'client' => "JON", 'email' => "jon@bonjovi.com", 'message' => "Hello World", 'subject' => 'First msg', 'client_id' => 'new_client', 'ticket_id'=>'2154827', 'priority' => 'medium', 'type'=>'task' 'status' => '2', 'subject' => 'POST UPDATE', 'field_id'=> '10;12;9', 'field_value'=> 'любое значение;true;93' ); $mch_api = curl_init(); curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/update/ticket'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
При успешном запросе сервер вернет сообщение об успешном обновлении тикета.
{ "status":"success" }
Асинхронное создание тикета
POST https://api.usedesk.ru/create/ticket/async
Метод асинхронного создания тикета. Информация о созданном тикете приходит на webhook, заданный в API канале. Принимает следующие параметры:
* — обязательные поля
Параметр | Значение |
api_token * | Токен API канала |
subject * | Тема тикета Строка (255 символов). Поддерживаются любые символы, в том числе эмодзи |
message * | Сообщение тикета Строка ~64kb. Поддерживается HTML разметка. Если это внутренний комментарий |
client_name | Имя клиента Строка (255 символов) |
client_email | Почта клиента Строка (255 символов) |
client_id | Идентификатор клиента Строка (255 символов) Числовой идентификатор или строка |
additional_id | Системное поле, которое не видно в карточке Строка (255 символов) Отдается в запросах получения информации о тикете |
type | Тип тикета Строка (10 символов) Возможные значения:
По умолчанию: |
priority | Приоритет тикета Строка (10 символов) Возможные значения:
По умолчанию: |
status | Статус тикета Принимает число, которое соответствует идентификатору статуса в системе. Возможные значения указаны тут. По умолчанию: 8 (новый) |
tag | Теги Строка (255 символов), которая содержит теги, разделенные запятыми с пробелом |
assignee_id | Идентификатор агента, на которого будет назначен запрос в рамках группы по умолчанию Числовой идентификатор. 32 бита
|
group_id | Идентификатор группы, на которую будет назначен запрос Числовой идентификатор. 32 бита |
client_phone | Телефон клиента Строка (255 символов) Будет добавлен, если клиент новый |
field_id | Строка, которая содержит идентификаторы дополнительных полей Строка (255 символов), разделяются точкой с запятой ( |
field_value | Строка, которая содержит значения дополнительных полей, разделенные точкой с запятой (;)
Пример строки в которой передаются 3 значения: |
channel_id | Идентификатор канала, в котором будет создан запрос Числовой идентификатор, 32 бита Если не передан, запрос будет создан в канале, которому принадлежит токен. Тип запроса будет соответствовать типу канала |
files | Массив вложенных файлов multipart/form-data |
{ 'subject': 'Письмо', 'message': 'Привет!', 'client_name': 'Иван', 'client_email': 'superivan@gmail.com', 'field_id': '10;12;9', 'field_value': 'любое значение;true;93', 'channel_id': 683 }
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'client_name' => "JON", 'client_email' => "jon@bonjovi.com", 'message' => "Hello World", 'subject' => 'First msg', 'client_id' => 'new_client', 'type' => 'question', 'priority' => 'low', 'status' => '3', 'subject' => 'POST UPDATE', 'tag'=>'new ticket,test', 'field_id'=> '10;12;9', 'field_value'=> 'любое значение;true;93', 'channel_id'=>683 ); $mch_api = curl_init(); // initialize cURL connection curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/ticket'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
{ "status":"success" }
Создать комментарий
POST https://api.usedesk.ru/create/comment
Метод создает комментарий внутри тикета
* — обязательные поля
Параметр | Значение |
api_token * | Токен API канала |
ticket_id * | id тикета |
message * | Сообщение Если это внутренний комментарий |
сс | Массив копий |
bсс | Массив скрытых копий |
user_id | id юзера от лица которого будут произведены изменения Если установлен, ответ будет совершен от данного юзера. Иначе будет выбран первый пользователь компании |
type | Тип комментария
Если не установлен, то комментарий будет приватным |
files | Массив вложенных файлов multipart/form-data |
from | Сторона, от лица которой создается комментарий Возможные значения:
Если передается параметр |
trigger_id | Идентификатор правила для параметра from Числовой идентификатор, 32 бита ВАЖНО: В данный момент, вне зависимости от того какой выбран триггер, комментарий будет создан от лица Бота |
template_id | Идентификатор шаблона WhatsApp Business (pact) |
template_name | Название шаблона WhatsApp Business (Landbot, infobip) |
template_variables | Переменные шаблона WhatsApp Business Массив строк. Переменные подставляются в шаблон по порядку |
template_lang | Язык шаблона WhatsApp Business Значение по умолчанию: |
{ "api_token": "ed22e2c09c1567629ea2a912907e60c6027ddf58", "ticket_id": "37344609", "message": "комментарий", "type": "public", "bcc": [ "random@e.mail", "random2@e.mail", "random3@e.mail" ], "cc": [ "random4@e.mail", "random5@e.mail", "random6@e.mail" ] }
$data = array( 'api_token'=> 'ba82c31d43b286e43e0e5489fb522ec57dc4c3fd', 'message' => "New message text", 'user_id'=>'545', 'ticket_id'=>'2152490', 'type' => 'public', ); $mch_api = curl_init(); curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/comment'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
При успешном запросе сервер вернет сообщение об успешном создании и id комментария
{ "status":"success", "comment_id":2154861 }
$file_name_with_full_path = realpath('../1480538622583f39fe53d18_logo.png'); $cFile = curl_file_create($file_name_with_full_path);
Если запрос составляется через CURL важно указать полный путь до файла на сервере
$file_name_with_full_path = realpath('../1480538622583f39fe53d18_logo.png'); $cFile = curl_file_create($file_name_with_full_path); $data = array( 'api_token'=> 'ba82c31d43b286e43e0e5489fb522ec57dc4c3fd', 'message' => "New message text", 'user_id'=>'545', 'ticket_id'=>'2154814', 'type' => 'public', 'files[]'=>$cFile ); $mch_api = curl_init(); // initialize cURL connection curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/create/comment'); curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
Получить список тегов
POST https://api.usedesk.ru/tags
Метод возвращает список тегов.
В методе реализована постраничная разбивка. В ответе максимум 100 записей, для смещения используется параметр offset.
* — обязательные поля
api_token * | Токен API канала |
offset | Смещение Не принимает значение Смещение на 1 покажет следующие 100 записей |
query | Поисковая строка Поиск осуществляется по тексту тега |
$data = array( 'api_token'=> 'e1cbe1c1c9d910ef2ae975215644cb53dd555de4', 'offset'=>0, ); $mch_api = curl_init(); // initialize cURL connection curl_setopt($mch_api, CURLOPT_URL, 'https://api.usedesk.ru/tags'); curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($mch_api, CURLOPT_TIMEOUT, 10); curl_setopt($mch_api, CURLOPT_POST, true); curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($mch_api, CURLOPT_POSTFIELDS, $data); $result = curl_exec($mch_api); return $result;
[ { "ticket_tag_id":130, "tag_company_id":153909, "name":"tag1", "ticket_count":2 }, { "ticket_tag_id":374, "tag_company_id":153909, "name":"example", "ticket_count":25 } ]