LastOutgoingMessages#
Метод возвращает крайние отправленные сообщения аккаунта. По умолчанию возвращаются последние сообщения за 24 часа.
Настройки
Чтобы получить сообщения, отправленные с телефона включите настройку Получать уведомления о сообщениях, отправленных с телефона методом
SetSettings или через личный кабинет.
Чтобы получить статусы отправленных сообщений, включите настройку Получать уведомления о статусах отправленных сообщений
методом SetSettings или через личный кабинет.
Сообщения отправленные с API записываются в журнал автоматически.
Отправленные до включения настроек сообщения не попадут в журнал.
Применение настроек занимает до 5 минут.
Появление сообщений в журнале может занимать время до 2 минут, методы журналов необходимо использовать только для получения истории переписки. Для быстрого получения сообщений необходимо использовать систему уведомлений.
Метод возвращает только те сообщения, которые системе отдает WhatsApp.
Метод возвращает последние 10000 сообщений. Метод LastOutgoingMessages возвращает только ту историю, которую системе отдает WhatsApp.
Запрос#
Для получения отправленных сообщений требуется выполнить запрос по адресу:
GET {{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}?minutes={{minutes_count}}
Для получения параметров запроса idInstance
, apiTokenInstance
и apiUrl
обратитесь к разделу Перед началом работы.
Параметры URL запроса#
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
minutes | integer | нет | время в минутах, за которое требуется показать сообщения (по умолчанию равно 1440 минут) |
Ответ#
Поля ответа#
Массив объектов с полями:
Поле | Тип | Описание |
---|---|---|
type | string | Вид сообщения, outgoing - исходящее сообщение |
idMessage | string | Идентификатор исходящего сообщения |
timestamp | integer | Время крайнего действия по сообщению в UNIX-формате |
statusMessage | string | Статус исходящего сообщения, возможные значения: |
noAccount - нет аккаунта WhatsApp на номере телефона | ||
pending - сообщение отправляется | ||
sent - отправлено | ||
delivered - доставлено | ||
read - прочитано/просмотрено/прослушано | ||
yellowCard - приостановка отправки сообщений из-за спамерской активности | ||
sendByApi | boolean | Флаг указывает отправлено сообщение из API или нет |
typeMessage | string | Тип сообщения, возможные значения: |
textMessage - текстовое сообщение | ||
imageMessage - сообщение с изображением | ||
videoMessage - видео сообщение | ||
documentMessage - сообщение с файлом документа | ||
audioMessage - аудио сообщение | ||
stickerMessage - сообщение со стикером | ||
reactionMessage - сообщение с реакцией | ||
locationMessage - сообщение геолокации | ||
contactMessage - сообщение с контактом | ||
extendedTextMessage - сообщение со ссылкой и превью | ||
pollMessage - сообщение с опросом | ||
quotedMessage - сообщение с цитированием | ||
chatId | string | Идентификатор чата, в который сообщение было отправлено |
isForwarded | boolean | Флаг указывает является ли сообщение пересланным |
forwardingScore | integer | Количество пересылок сообщения |
textMessage | string | Текст сообщения, если typeMessage = textMessage /extendedTextMessage |
downloadUrl | string | Ссылка на скачивание файла, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
caption | string | Описание файла, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
fileName | string | Название файла, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage . Поле заполняется корректно только для typeMessage = documentMessage , в остальных случаях название файла генерируется автоматически |
jpegThumbnail | string | Превью изображения в base64 кодировке, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
mimeType | string | Тип файла, согласно класификации Media Types, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
isAnimated | boolean | Флаг указывает анимирован ли файл, если typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
location | object | Объект о структуре локации, если typeMessage = locationMessage |
contact | object | Объект о структуре контакта, если typeMessage = contactMessage |
extendedTextMessage | object | Объект с текстовым сообщением (расширенный), если typeMessage = extendedTextMessage /quotedMessage |
extendedTextMessageData | object | Объект с реакцией, если typeMessage = reactionMessage |
pollMessageData | object | Объект о структуре данных опроса, если typeMessage = pollMessage |
quotedMessage | object | Объект данных о цитируемом сообщении, если typeMessage = quotedMessage /reactionMessage |
Пример тела ответа#
[
{
"type": "outgoing",
"idMessage": "BAE5143000000000",
"timestamp": 1706761225,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Привет",
"statusMessage": "read",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "BAE5F94000000000",
"timestamp": 1706765613,
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
"chatId": "70000000012@c.us",
"downloadUrl": "https://api.greenwaba.com/waInstance1234/downloadFile/3EB0BDDC94BFDFB3D4FA.jpg",
"caption": "Как тебе?",
"fileName": "b89ded5e-1a3b-4168-895a-540123456789.jpg",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/FFFCF//Z",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": true,
"forwardingScore": 2,
"statusMessage": "read",
"sendByApi": false
},
{
"type": "outgoing",
"idMessage": "3A1EBA0F23004BD415BB",
"timestamp": 1706601621,
"typeMessage": "reactionMessage",
"chatId": "70000000012@c.us",
"extendedTextMessageData": {
"text": "😄"
},
"quotedMessage": {
"stanzaId": "B4D7D8A1A7D887D5580F000000000000",
"participant": "70000000012@c.us",
},
"statusMessage": "read",
"sendByApi": false
},
{
"type": "outgoing",
"idMessage": "BAE5870000000000",
"timestamp": 1706761414,
"typeMessage": "locationMessage",
"chatId": "70000000012@c.us",
"location": {
"nameLocation": "Cafe",
"address": "Астана",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRX",
"latitude": 51.1280000000000,
"longitude": 71.4307620000000,
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "read",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "F39F2DCE000000000",
"timestamp": 1706762400,
"typeMessage": "contactMessage",
"chatId": "70000000012@c.us",
"contact": {
"displayName": "Виктор Петров",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Виктор Петров;;;\nFN:Виктор Петров\nTEL;type=CELL;type=VOICE;waid=70000000013:+7 000 000-00-13\nEND:VCARD",
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "read",
"sendByApi": false
},
{
"type": "outgoing",
"idMessage": "BAE56E0000000000",
"timestamp": 1706849285,
"typeMessage": "extendedTextMessage",
"chatId": "70000000012@c.us",
"textMessage": "https://greenwaba.com/",
"extendedTextMessage": {
"text": "https://greenwaba.com/",
"description": "GreenWaba - интеграция с WhatsApp на любом языке программирования PHP, JavaScript, 1С, Python, Java, C#, VBA",
"title": "GreenWaba для отправки и получения сообщений Whatsapp",
"previewType": "None",
"jpegThumbnail": "/9j/2wBDAAYEBQYFBAYGBQYHBwYICh/5IAMkIQnx0EIQkIEIQkIEIQkIEIQkIEIQkI//9k=",
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "sent",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "460D84E00000000000",
"timestamp": 1706762412,
"typeMessage": "pollMessage",
"chatId": "70000000012@c.us",
"pollMessageData": {
"name": "Выберите любимый цвет",
"options": [
{
"optionName": "Красный"
},
{
"optionName": "Зеленый"
}
],
"multipleAnswers": true
},
"statusMessage": "delivered",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "B1494991277FD000000000000000000000",
"timestamp": 1706849516,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "Черный",
"stanzaId": "460D84E00000000000",
"participant": "70000000012@c.us"
},
"quotedMessage": {
"stanzaId": "460D84E00000000000",
"participant": "70000000012@c.us",
"typeMessage": "pollMessage",
"pollMessageData": {
"name": "Выберите любимый цвет",
"options": [],
"multipleAnswers": true
}
},
"statusMessage": "delivered",
"sendByApi": false
},
{
"type": "outgoing",
"idMessage": "21D6C50B400DBCEC30000000000000",
"timestamp": 1706852882,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "Круто",
"stanzaId": "79DC2458992097F00000000000000000",
"participant": "70000000012@c.us"
},
"quotedMessage": {
"stanzaId": "79DC2458992097F00000000000000000",
"participant": "70000000012@c.us",
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
"downloadUrl": "",
"caption": "",
"fileName": "",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAgq7O/wD/2Q==",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": false,
"forwardingScore": 0
},
"statusMessage": "read",
"sendByApi": true
}
]
Ошибки LastOutgoingMessages#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}?minutes=3240'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/lastOutgoingMessages/")
.append({{apiTokenInstance}});
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.GET, null, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/lastOutgoingMessages/")
.append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
.header("Content-Type", "application/json")
.asString();
System.out.println(response);
Sub LastOutgoingMessages()
Dim url As String
Dim http As Object
Dim response As String
' The idInstance and apiTokenInstance values are available in your account, double brackets must be removed
url = "{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}"
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.send
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub