אתם יכולים להשתמש ב-Notifications sub-API כדי לקבל התראות פוש כשנתונים משתנים בחשבונות Merchant Center שלכם. במקום לבצע סקר תקופתי של ה-API כדי לזהות שינויים, אפשר להירשם לעדכונים של פידים של אירועים בזמן אמת, שמועברים ישירות לנקודת קצה של HTTPS שאתם מגדירים.
ה-API המשני Notifications תומך בהתראות לגבי:
- שינויים בסטטוס המוצר: קבלת התראות בזמן אמת כשסטטוס האישור של מוצר משתנה (לדוגמה, כשמוצר נפסל או מאושר) בכל החשבונות המקושרים או החשבונות המשניים שלכם.
- שינויים בשירותי החשבון:
קבלת התראות בזמן אמת כשמשאב
AccountServiceנוצר, מתעדכן או נמחק (למשל, כשנוצר, משתנה או מוסר קשר של שירות חשבון).
דרישות מוקדמות והגדרה של URI של קריאה חוזרת (callback)
כדי לקבל התראות פוש, צריך לספק callBackUri. כתובת ה-URI של הקריאה החוזרת צריכה לעמוד בדרישות הבאות:
- זו צריכה להיות כתובת HTTPS שכולם יכולים לגשת אליה, עם אישור SSL תקף שחתום על ידי רשות אישורים מוכרת.
- חובה לאשר בקשות HTTP
POSTעם הכותרתContent-Typeשמוגדרת ל-application/json. השרת צריך להחזיר אחד מקודי הסטטוס הבאים של HTTP כדי לאשר שההתראה התקבלה:
102200201202204
אפשר להשתמש באותו URI של קריאה חוזרת לכמה מינויים. כדי לצמצם את העומס על נקודת קצה אחת, צריך להשתמש ב-URI ייחודי של קריאה חוזרת לכל חשבון מתקדם ולכל סוג אירוע.
ניהול מינויים
ה-API המשני Notifications מספק שיטות ליצירה, להצגה ברשימה, לאחזור, לעדכון ולמחיקה של הגדרות התראות.
יצירת מינוי
יצירת מינוי היא ספציפית לסוג האירוע שרוצים לקבל. כל סוג אירוע דורש שדות הגדרה שונים ומספק מבני מטען ייחודיים.
כדי ללמוד איך ליצור מינויים ולראות בקשות לדוגמה לכל סוג אירוע, אפשר לעיין במדריכים המתאימים:
List subscriptions
כדי להציג רשימה של כל המינויים להתראות בחשבון, שולחים בקשת GET לאוסף notificationsubscriptions:
GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions
אחזור מינוי
כדי לקבל פרטים על מינוי ספציפי, משתמשים בשם המשאב של המינוי:
GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}
עדכון מינוי
כדי לעדכן את כתובת ה-URI של הקריאה החוזרת של מינוי קיים, שולחים בקשת PATCH עם update_mask שמציין את השדות לעדכון:
PATCH https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}?update_mask=callBackUri
{
"callBackUri": "https://example.com/updated-callback"
}
מחיקת מינוי
כדי להפסיק לקבל התראות, צריך למחוק את המינוי:
DELETE https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}
פענוח ההתראות
כשמתרחש אירוע, Google שולחת התראה לcallBackUri הרשום. ההתראה מגיעה במעטפת JSON עם מטען ייעודי (payload) data בקידוד base64:
{"message":{"data":"{base64_encoded_string}"}}
מפענחים את מחרוזת הנתונים כדי לגשת למטען הייעודי (payload) של אירוע ה-JSON. בדוגמה הבאה של בקר Spring Boot מוצג איך לקבל ולפענח התראות פוש:
@RestController
public class ExampleController {
@RequestMapping(value = "/push",
method = RequestMethod.POST,
consumes = {"application/json"},
produces = {"text/plain"})
@ResponseStatus(HttpStatus.OK)
public void handleNotification(@RequestBody String message) {
JSONObject jsonObject = new JSONObject(message);
JSONObject jsonMessage = jsonObject.getJSONObject("message");
String encodedData = jsonMessage.getString("data");
byte[] decodedBytes = Base64.getDecoder().decode(encodedData);
String decodedPayload = new String(decodedBytes);
// Process decodedPayload according to the registered event type
}
}
השלבים הבאים
כדי להגדיר מינויים ולטפל במטענים ייעודיים (payloads) מפוענחים לאירועים ספציפיים, אפשר לעיין במאמרים הבאים:
- קבלת התראות פוש על שינויים בסטטוס המוצר:
במאמר הזה מוסבר איך להירשם לעדכונים על אישור או פסילה של מוצרים ואיך לנתח את מטען הייעודי (payload) של
ProductStatusChangeMessage. - קבלת התראות פוש על שינויים בשירותי החשבון:
כאן מוסבר איך להירשם לעדכונים על הקשר בין החשבונות ולנתח את מטען הנתונים
ResourceChangeMessage.