Receive webhooks via Webhook Endpoint#
טכנולוגיית Webhook Endpoint מאפשרת לך לקבל webhooks נכנס ישירות לשרת שלך. המשמעות היא ששרת ה-API של Green יבצע קריאה לשיטה שפורסמה בצד השרת שלך. היתרון של טכנולוגיה זו הוא הקבלה המהירה ביותר האפשרית של webhooks נכנסות וקיבולת גבוהה, מוגבלת רק על ידי קצב העיבוד של webhooks בצד השרת שלך. החסרונות כוללים את מורכבות היישום.
שרת ה-API של Green עושה ניסיונות לספק webhooks במרווח של דקה אחת. לכן, הגדר את השרת שלך כך שהוא תמיד זמין לעיבוד webhooks נכנסים, או לשימוש Receive webhooks via HTTP API טֶכנוֹלוֹגִיָה. משלוח ה-webhooks הנכנס מובטח תוך 24 שעות.
הדרכה וידאו#
הגדרת שרת#
כדי לקבל webhooks נכנסים באמצעות טכנולוגיית Webhook Endpoint, תצטרך לבצע את השלבים הבאים:
- לפרסם את כתובת ה-IP באינטרנט
- ליישם את ההיגיון לעיבוד webhooks נכנס לכתובת ה-IP שצוינה
- אם נדרש עבור השרת, הגדר את ה-Webhook URL Token
כתובת IP ציבורית#
כדי לקבל webhooks נכנסות, נדרשת כתובת IP ציבורית (נקודת קצה), שתהיה נגישה מהאינטרנט. לפיכך, שרת ה-API של Green יוכל לבצע קריאה לשרת שלך בכתובת שצוינה ולשדר חיבור אינטרנט נכנס.
כתובות ה-IP הציבוריות שלנו שמהן שלחנו webhooks#
אתה יכול לציין את כתובת ה-IP שלהלן שממנה מתקבלים webhooks מאיתנו, בהגדרות האבטחה של השרת שלך:
46.101.109.139
51.250.12.167
51.250.84.44
51.250.95.149
89.169.137.216
158.160.49.84
165.22.93.202
167.172.162.71
עיבוד webhooks נכנס#
לאחר קבלת שיחה נכנסת לכתובת ה-IP של השרת שלך, תצטרך לעבד את ה-webhook שהתקבל. אתה יכול לראות את הדוגמה של קוד עיבוד webhook נכנס NodeJS ב קוֹבֶץ
הגדרת מופע#
לפני קבלת webhooks נכנסות, עליך להגדיר את המופע שלך. ניתן לבצע הגדרות מופע בתוכנה באמצעות SetSettings שיטה, או online בממשק המסוף.
הגדרה לפי SetSettings שִׁיטָה#
כדי להגדיר קבלת webhooks נכנסות באמצעות טכנולוגיית Webhook Endpoint, עליך לציין את כתובת ה-IP שלך או שם הדומיין שלך כפרמטר webhookUrl
, ובמידת הצורך webhookUrlToken
כדי לגשת לשרת שלך. לְדוּגמָה:
https://84.211.100.201:3000/green-api/webhook/
כמו כן, נדרש לציין אילו סוגי webhooks אתה צריך לקבל. כדי לאפשר webhooks נכנסות לפי סוג, כמו גם לציין פרמטרים של webhookUrl
וwebhookUrlToken
, השתמש SetSettings שִׁיטָה.
דוגמה של SetSettings גוף בקשת השיטה#
{
"webhookUrl": "https://84.211.100.201:3000/green-api/webhook/",
"webhookUrlToken": "dscnsdiuafkascndjhsalbcvatsvcbasn23rfregvfdg54tds",
"outgoingWebhook": "yes",
"stateWebhook": "yes",
"incomingWebhook": "yes",
"deviceWebhook": "no"
}
הגדרה בקונסולה#
אתה יכול גם להגדיר לקבלת webhooks נכנס באינטרנט. כדי לעשות זאת, עבור אל console ובחר את מופע המשתמש הנדרש. אם המופע מורשה, ההגדרות לקבלת webhooks נכנסות יוצגו, ראה איור. ציין את webhookUrl
פרמטר, כמו גם המתגים לפי סוגי webhooks, ואם אתה צריך הרשאה בשרת webhook שלך, ציין Webhook URL Token. אם המופע אינו מורשה והגדרות webhooks אינן מוצגות, עיין ב לפני שמתחילים סָעִיף.
Authorization
If the WebhookURLToken
parameter is not empty, our server will send a request to your server with an authorization header Authorization
.
-
If the Basic authorization type is used, the header will contain
Basic <token>
;- When using Basic authorization, you need to pass a string like this to the
webhookUrlToken
field:Basic AuthToken
- When using Basic authorization, you need to pass a string like this to the
-
If the Bearer authorization type is used, the header will contain
Bearer <token>
.- When using Bearer authorization, you need to pass a string like this to the
webhookUrlToken
field:Bearer AuthToken
- When using Bearer authorization, you need to pass a string like this to the
-
If the authorization type is not specified, the default header will be
Bearer <token>
.- When the authorization type is not specified, you need to pass a string like this to the
webhookUrlToken
field:Bearer AuthToken
- When the authorization type is not specified, you need to pass a string like this to the
ניפוי באגים של webhooks נכנסים#
אתה יכול להשתמש בכל שירות חינמי באינטרנט כדי לנפות באגים ב-webhooks נכנסים, למשל, Webhook.Site שֵׁרוּת. השירות מנפיק כתובת ייחודית (URL), אשר נדרשת set בתור הפרמטר webhookUrl
.
בתור הפרמטר webhookUrl
. פורמט webhooks נכנס סָעִיף.
דוגמה לבקשת Http שנשלחת על ידי green-api:
curl --request POST 'your-webhook-url-address' \
--header 'Content-Type: application/json; charset=utf-8' \
--data-raw '{"typeWebhook":"statusInstanceChanged","instanceData":{"idInstance":000001,"wid":"7123456789@c.us","typeInstance":"whatsapp"},"timestamp":1654553712,"statusInstance":"online"}'