Skip to content

GetChatHistory#

Test

השיטה מחזירה את היסטוריית הודעות הצ'אט

כדי לקבל הודעות נכנסות, עליך להפעיל את ההגדרה 'קבל חיבורים באינטרנט על הודעות וקבצים נכנסים' באמצעות SetSettings שיטה או דרך console.

כדי לקבל את סטטוסים של הודעות שנשלחו, עליך להפעיל את ההגדרה 'קבל הודעות על סטטוסים של הודעות שנשלחו' באמצעות SetSettings שיטה או דרך console

ייתכן שיחלפו עד 5 דקות עד שההגדרות ייכנסו לתוקף.

כדי לקבל הודעות שנשלחו והתקבלו בטלפון שלך לפני חיבור המופע, לאחר שמירת ההגדרות במופע, עליך לבצע התנתק ו לְאַשֵׁר again.

שיטת GetChatHistory מחזירה רק את ההיסטוריה ש-WhatsApp מספקת למערכת.

הופעת ההודעות ביומן עשויה להימשך עד 2 דקות. יש להשתמש בשיטות יומן רק לאחזור היסטוריית הצ'אט. לאחזור מהיר יותר של הודעות, השתמש ב-מערכת הודעות.

בקשה#

כדי לקבל היסטוריית צ'אטים, עליך לבצע בקשה בכתובת

POST
{{apiUrl}}/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}
TEST

לקבלת פרמטרים של בקשת 'apiUrl', 'idInstance' ו- 'apiTokenInstance', עיין ב לפני שתתחיל במקטע.

פרמטרים של בקשה#

פָּרָמֶטֶר סוּג הֶכְרֵחִי תֵאוּר
chatId string כן מזהה אישי או מזהה צ'אט היסטוריית ההודעות שאתה צריך לקבל
count integer לא מספר ההודעות שיש לקבל. ברירת המחדל היא '100'

דוגמה לגוף תגובה#

בקשה ל-10 הודעות אחרונות::

{
    "chatId": "11001234567@c.us",
    "count": 10
}

תגובה#

התגובה מכילה רשימה של כל ההודעות שהתקבלו ונשלחו בצ'אט. חותמת זמן הודעה מיון בסדר יורד..

פרמטרים של תגובה#

מערך אובייקטים עם פרמטרים::

פרמטר סוג תיאור
type string סוג הודעה: 'יוצא' - הודעה יוצאת; 'נכנס' - הודעה נכנסת
idMessage string מזהה הודעה נכנסת
timestamp integer זמן קבלת הודעות בתבנית UNIX
statusMessage string מצב הודעה יוצאת. נוכח רק עבור 'סוג' = 'יוצא'. גרסאות אפשריות:
'noAccount' - אין חשבון WhatsApp במספר הטלפון
'notInGroup' - לא בקבוצה זו
pending - נשלח
sent - שלח
delivered - נמסר
read - לקרוא/לראות/לשמוע
yellowCard - השעיית שליחת הודעות עקב פעילות ספאם. הודעות הנשלחות לאחר קבלת המצב מאוחסנות בתור לשליחה למשך 24 שעות. כדי להמשיך להפעיל את המופע, עליך לבצע אתחול מחדש של המופע
sendByApi boolean האם ההודעה נשלחת באמצעות API. נוכח רק עבור type = outgoing
typeMessage string סוג הודעה, וריאנטים אפשריים:
textMessage - הודעת טקסט
imageMessage - הודעת תמונה
videoMessage - הודעת וידאו
documentMessage - הודעת קובץ מסמך
audioMessage - הודעה קולית
stickerMessage - הודעת מדבקה
reactionMessage - הודעת תגובה
locationMessage - הודעת מיקום
contactMessage - הודעה ליצירת קשר
extendedTextMessage - קישור ותצוגה מקדימה של הודעה
pollMessage - הודעת סקר
pollUpdateMessage - עדכון הודעת סקר. נוכח רק עבור type = incoming
quotedMessage - הודעה מצוטטת
chatId string מזהה צ'אט, היכן התקבלה ההודעה
senderId string שולח הודעות Id. נוכח רק עבור type = incoming
senderName string שם שולח ההודעה. נוכח רק עבור type = incoming
senderContactName string שם שולח ההודעה בהתאם לרשימת אנשי הקשר של החשבון השוטף. נוכח רק עבור type = incoming
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'/'pollUpdateMessage'`
quotedMessage object אובייקט נתוני הודעה מצוטטת, אם 'typeMessage' = 'quotedMessage'/'reactionMessage

פרמטרים של אובייקט 'מיקום'

פָּרָמֶטֶר סוּג תֵאוּר
nameLocation string שם המיקום
address string כתובת מיקום
latitude double קו רוחב מיקום
longitude double קו אורך מיקום
jpegThumbnail string תצוגה מקדימה של תמונה מקודדת base64
isForwarded boolean הדגל מציין אם ההודעה מועברת
forwardingScore integer מספר העברות ההודעות

פרמטרים של אובייקט 'צור קשר'

