ReceiveNotification#
השיטה מכוונת לקבלת הודעה נכנסת אחת מתוך תור ההודעות.
שיטת ReceiveNotification ממתינה לקבלת הודעה למשך 5 שניות. קריאת השיטה מסתיימת בתגובה ריקה אם הושג פסק זמן. אם מגיעה הודעה לתור תוך 5 שניות, הקריאה לשיטה הושלמה, והשיטה מחזירה את ההודעה שהתקבלה.
לאחר קבלת ועיבוד הודעה נכנסת, עליך למחוק את ההודעה מהתור. זה מחייב אותך להפעיל את השיטה DeleteNotification. לאחר קריאה לשיטת DeleteNotification, ההודעה תיחשב שהתקבלה ועובדה ותימחק לצמיתות מהתור. לכן, הקריאה הבאה של שיטת ReceiveNotification תחזיר את ההודעה הבאה מהתור בסדר שבו ההודעות מגיעות לתור.
הודעות נכנסות נשמרות בתור למשך 24 שעות.
הודעות נשלחות מהתור פנימה FIFO לְהַזמִין
בַּקָשָׁה#
כדי לקבל את ההודעה הנכנסת הבאה מהתור, עליך לבצע בקשה בכתובת:
לפרמטרים של בקשת apiUrl
, idInstance
ו-apiTokenInstance
, עיין בסעיף לפני שתתחיל.
פרמטרים של בקשת כתובת אתר#
פרמטר | הקלד | חובה | תֵאוּר |
---|---|---|---|
receiveTimeout | מספר שלם | לא | פסק זמן המתנה להודעה, לוקח ערך בין 5 ל-60 שניות (ברירת מחדל 5 שניות) |
תגובה#
פרמטרי תגובה#
פרמטר | הקלד | תֵאוּר |
---|---|---|
receiptId | מספר שלם | מזהה קבלה למחיקת הודעה נכנסת בשיטת DeleteNotification |
גוף | חפץ | הודעה נכנסת בהתאם לפורמט הודעות נכנסות |
גוף לדוגמא תגובה#
{
"receiptId": 1234567,
"body": {
"typeWebhook": "incomingMessageReceived",
"instanceData": {
"idInstance": 1234,
"wid": "11001234567@c.us",
"typeInstance": "whatsapp"
},
"timestamp": 1588091580,
"idMessage": "F7AEC1B7086ECDC7E6E45923F5EDB825",
"senderData": {
"chatId": "79001234568@c.us",
"sender": "79001234568@c.us",
"senderName": "John",
"senderContactName": "John Doe"
},
"messageData":{
"typeMessage":"textMessage",
"textMessageData":{
"textMessage":"I use Green-API to send this message to you!"
}
}
}
}
ReceiveNotification שגיאות#
לרשימה של שגיאות משותפות לכל השיטות, עיין בסעיף שגיאות נפוצות
קוד HTTP | מזהה שגיאה | תֵאוּר |
---|---|---|
400 | Parameter idInstance לא מספר שלם | פרמטר idInstance אינו צוין או מכיל תווים שאינם ספרות |
400 | Parameter apiTokenInstance לא מוגדר | 'apiTokenInstance' לא צוין |
דוגמאות לבקשות#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/receiveNotification/{{apiTokenInstance}}"
payload = {}
headers= {}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
curl --location '{{apiUrl}}/waInstance{{idInstance}}/receiveNotification/{{apiTokenInstance}}'
var restTemplate = new RestTemplate();
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/receiveNotification/")
.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("/receiveNotification/")
.append({{apiTokenInstance}});
var response = Unirest.get(requestUrl.toString())
.header("Content-Type", "application/json")
.asString();
System.out.println(response);
Sub ReceiveNotification()
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}}/receiveNotification/{{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
אתה יכול לראות את הדוגמה של קוד קבלת התראות ב-NodeJS בקובץ ReceiveNotifications