Skip to content

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.

  1. 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
      
  2. 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
      
  3. 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
      

ניפוי באגים של 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"}'