קבלת התראות פוש על שינויים בשירותים בחשבון

אתם יכולים להירשם לקבלת התראות מ-ACCOUNT_SERVICE_CHANGE כדי לקבל התראות בזמן אמת כשמשאבי AccountService נוצרים, מתעדכנים או נמחקים. הדוחות האלה שימושיים במיוחד לספקי צד שלישי ולעסקים שמנהלים קשרי שירות עם כמה חשבונות.

הרשמה לשינויים בשירותי החשבון מאפשרת לכם לזהות באופן מיידי מתי מוצע, מאושר, מתעדכן או מוסר שירות חשבון, בלי לבצע סקר ב-API.

לפני שמתחילים, צריך לוודא שכתובת ה-URI של הקריאה החוזרת מוגדרת בהתאם לדרישות שמתוארות בסקירה הכללית של Notifications sub-API.

הרשמה לעדכונים על שינויים בשירותים בחשבון

כדי להירשם לעדכונים על שינויים בשירות החשבון, שולחים בקשת POST למשאב notificationsubscriptions עם הערך registeredEvent שמוגדר ל-ACCOUNT_SERVICE_CHANGE.

הרשמה לחשבון יעד ספציפי

בדוגמה הבאה מוצגת בקשת הרשמה לשינויים בשירות החשבון של חשבון של מוכר/ת ספציפי:

POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "targetAccount": "accounts/{TARGETACCOUNT_ID}",
  "callBackUri": "https://example.com/callback"
}

מחליפים את מה שכתוב בשדות הבאים:

  • ACCOUNT_ID: המזהה של החשבון שמשויך למנוי ומקבל התראות.
  • TARGETACCOUNT_ID: המזהה של החשבון שרוצים לקבל לגביו התראות.

הרשמה לכל החשבונות המנוהלים

ספקי שירותים ועסקים שמנהלים כמה חשבונות מוֹכרים יכולים להירשם לקבלת עדכונים על שינויים בשירותי החשבון בכל החשבונות המנוהלים שלהם. כדי לעשות זאת, הם צריכים להגדיר את האפשרות allManagedAccounts: true:

POST https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/
{
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "allManagedAccounts": true,
  "callBackUri": "https://example.com/callback"
}

קריאות מוצלחות מחזירות מזהה name של המינוי, כולל מזהה מינוי ייחודי:

{
  "name":"accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}",
  "registeredEvent": "ACCOUNT_SERVICE_CHANGE",
  "allManagedAccounts": true,
  "callBackUri": "https://example.com/callback"
}

פענוח של מטען ייעודי (payload) של שינוי בחשבון שירות

כשמתרחש שינוי בשירות החשבון, ה-URI של הקריאה החוזרת מקבל הודעה עם קידוד base64. אחרי הפענוח, המטען הייעודי (payload) תואם לפורמט ResourceChangeMessage:

{
  "account": "accounts/{TARGETACCOUNT_ID}",
  "managingAccount": "accounts/{ACCOUNT_ID}",
  "resourceType": "ACCOUNT_SERVICE",
  "resource": "accounts/{TARGETACCOUNT_ID}/services/{SERVICE_ID}",
  "operation": "CREATE",
  "eventTime": "2026-08-25T10:00:00Z"
}

שדות וכללים של מטען ייעודי (payload)

  • account: חשבון היעד שבבעלותו ישות השירות שהשתנתה (accounts/{merchant_id}).
  • managingAccount: החשבון שמנהל את החשבון של המוכר (accounts/{service_provider_id}).
  • resourceType: סוג המשאב שהשתנה (ACCOUNT_SERVICE).
  • resource: שם המשאב המלא של שירות החשבון (לדוגמה, accounts/{account}/services/{service}).
  • operation: הפעולה שבוצעה במשאב:
    • CREATE: נוצר קשר חדש בין חשבון לשירות.
    • UPDATE: שינוי בהגדרות שירות או בהרשאות של חשבון קיים.
    • DELETE: הוסר קשר שירות בין חשבונות.
  • eventTime: חותמת הזמן שבה האירוע נוצר. כדאי להשתמש בחותמת הזמן הזו כדי לוודא שהאירועים מסודרים בצורה נכונה.

בדיקת התראות על שינויים בשירות בחשבון בדיקה

כדי לבדוק אם נקודת הקצה של הקריאה החוזרת מקבלת, מאשרת ומפענחת נכון את ההודעות על שינויים בשירות החשבון, אפשר להשתמש בבקשת הדוגמה הבאה:

curl --request POST \
'https://{YOUR_CALLBACK_URI}' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--data '{"message":{"data": "ewogICJhY2NvdW50IjogImFjY291bnRzLzEyMzQiLAogICJtYW5hZ2luZ0FjY291bnQiOiAiYWNjb3VudHMvNTY3OCIsCiAgInJlc291cmNlVHlwZSI6ICJBQ0NPVU5UX1NFUlZJQ0UiLAogICJyZXNvdXJjZSI6ICJhY2NvdW50cy8xMjM0L3NlcnZpY2VzLzEyMyIsCiAgIm9wZXJhdGlvbiI6ICJDUkVBVEUiLAogICJldmVudFRpbWUiOiAiMjAyNi0wOC0yNVQxMDowMDowMFoiCn0="}}'

בתגובה לקריאה הזו, ה-URI של הקריאה החוזרת צריך להחזיר קוד סטטוס HTTP מקובל (כמו 200 OK). התוכן של ההודעה שפוענחה הוא:

{
  "account": "accounts/1234",
  "managingAccount": "accounts/5678",
  "resourceType": "ACCOUNT_SERVICE",
  "resource": "accounts/1234/services/123",
  "operation": "CREATE",
  "eventTime": "2026-08-25T10:00:00Z"
}