Создать запрос
Содержание
- Создание запроса
- Пример запроса для отправки сообщения в канал WhatsApp
- Отправка шаблона WhatsApp Business
- Пример запроса для отправки в канал Viber (c2d)
- Пример запроса для отправки в канал Telegram personal (Pact)
Создание запроса
POST https://api.usedesk.ru/create/ticket
Внимание. Если вы используете коробочную версию Юздеска на собственном сервере, URL методов у вас будет отличаться. Уточните URL для работы с API у поддержки — support@usedesk.ru.
Метод создает запрос. Принимает следующие параметры:
* — обязательные поля
Параметр | Значение |
api_token* | Токен API канала |
subject* | Тема запроса Строка (255 символов) Поддерживаются любые символы, в том числе эмодзи |
message* |
Сообщение в запросе Строка ~64kb. Поддерживается HTML разметка Если это внутренний комментарий private_comment = true, то можете добавить упоминание сотрудника [~test@gmail.com] |
client_name | Имя клиента Строка (255 символов) |
client_email | Почта клиента Строка (255 символов) |
client_id | Идентификатор клиента Строка (255 символов) Числовой идентификатор или строка "new_client" для создания нового клиента |
company_name |
Имя компании Строка (255 символов) Если указано, система проверит наличие компании с таким именем.
Если у клиента уже указана компания, он перепривязывается к компании, которая была передана |
private_comment |
Создание первого комментарий приватным |
additional_id |
Системное поле, которое не видно в карточке Строка (255 символов) Отдается в запросах получения информации о запросе. |
type |
Тип запроса
|
priority |
Приоритет запроса
|
status |
Статус запроса Принимает число, которое соответствует идентификатору статуса в системе. Возможные значения указаны тут. По умолчанию: 8 (новый) |
tag |
Теги Строка (255 символов), которая содержит теги, разделенные запятыми с пробелом |
assignee_id |
Идентификатор агента, на которого будет назначен запрос в рамках группы по умолчанию Числовой идентификатор. 32 бита
|
group_id |
Идентификатор группы, на которую будет назначен запрос. Числовой идентификатор. 32 бита |
client_phone | Телефон клиента Строка (255 символов) Будет добавлен, если клиент новый |
field_id | Строка, которая содержит идентификаторы дополнительных полей Строка (255 символов), разделяются точкой с запятой (;). |
field_value |
Строка, которая содержит значения дополнительных полей, разделенные точкой с запятой (;)
Пример строки, в которой передаются 3 значения: 'любое значение;true;93', |
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 Значение по умолчанию: ru |
{ '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 |
"new_client" или не используется вовсе |
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 данные шаблона:
Пример запроса для отправки сообщения в канал Viber (c2d)
Новый клиент в системе создаётся, если:
Параметр
|
Значение
|
---|---|
client_id |
"new_client" или не используется вовсе |
client_phone | "79123456789" и его нет в системе |
К текущему клиенту добавляется новый номер телефона, если:
Параметр
| Значение
|
---|---|
client_id | Указан id клиента: "27747627" |
client_phone | "79123456789" и его нет в системе |
К текущему клиенту НЕ добавляется новый номер, если:
Параметр
| Значение
|
---|---|
client_id | Указан id клиента: "27747627" |
client_phone | "79123456789" и уже есть в системе |
Если использовать только параметр client_id, то сообщение будет отправлено на первый номер телефона, указанный в системе.
При успешном запросе сервер вернёт сообщение об успешном создании, id нового запроса, а также id созданного чата:
Пример запроса для отправки сообщения в канал Telegram personal (pact)
Для отправки сообщения нужно использовать client_phone, если сообщение нужно отправить по номеру телефона или username, если нужно отправить сообщение по нику.
При отправке сообщения по нику можно использовать два формата написания — "ivanov" и "@ivanov"
Если указаны и username, и client_phone, сообщение отправится по username.
Новый клиент в системе создаётся, если:
Параметр
| Значение
|
---|---|
client_id* | "new_client" или не используется вовсе |
client_phone | "79123456789" и его нет в системе |
Или:
Параметр
| Значение
|
---|---|
client_id* | "new_client" или не используется вовсе |
username | "ivanov" и его нет в системе |
К текущему клиенту добавляется новый номер телефона, если:
Параметр
| Значение
|
---|---|
client_id* | Указан id клиента: "27747627" |
client_phone | "79123456789" и его нет в системе |
К текущему клиенту добавляется новый ник, если:
Параметр
| Значение
|
---|---|
client_id* | Указан id клиента: "27747627" |
username | "ivanov" и его нет в системе |
К текущему клиенту НЕ добавляется новый номер, если:
Параметр
| Значение
|
---|---|
client_id* | Указан id клиента: "27747627" |
client_phone | "79123456789" и уже есть в системе |
К текущему клиенту НЕ добавляется новый никнейм, если:
Параметр
| Значение
|
---|---|
client_id* | Указан id клиента: "27747627" |
username | "ivanov" и уже есть в системе |
При успешном запросе сервер вернёт сообщение об успешном создании id нового запроса, а также статус отправки запроса:
{ "status": "success", "ticket_id": 30745888, "message_status": "delivered" } |
Параметры ответа от сервера
Парметр | Описание |
status | Статус выполнения запроса
|
comment_id | ID комментария |