Этот метод позволяет отвечать в диалоге и добавлять внутренние заметки.
POST https://api.carrotquest.io/conversations/{id}/reply
В качестве {id}
нужно использовать ID диалога.
Параметры аутентификации.
Параметр id_as_string.
Параметры, включающие опциональные поля объекта ConversationPart.
Параметр | Тип | Описание |
---|---|---|
body |
Optional[строка] | Текст сообщения. Может быть не задан, если сообщение содержит только приложение без текста (например, картинку). По умолчанию, пустая строка |
body_json |
Optional[Dict] | Дополнительные данные с контентом сообщения в формате json. Зависят от типа создаваемой реплики |
attachment |
Optional[File] | Файл приложения к реплике. |
attachment_file_name |
Optional[строка] | Название файла-приложения для вывода в чате. Строка от 1 до 255 символов. |
from_user |
Optional[ID] | Укажите default_user в случае отправки сообщения от пользователя на сайте или ID пользователя вашего сайта |
from_admin |
Optional[ID/default_admin ] |
Укажите ID администратора в случае ответа от администратора или default_admin для отправки от имени дефолтного отправителя сайта |
type |
Optional[строка] | Тип реплики. Допустимы типы reply_admin , note , article . При отправке от имени пользователя (from_user ) параметр игнорируется. По умолчанию: reply_admin |
external_id |
Optional[строка] | Id сообщения во внешнем сервисе |
random_id |
Optional[integer] | Случайное целое число, чтобы сопостовлять создаваемое сообщение с репликой из RTS. По умолчанию, 0 |
auto_assign |
Optional[ID] | ID администратора. Перед ответом автоматически назначить диалог администратору с этим ID |
auto_assign_random_id |
Optional[integer] | Случайный ID ConversationPart о назначении для контроля отправки. По умолчанию: 0 |
referrer |
Optional[строка] | URL страницы, с которой написано сообщение. По умолчанию не задан. |
Чтобы контролировать, от чьего имени будет отправлено сообщение, используйте параметры from_admin
и from_user
.
Чтобы указать тип сообщения (обычный ответ reply_admin
, заметка note
или статья базы знаний article
),
задайте type
.
Чтобы перед ответом автоматически назначить диалог на того или иного администратора, можно указать его ID в поле auto_assign
.
При этом будет создано 2 реплики, а не одна: системная реплика назначения на оператора и основная реплика.
random_id
и auto_assign_random_id
используются для сопоставления реплики, пришедшей через Realtime services.
Вы можете записать сюда случайное 32-битное число,
которое придет в поле random_id
объекта ConversationPart, созданного этим запросом.
В этом случае нельзя использовать ID реплики, поскольку Realtime services работают асинхронно
и сообщение туда может прийти раньше, чем вы получите ответ на запрос создания реплики. А может и наоборот.
Порядок не определен.
Поле data
будет содержать созданные реплики (объекты ConversationPart):
data
data.assign_part
(если был указан параметр auto_assign
)Пример:
{
"data": {
"id": "1453279698921457472",
"created": 1685352440,
"conversation": "1447294760057308402",
"body": "",
"body_json": {},
"direction": "u2a",
"type": "reply_user",
"sent_via": "api",
"attachments": [
{
"type": "file",
"id": "1453279691052943108",
"filename": "test_import.csv",
"mime_type": "text/csv",
"size": 156,
"url": "https://files.carrotquest.app/attachments/2782/2e7cac55-dff0-4142-9460-14d64ff08623/test_import.csv",
"created": 1685352439
}
],
"meta_data": {},
"reply_type": "no",
"actions": null,
"edited": null,
"removed": null,
"external_id": null,
"part_group": "1447294760216691955",
"from": "1447294708215711734",
"assign_part": {
"id": "1453281238935668443",
"created": 1685352624,
"conversation": "1447294760057308402",
"body": "",
"body_json": {},
"direction": "a2u",
"type": "assigned",
"sent_via": "api",
"meta_data": {},
"reply_type": "no",
"actions": null,
"edited": null,
"removed": null,
"external_id": null,
"part_group": "1447294760216691955",
"assignee": {
"id": "30542",
"name": "Test",
"avatar": "https://files.carrotquest.app/avatars/default-v4.png",
"type": "admin"
},
"from": {
"id": "30542",
"name": "Test",
"avatar": "https://files.carrotquest.app/avatars/default-v4.png",
"type": "admin"
}
}
},
"meta": {
"status": 200
}
}
Ошибка | Код | Описание |
---|---|---|
ReplyTooBig |
400 | Слишком длинный текст реплики (body ) |
Ответить от имени администратора и назначить диалог на него (ID администратора 8164):
curl -X POST \
--data-urlencode "body=Some Admin Message" \
--data-urlencode "from_admin=8164" \
--data-urlencode "auto_assign=8164" \
-H "Authorization: Token XXX" \
https://api.carrotquest.io/conversations/1789152/reply
Ответить от имени пользователя на сайте:
curl -X POST \
--data-urlencode "body=Some User Message" \
--data-urlencode "from_user=default_user" \
-H "Authorization: Token XXX" \
https://api.carrotquest.io/conversations/1789152/reply
Добавить заметку от имени администратора (ID администратора 8164):
curl -X POST \
--data-urlencode "body=Some Admin Message" \
--data-urlencode "from_admin=8164" \
--data-urlencode "type=note" \
-H "Authorization: Token XXX" \
https://api.carrotquest.io/conversations/1789152/reply