LastOutgoingMessages#
The method returns the last outgoing messages of the account. In the default mode the last messages for 24 hours are returned.
To receive the log of messages sent from the phone, you need to enable the
Receive webhooks on messages sent from phone
setting using the SetSettings method or through the personal account (Messages received before enabling this setting will not be included in the outgoing message log).Messages sent via the API are automatically recorded in the log.
It may take up to 5 minutes for the settings to take effect.
The appearance of messages in the log may take up to 2 minutes. Log methods should only be used for retrieving chat history. For quicker message retrieval, use the notification system.
To receive incoming messages from the phone's history, you need to enable the instance setting
Receive webhooks on incoming messages and files
using the SetSettings method or through the personal account and scan the QR code; the history will then appear in the logs.
Request#
To get outgoing messages, you have to execute a request at:
GET {{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}
For idInstance
, apiTokenInstance
and apiUrl
request parameters, refer to Before you start section.
URL request parameters#
Parameter | Type | Mandatory | Description |
---|---|---|---|
minutes | integer | No | time in minutes for which the messages should be displayed (default is 1440 minutes) |
Response#
Response parameters#
Array of objects with parameters:
Parameter | Type | Description |
---|---|---|
type | string | Message type, outgoing - outgoing message |
idMessage | string | Outgoing message Id |
timestamp | integer | Time of the last action on a message in UNIX format |
statusMessage | string | Outgoing message status, possible variants: |
noAccount - no WhatsApp account on phone number | ||
pending - is sent | ||
sent - sent | ||
delivered - delivered | ||
read - read/seen/heard | ||
yellowCard - suspension of sending messages due to spam activity | ||
sendByApi | boolean | Is the message sent through API |
typeMessage | string | Message type, possible variants: |
textMessage - text message | ||
imageMessage - image message | ||
videoMessage - video message | ||
documentMessage - document file message | ||
audioMessage - audio message | ||
stickerMessage - sticker message | ||
reactionMessage - reaction message | ||
locationMessage - location message | ||
contactMessage - contact message | ||
extendedTextMessage - link and preview message | ||
pollMessage - poll message | ||
quotedMessage - quoted message | ||
chatId | string | Chat Id, where message has been sent to |
isForwarded | boolean | The flag indicates whether the message is forwarded |
forwardingScore | integer | Number of message forwards |
textMessage | string | Text message, if typeMessage = textMessage /extendedTextMessage |
downloadUrl | string | Link to download a file, if if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
caption | string | File caption, if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
fileName | string | File name, if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage . The field is filled in correctly only for typeMessage = documentMessage , in other cases the file name is generated automatically |
jpegThumbnail | string | base64 -coded image preview, if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
mimeType | string | File type according to the Media Types, if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
isAnimated | boolean | The flag indicates whether the file is animated, if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
location | object | Location structure object, if typeMessage = locationMessage |
contact | object | Contact structure object, if typeMessage = contactMessage |
extendedTextMessage | object | Text message object (advanced), if typeMessage = extendedTextMessage /quotedMessage |
extendedTextMessageData | object | Reaction message data object, if typeMessage = reactionMessage |
pollMessageData | object | Poll data structure object, if typeMessage = pollMessage |
quotedMessage | object | Quoted message data object, if typeMessage = quotedMessage /reactionMessage |
Response body example#
[
{
"type": "outgoing",
"idMessage": "BAE5143000000000",
"timestamp": 1706761225,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hi",
"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": "What do you think?",
"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": "Astana",
"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": "Anastasia",
"vcard": "BEGIN:VCARD\nVERSION:3.0\nN:;Anastasia;;;\nFN:Anastasia\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 API on any language PHP, JavaScript, 1C, Python, Java, C#, VBA etc.",
"title": "GreenWaba: send and receive WhatsApp messages",
"previewType": "None",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABZ",
"forwardingScore": 0,
"isForwarded": false
},
"statusMessage": "sent",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "460D84E00000000000",
"timestamp": 1706762412,
"typeMessage": "pollMessage",
"chatId": "70000000012@c.us",
"pollMessageData": {
"name": "Choose your favorite color",
"options": [
{
"optionName": "Red"
},
{
"optionName": "Green"
}
],
"multipleAnswers": true
},
"statusMessage": "delivered",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "B1494991277FD000000000000000000000",
"timestamp": 1706849516,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "Black",
"stanzaId": "460D84E00000000000",
"participant": "70000000012@c.us"
},
"quotedMessage": {
"stanzaId": "460D84E00000000000",
"participant": "70000000012@c.us",
"typeMessage": "pollMessage",
"pollMessageData": {
"name": "Choose your favorite color",
"options": [],
"multipleAnswers": true
}
},
"statusMessage": "delivered",
"sendByApi": false
},
{
"type": "outgoing",
"idMessage": "21D6C50B400DBCEC30000000000000",
"timestamp": 1706852882,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "Cool",
"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 errors#
For a list of errors common to all methods, refer to Common errors section
Request examples#
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