פָּרָמֶטֶר סוּג תֵאוּר
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 נתח צ'אט של נמען/שולח. הצג רק עבור type Message= `quote Message
isForwarded boolean הדגל מציין אם ההודעה מועברת
forwardingScore integer מספר העברות ההודעות

פרמטרים של אובייקט extendedTextMessageData:

פָּרָמֶטֶר סוּג תֵאוּר
text string תגובה (אימוג'י) להודעה

פרמטרים של אובייקט pollMessageData:

פָּרָמֶטֶר סוּג תֵאוּר
stanzaId string מזהה הודעת סקר יוצא. קיים רק עבור typeMessage=pollUpdateMessage
name string טקסט הסקר
options array מערך אפשרויות סקר. קיים רק עבור typeMessage= pollMessage
votes array מערך ההצבעות בסקר. קיים רק עבור typeMessage=pollUpdateMessage
multipleAnswers boolean סמן כדי לאפשר מספר תשובות

פרמטרים של אובייקט pollMessageData:

פָּרָמֶטֶר סוּג תֵאוּר
optionName string טקסט אפשרות בחירת סקר

פרמטרים של מערך 'קולות':

פָּרָמֶטֶר סוּג תֵאוּר
optionName string טקסט אפשרות בחירת סקר
optionVoters array מזהה חשבון הצבעה של מערך סקר

פרמטרים של אובייקט quotedMessage:

פָּרָמֶטֶר סוּג תֵאוּר
stanzaId string מזהה הודעה מצוטט
participant string מזהה צ'אט של הנמען
typeMessage string סוג הודעה מצוטט

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

דוגמה לגוף תגובה#

[
    {
        "type": "incoming",
        "idMessage": "9DB14F14A253D33F4A9CD84123456789",
        "timestamp": 1706522263,
        "typeMessage": "textMessage",
        "chatId": "120363153000000000@g.us",
        "textMessage": "Hi",
        "senderId": "70000000012@c.us",
        "senderName": "Rachel",
        "senderContactName": "Rachel 2"
    },
    {
        "type": "outgoing",
        "idMessage": "BAE5143000000000",
        "timestamp": 1706761225,
        "typeMessage": "textMessage",
        "chatId": "70000000012@c.us",
        "textMessage": "Hi",
        "statusMessage": "read",
        "sendByApi": true
    },
    {
        "type": "incoming",
        "idMessage": "EAAE5A5CD000000000",
        "timestamp": 1706601620,
        "typeMessage": "imageMessage",  //"videoMessage"/`documentMessage`/`audioMessage`/`stickerMessage`
        "chatId": "120363153000000000@g.us",
        "downloadUrl": "https://api.green-api.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"
    },
    {
        "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": "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"
    },
    {
        "type": "incoming",
        "idMessage": "3A66D7F0B50000000000",
        "timestamp": 1706675928,
        "typeMessage": "extendedTextMessage",
        "chatId": "70000000012@c.us",
        "textMessage": "Hqhqhhqh\nhttps://greenapi.com",
        "extendedTextMessage": {
            "text": "Hqhqhhqh\nhttps://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
        },
        "senderId": "70000000012@c.us",
        "senderName": "Rachel",
        "senderContactName": "Rachel 2"
    },
    {
        "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": "incoming",
        "idMessage": "3A0493ED90000000000000",
        "timestamp": 1706676447,
        "typeMessage": "pollUpdateMessage",
        "chatId": "70000000012@c.us",
        "pollMessageData": {
            "name": "Choose your favorite color",
            "stanzaId": "460D84E00000000000",
            "votes": [
                {
                    "optionName": "Red",
                    "optionVoters": [
                        "70000000012@c.us"
                    ]
                },
                {
                    "optionName": "Green",
                    "optionVoters": []
                }
            ],
            "multipleAnswers": true
        },
        "senderId": "70000000012@c.us",
        "senderName": "Rachel",
        "senderContactName": "Rachel 2"
    },
    {
        "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
    }
]

GetChatHistory errors#

For a list of errors common to all methods, refer to Common errors section

Request examples#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}"

payload = "{\r\n\t\"chatId\": \"11001234567@c.us\",\r\n\t\"count\": 100\r\n}"
headers = {
  'Content-Type': 'application/json'
}

response = requests.post(url, json=payload)

print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/getChatHistory/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "11001234567@c.us",
    "count": 10
}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
    .append({{apiUrl}})
    .append("/waInstance").append({{idInstance}})
    .append("/getChatHistory/")
    .append({{apiTokenInstance}});

var headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

var jsonBody = "{\"chatId\": \"11001234567@c.us\",\"count\": 10}";

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("/getChatHistory/")
    .append({{apiTokenInstance}});

var response = Unirest.post(requestUrl.toString())
    .header("Content-Type", "application/json")
    .body("{\"chatId\": \"11001234567@c.us\",\"count\": 10}")
    .asString();

System.out.println(response);
Sub GetChatHistory()
    Dim url As String
    Dim RequestBody 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}}/getChatHistory/{{apiTokenInstance}}"

    ' chatId - personal or group chat identifier whose message history you want to receive, count - number of messages to receive, default value 100
    RequestBody = "{""chatId"":""71234567890@c.us"",""count"":10}"

    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