ForwardMessages#
Метод предназначен для пересылки сообщений в личный или групповой чат. Пересылаемое сообщение будет добавлено в очередь на отправку. Сообщение на отправку хранится 24 часа в очереди и будет отправлено сразу же после авторизации телефона. Скорость отправки сообщений из очереди регулирует параметр Интервал отправки сообщений.
Запрос#
Для отправки требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/forwardMessages/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание | 
|---|---|---|---|
| chatId | string | Да | Идентификатор чата, куда пересылается сообщение | 
| chatIdFrom | string | Да | Идентификатор чата, с которого пересылается сообщение | 
| messages | array | Да | Коллекция идентификаторов пересылаемых сообщений | 
| typingTime | integer | Нет | Время показа уведомления набора сообщения в чате собеседника. Время ограничено значениями от 1000 до 20000 миллисекунд (от 1 до 20 секунд). | 
Настройка инстанса
Для корректной работы с механизмом пересылки сообщений система должна знать о сообщении, которое будет переслано. Убедится о том что сообщение доступно к пересылке можно запросив метод журналирования getMessage, если сообщение отсутствует в системе, то пересылать такое сообщение невозможно.
-  Для пересылки входящих сообщений необходимо включить настройку Получать уведомления о входящих сообщениях и файлах.
-  Для пересылки исходящих сообщений отправленных с телефона, включите настройку Получать уведомления о сообщениях, отправленных с телефона.
Так сообщения будут попадать в систему и их можно будет пересылать.
 Установку настроек можно сделать методом SetSettings или через личный кабинет.
Для пересылки отредактированного сообщения включите webhook editedMessageWebhook. 
Пример тела запроса#
Отправка сообщения в чат:
{
    "chatId": "79876543210@c.us",
    "chatIdFrom": "79876543210@c.us",
    "messages": [
       "BAE587FA1CECF760",
       "BAE5608BC86F2B59"
    ]
}
Ответ#
Поля ответа#
| Поле | Тип | Описание | 
|---|---|---|
| messages | array | Идентификаторы отправленных сообщений | 
Пример тела ответа#
{
  "messages": [
    "BAE5DBB8DEABDA22",
    "BAE5BBA9BE3142D8"
  ]
}
Пример отображения у получателя#

Ошибки ForwardMessages#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание | 
|---|---|---|
| 400 | Bad RequestValidation 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": "79876543210@c.us",
  "chatIdFrom": "79876543210@c.us",
  "messages": [
    "BAE587FA1CECF760",
    "BAE5608BC86F2B59"
  ]
}
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": "79876543210@c.us",
    "chatIdFrom": "79876543210@c.us",
    "messages": [
        "BAE587FA1CECF760",
        "BAE5608BC86F2B59"
    ]
}'