LastOutgoingMessages#
השיטה מחזירה את ההודעות היוצאות האחרונות של החשבון. במצב ברירת המחדל מוחזרות ההודעות האחרונות במשך 24 שעות.
כדי לקבל את סטטוסים של הודעות שנשלחו, עליך להפעיל את ההגדרה 'קבל הודעות על סטטוסים של הודעות שנשלחו' באמצעות SetSettings שיטה או דרך console
ייתכן שיחלפו עד 5 דקות עד שההגדרות ייכנסו לתוקף.
כדי לקבל הודעות שנשלחו והתקבלו בטלפון שלך לפני חיבור המופע, לאחר שמירת ההגדרות במופע, עליך לבצע התנתק ו לְאַשֵׁר שׁוּב.
שיטת LastOutgoingMessages מחזירה רק את ההיסטוריה ש-WhatsApp מספקת למערכת.
הופעת ההודעות ביומן עשויה להימשך עד 2 דקות. יש להשתמש בשיטות יומן רק לאחזור היסטוריית הצ'אט. לאחזור מהיר יותר של הודעות, השתמש ב- מערכת הודעות.
בַּקָשָׁה#
כדי לקבל הודעות יוצאות, עליך לבצע בקשה בכתובת:
{{apiUrl}}/waInstance{{idInstance}}/lastOutgoingMessages/{{apiTokenInstance}}
לפרמטרים של בקשת apiUrl, idInstance ו-apiTokenInstance, עיין ב לפני שמתחילים סָעִיף.
פרמטרים של בקשת כתובת URL#
| פָּרָמֶטֶר | סוּג | הֶכְרֵחִי | תֵאוּר |
|---|---|---|---|
minutes | integer | לֹא | זמן בדקות שעבורו ההודעות אמורות להיות מוצגות (ברירת המחדל היא 1440 דקות) |
תְגוּבָה#
פרמטרי תגובה#
מערך אובייקטים עם פרמטרים:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
type | string | סוג הודעה, outgoing - הודעה יוצאת |
idMessage | string | מזהה הודעה יוצאת |
timestamp | integer | זמן הפעולה האחרונה בהודעה בפורמט UNIX |
statusMessage | string | סטטוס הודעה יוצאת, גרסאות אפשריות: |
pending - נשלח | ||
sent - נשלח | ||
delivered - נמסר | ||
read - קרא/ראה/שמע | ||
yellowCard - שליחת הודעות הושעתה זמנית במקרה זה עקב פעילות ספאם. הודעות שנשלחות לאחר קבלת הסטטוס נשמרות בתור לשליחה למשך 24 שעות | ||
failed - אירעה שגיאה בעת שליחת הודעה לשרת WhatsApp | ||
description | string | תיאור שגיאה. נוכח רק עבור statusMessage = failed |
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 | סוג הקובץ לפי סוגי מדיה, אִם 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 |
פרמטרים של location לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
nameLocation | string | שם המיקום |
address | string | כתובת המיקום |
latitude | double | קו רוחב מיקום |
longitude | double | קו אורך מיקום |
jpegThumbnail | string | base64-תצוגה מקדימה של תמונה מקודדת |
isForwarded | boolean | הדגל מציין אם ההודעה מועברת |
forwardingScore | integer | מספר העברות ההודעות |
פרמטרים של contact לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
displayName | string | שם תצוגה של איש קשר |
vcard | string | מבנה VCard (כרטיס ביקור ליצירת קשר) |
isForwarded | boolean | הדגל מציין אם ההודעה מועברת |
forwardingScore | integer | מספר העברות ההודעות |
פרמטרים של extendedTextMessage לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
text | string | טקסט הקישור |
description | string | תיאור הקישור |
title | string | כותרת הקישור |
previewType | string | סוג התצוגה המקדימה של הקישור. previewType:None הוצא משימוש |
jpegThumbnail | string | תצוגה מקדימה של תמונה בקידוד Base64 |
stanzaId | string | מזהה ההודעה המצוטטת. קיים רק אם typeMessage = quotedMessage |
participant | string | מזהה הצ'אט של המקבל/השולח. קיים רק אם typeMessage = quotedMessage |
isForwarded | boolean | דגל המציין אם ההודעה הועברה |
forwardingScore | integer | מספר ההעברות של ההודעה |
showAdAttribution | boolean | אינדיקציית מודעה |
mediaType | string | סוג המדיה של ההודעה, לדוגמה "IMAGE" (רק להודעות פרסומת) |
sourceId | string | מזהה הפרסומת (רק להודעות פרסומת) |
sourceType | string | סוג המקור, לדוגמה "ad" (רק להודעות פרסומת) |
sourceUrl | string | כתובת ה-URL של הפרסומת (רק להודעות פרסומת) |
thumbnailUrl | string | כתובת ה-URL של התצוגה המקדימה של הפרסומת (רק להודעות פרסומת) |
ctwaClid | string | מזהה המרה של "לחיצה לוואטסאפ" מפרסומת. משמש לקישור השיחה לקמפיין הפרסומת (רק להודעות פרסומת) |
automatedGreetingMessageShown | boolean | מציין אם למשתמש הוצגה הודעת ברכה אוטומטית (רק להודעות פרסומת) |
sourceApp | string | האפליקציה שממנה יזמו את האינטראקציה עם וואטסאפ: לדוגמה, Facebook, Instagram, או אפליקציית Meta אחרת. (רק להודעות פרסומת) |
originalImageUrl | string | הקישור המקורי לתמונה המשויכת לפרסומת. (רק להודעות פרסומת) |
videoNote | boolean | רק להודעות וידאו. השדה מקבל את הערך true להודעת וידאו מיידית ו-false להודעת וידאו רגילה. |
פרמטרים של extendedTextMessageData לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
text | string | תגובה (אימוג'י) להודעה |
פרמטרים של pollMessageData לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
name | string | טקסט הסקר |
options | array | מערך אפשרויות סקר |
votes | array | מערך הצבעות בסקר |
multipleAnswers | boolean | סמן כדי לאפשר מספר תשובות |
פרמטרים של options מַעֲרָך:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
optionName | string | טקסט אפשרות בחירת סקר |
פרמטרים של votes מַעֲרָך:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
optionName | string | טקסט אפשרות בחירת סקר |
optionVoters | array | מזהה חשבון הצבעה של מערך סקר |
פרמטרים של quotedMessage לְהִתְנַגֵד:
| פָּרָמֶטֶר | סוּג | תֵאוּר |
|---|---|---|
stanzaId | string | מזהה הודעה מצוטט |
participant | string | מזהה צ'אט של הנמען |
typeMessage | string | סוג הודעה מצוטט |
שאר השדות של האובייקט
quotedMessageממולאים בהתאם לסוג ההודעה המצוטטת והם זהים לשדות המתוארים לעיל
פרמטרי אובייקט groupInviteMessageData
| פרמטר | הקלד | תֵאוּר |
|---|---|---|
groupJid | **string* | מזהה צ'אט קבוצתי |
inviteCode | **string* | קוד הזמנה |
inviteExpiration | **string* | תפוגה של הזמנה |
groupName | **string* | שם הקבוצה |
caption | **string* | כיתוב הודעה |
name | **string* | השדה אינו פעיל ונותר בשביל תאימות לאחור |
jpeg Thumbnail | **string* | תצוגה מקדימה של תמונה ב-base64 |
בקשת גוף לדוגמה#
[
{
"type": "outgoing",
"idMessage": "BAE5143000000000",
"timestamp": 1706761225,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hi",
"statusMessage": "read",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "BAE53220D3339F4B",
"timestamp": 1706761414,
"typeMessage": "textMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hello!",
"statusMessage": "yellowCard",
"sendByApi": true
},
{
"type": "outgoing",
"idMessage": "BAE5F94000000000",
"timestamp": 1706765613,
"typeMessage": "imageMessage", //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
"chatId": "70000000012@c.us",
"downloadUrl": "https://api.green-api.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://greenapi.com",
"extendedTextMessage": {
"text": "https://greenapi.com",
"description": "GREEN-API: WhatsApp API on any language PHP, JavaScript, 1C, Python, Java, C#, VBA etc.",
"title": "GREEN-API: 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
},
{
"type": "outgoing",
"idMessage": "A5044C1535772B4D060C57C62A530AAB",
"timestamp": 1774942997,
"typeMessage": "groupInviteMessage",
"chatId": "70000000012@c.us",
"groupInviteMessageData": {
"groupJid": "120363425469355954@g.us",
"inviteCode": "B060dkNctUdXvUHC",
"inviteExpiration": "1775202192",
"groupName": "ntcn",
"caption": "Invitation to join my WhatsApp group",
"jpegThumbnail": "",
},
"statusMessage": "read",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
},
{
"type": "outgoing",
"idMessage": "3AC3BB68475D6EC5BBD1",
"timestamp": 1785992892,
"typeMessage": "extendedTextMessage",
"chatId": "70000000012@c.us",
"textMessage": "Hello! I would like to place an order.",
"extendedTextMessage": {
"text": "Hello! I would like to place an order.",
"description": ":thinking_face:Thinking about what to choose today?\n\Chat with clients in the best messenger on Earth.\nSales managers are ready to answer you.\n:mailto: support@green-api.com",
"title": "Write to us",
"previewType": "None",
"jpegThumbnail": "",
"forwardingScore": 0,
"isForwarded": false,
"containsAutoReply": false,
"mediaType": "VIDEO",
"showAdAttribution": true,
"sourceId": "120252186701100169",
"sourceType": "ad",
"sourceUrl": "https://www.instagram.com/p/187 ... xWK/",
"thumbnailUrl": "https://instagram.ftse3-2.fna.fbcdn.net/ ... =6A79CE3D",
"greetingMessageBody": "Hello! We are happy to help you!",
"ctwaClid": "Afh6oztQClFhp ... bjQ",
"automatedGreetingMessageShown": true,
"sourceApp": "instagram",
"originalImageUrl": "https://instagram.ftse3-2.fna.fbcdn.net/ ... =6A79CE3D"
},
"statusMessage": "sent",
"sendByApi": false,
"deletedMessageId": "",
"editedMessageId": "",
"isEdited": false,
"isDeleted": false
}
]
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 apiUrl, idInstance and apiTokenInstance values are available in console, 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