ForwardMessages#
Метод предназначен для пересылки сообщений в личный или групповой чат. Пересылаемое сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.
Для метода используются ограничения на частоту запросов в секунду.
Запрос#
Для отправки требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}
Префикс v3 стал необязательным параметром запроса
Для вашего удобства унифицировали формат запросов методов API для всех мессенджеров.
Подробнее о правилах вызова методов читайте в статье Выполнение запросов.
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Идентификатор чата, куда пересылается сообщение |
chatIdFrom | string | Да | Идентификатор чата, с которого пересылается сообщение |
messages | array | Да | Коллекция идентификаторов пересылаемых сообщений |
typingTime | integer | Нет | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). |
Особенности пересылки сообщений
- При пересылке любого вложения из альбомного сообщения будет переслан весь альбом со всеми вложениями, а не отдельное сообщение.
- Сообщения из массива
messages, которые не были найдены, а так же сообщения-реакции не будут пересланы.
Настройка инстанса
Для корректной работы механизма пересылки сообщений система должна знать сообщение, которое будет переслано. Убедиться, что сообщение доступно для пересылки, можно с помощью метода журналирования getMessage. Если сообщение отсутствует в системе, переслать его невозможно.
-
Для пересылки входящих сообщений необходимо включить настройку
Получать уведомления о входящих сообщениях и файлах. -
Для пересылки исходящих сообщений отправленных с телефона, включите настройку
Получать уведомления о сообщениях, отправленных с телефона.
Так сообщения будут попадать в систему и их можно будет пересылать.
Установку настроек можно сделать методом SetSettings или через личный кабинет.
Для пересылки отредактированного сообщения включите webhook editedMessageWebhook.
Пример тела запроса#
Отправка сообщения в чат:
{
"chatId": "10000000",
"chatIdFrom": "10000001",
"messages": [
"1769666251000",
"1769666251001",
"1769666251002"
],
"typingTime": 5000
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
messages | array | Идентификаторы отправленных сообщений |
Пример тела ответа#
{
"messages": [
"1769666251008",
"1769666251009"
]
}
Ошибки ForwardMessages#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 400 | Bad Request Validation failed | Ошибка валидации |
| 400 | Validation failed. Details: 'messages' must contain at least 1 items | Ошибка валидации. Поле messages не должно быть пустым. |
Отправка с неверным идентификатором сообщения
В случае некорректного указания messages, система вернёт код 200 и id отправляемого сообщения, но оно не будет доставлено получателю.
Получателю приходит неотредактированное сообщение
Неотредактированное сообщение придёт получателю в случае выключенного webhook editedMessageWebhook.
Пример тела запроса#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}"
payload = {
"chatId": "10000000",
"chatIdFrom": "10000001",
"messages": [
"1769666251000",
"1769666251001",
"1769666251002"
],
"typingTime": 5000
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
curl --location --request POST '{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}'
--header 'Content-Type: application/json'
--data-raw '{
"chatId": "10000000",
"chatIdFrom": "10000001",
"messages": [
"1769666251000",
"1769666251001",
"1769666251002"
],
"typingTime": 5000
}'