GetMessage#
The method returns the chat message.
Settings
To receive incoming messages you need to enable the Receive webhooks on incoming messages and files
setting using the SetSettings method or through the console.
To receive messages sent prom phone you need to enable the Receive webhooks on messages sent from phone
setting using the SetSettings method or through the console.
To receive the statuses of sent messages you need to enable the Receive notifications about the statuses of sent messages
setting using the SetSettings method or through console
Messages sent and received before enabling these settings will not be included in the journal.
It may take up to 5 minutes for the settings to take effect.
The GetChatHistory method only returns the history that WhatsApp provides to the system.
The appearance of messages in the journal may take up to 2 minutes. Journal methods should only be used for retrieving chat history. For quicker message retrieval, use the notification system.
Request#
To get chat message, you have to execute a request at:
POST {{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}
For idInstance
, apiTokenInstance
and apiUrl
request parameters, please refer to Before you start section.
Request parameters#
Parameter | Type | Mandatory | Description |
---|---|---|---|
chatId | string | Yes | Personal or chat Id the message of which you need to get |
idMessage | string | Yes | Message ID |
Request body example#
message request:
{
"chatId": "120363043968066561@g.us",
"idMessage": "BAE5F4886F6F2D05"
}
Response#
The response contains a received or sent message in the chat.
Response parameters#
Object with parameters:
Parameter | Type | Description |
---|---|---|
type | string | Message type: outgoing - outgoing message; incoming - incoming message |
idMessage | string | Incoming message Id |
timestamp | integer | Message acceptance time in UNIX format |
statusMessage | string | Outgoing message status. Present only for type = outgoing . Possible variants: |
pending - is sent | ||
sent - sent | ||
delivered - delivered | ||
read - read/seen/heard | ||
sendByApi | boolean | Is the message sent through API. Present only for type = outgoing |
typeMessage | string | Message type, possible variants: |
textMessage - text message | ||
chatId | string | Chat Id, where the message has been received |
senderId | string | Message sender Id. Present only for type = incoming |
senderName | string | Message sender name. Present only for type = incoming |
senderContactName | string | Obsolete |
textMessage | string | Text message, if typeMessage =textMessage |
downloadUrl | string | Link to download a file, if if typeMessage = imageMessage /videoMessage /documentMessage /audioMessage /stickerMessage |
Parameters of quotedMessage
object:
Parameter | Type | Description |
---|---|---|
stanzaId | string | Quoted message ID |
participant | string | Recipient chat ID |
typeMessage | string | Quoted message type |
The remaining fields of the
quotedMessage
object are filled in depending on the type of the quoted message and are identical to the fields described above
Response body example#
Examples of incoming message response bodies#
Text message#
{
"type": "incoming",
"idMessage": "9DB14F14A253D33F4A9CD84123456789",
"timestamp": 1706522263,
"typeMessage": "textMessage",
"chatId": "120363153000000000@g.us",
"textMessage": "Hi",
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Document or media message#
{
"type": "incoming",
"idMessage": "EAAE5A5CD000000000",
"timestamp": 1706601620,
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
"chatId": "120363153000000000@g.us",
"downloadUrl": "https://api.greenwaba.com/waInstance1234/downloadFile/EA1BD1AE042DC4F3609867126309D67C.jpg",
"caption": "What do you think?",
"fileName": "03963bac-6020-423c-80df-1aa123456789.jpg",
"jpegThumbnail": "/9j/4AAQSkZJ/aAAgBAwEBPwCVYw//xAApEAACAx/2kOVh/VKAoAH/leFhX//+AAMA/9k=",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": true,
"forwardingScore": 1,
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Reaction message#
{
"type": "incoming",
"idMessage": "3A1EBA0F23004BD415BB",
"timestamp": 1706601621,
"typeMessage": "reactionMessage",
"chatId": "70000000012@c.us",
"extendedTextMessageData": {
"text": "😄"
},
"quotedMessage": {
"stanzaId": "B4D7D8A1A7D887D5580F000000000000",
"participant": "70000000012@c.us",
},
"senderId": "70000000013@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Location message#
{
"type": "incoming",
"idMessage": "3A8427EF85F000000000",
"timestamp": 1706674611,
"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
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Contact message#
{
"type": "incoming",
"idMessage": "3AA2C1D83560000000000",
"timestamp": 1706675513,
"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
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Extended text message#
{
"type": "incoming",
"idMessage": "3A66D7F0B50000000000",
"timestamp": 1706675928,
"typeMessage": "extendedTextMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hqhqhhqh\nhttps://greenwaba.com",
"extendedTextMessage": {
"text": "Hqhqhhqh\nhttps://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
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Poll message#
{
"type": "incoming",
"idMessage": "3A71511C3A0000000000",
"timestamp": 1706676278,
"typeMessage": "pollMessage",
"chatId": "70000000012@c.us",
"pollMessageData": {
"name": "Choose your favorite color",
"options": [
{
"optionName": "Red"
},
{
"optionName": "Green"
}
],
"multipleAnswers": true
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Poll update message#
{
"type": "incoming",
"idMessage": "3A0493ED90000000000000",
"timestamp": 1706676447,
"typeMessage": "pollUpdateMessage",
"chatId": "70000000012@c.us",
"pollMessageData": {
"name": "Where will we go?",
"stanzaId": "46618B98B3B9DF50F123456789123456",
"votes": [
{
"optionName": "Beach",
"optionVoters": [
"70000000012@c.us"
]
},
{
"optionName": "Mountains",
"optionVoters": []
}
],
"multipleAnswers": true
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Quoted message#
{
"type": "incoming",
"idMessage": "3AB0EB938BA0000000000",
"timestamp": 1706677013,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "For the beach",
"stanzaId": "46618B98B3B9DF50F123456789123456",
"participant": "70000000012@c.us"
},
"quotedMessage": {
"stanzaId": "46618B98B3B9DF50F123456789123456",
"participant": "70000000012@c.us",
"typeMessage": "pollMessage",
"pollMessageData": {
"name": "Where will we go?",
"options": [],
"multipleAnswers": true
}
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
{
"type": "incoming",
"idMessage": "3A70B27A6020000000000",
"timestamp": 1706677254,
"typeMessage": "quotedMessage",
"chatId": "70000000012@c.us",
"extendedTextMessage": {
"text": "Great!",
"stanzaId": "EAAE5A5CD000000000",
"participant": "70000000012@c.us"
},
"quotedMessage": {
"stanzaId": "EAAE5A5CD000000000",
"participant": "70000000012@c.us",
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
"downloadUrl": "",
"caption": "",
"fileName": "",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAA=",
"mimeType": "image/jpeg",
"isAnimated": false,
"isForwarded": false,
"forwardingScore": 0
},
"senderId": "70000000012@c.us",
"senderName": "Rachel",
"senderContactName": "Rachel 2"
}
Examples of outgoing message response bodies#
Text message#
{
"type": "outgoing",
"idMessage": "BAE5143000000000",
"timestamp": 1706761225,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hi",
"statusMessage": "read",
"sendByApi": true
}
Document or media message#
{
"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
}
Reaction message#
{
"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
}
Location message#
{
"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
}
Contact message#
{
"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
}
Extended text message#
{
"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
}
Poll message#
{
"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
}
Quoted message#
{
"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
}
GetMessage errors#
For a list of errors common to all methods, refer to Common errors section
HTTP code | Error identifier | Description |
---|---|---|
400 | chatId not found | chatID is not found |
400 | ID message notfound | IDMessage is not found |
Request examples#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}"
payload = "{\r\n\"chatId\": \"120363043968066561@g.us\, \"idMessage\": \"BAE5F4886F6F2D05\" \"r\n}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getMessage/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "11001234567@c.us",
"idMessage": "BAE5F4886F6F2D05"
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getMessage/")
.append({{apiTokenInstance}});
var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
var jsonBody = "{\"chatId\": \"11001234567@c.us\",\"idMessage\": \"BAE5F4886F6F2D05\"}";
var requestEntity = new HttpEntity<>(jsonBody, headers);
var response = restTemplate.exchange(requestUrl.toString(), HttpMethod.POST, requestEntity, String.class);
System.out.println(response);
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getMessage/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\"chatId\": \"11001234567@c.us\",\"idMessage\": \"BAE5F4886F6F2D05\"}")
.asString();
System.out.println(response);
Sub GetMessage()
Dim url As String
Dim RequestBody 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}}/getMessage/{{apiTokenInstance}}"
' chatId - identifier of the personal chat whose message you want to receive, idMessage - message ID
RequestBody = "{""chatId"":""71234567890@c.us"",""idMessage"":""BAE123EEF6BD09C7""}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub