खाते से जुड़ी सेवाओं में बदलाव होने पर पुश नोटिफ़िकेशन पाना

AccountService संसाधनों के बनने, अपडेट होने या मिटने पर, रीयल-टाइम सूचनाएं पाने के लिए, ACCOUNT_SERVICE_CHANGE सूचनाओं की सदस्यता ली जा सकती है. यह सुविधा, तीसरे पक्ष की कंपनियों और एक से ज़्यादा खातों के साथ सेवा से जुड़े संबंध मैनेज करने वाले कारोबारों के लिए खास तौर पर फ़ायदेमंद है.

खाते की सेवा में होने वाले बदलावों की सूचना पाने के लिए सदस्यता लेने पर, आपको तुरंत पता चल जाता है कि खाते की सेवा का सुझाव दिया गया है, उसे मंज़ूरी दी गई है, उसे अपडेट किया गया है या उसे हटा दिया गया है. इसके लिए, आपको एपीआई को पोल करने की ज़रूरत नहीं होती.

शुरू करने से पहले, पक्का करें कि आपका कॉलबैक यूआरआई, सूचनाएं पाने के लिए उपलब्ध सब-एपीआई की खास जानकारी में बताई गई ज़रूरी शर्तों के मुताबिक कॉन्फ़िगर किया गया हो.

खाते से जुड़ी सेवाओं में होने वाले बदलावों के बारे में सूचना पाने के लिए सदस्यता लेना

खाते से जुड़ी सेवा में होने वाले बदलावों की सूचना पाने के लिए, notificationsubscriptions संसाधन को POST अनुरोध भेजें. इसमें 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"
}

खाते से जुड़ी सेवा में बदलाव के पेलोड को डिकोड करना

खाते की सेवा में बदलाव होने पर, आपके कॉलबैक यूआरआई को base64-encoded मैसेज मिलता है. डिकोड करने पर, पेलोड इस 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"
}

पेलोड फ़ील्ड और नियम

  • 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="}}'

इस कॉल के जवाब में, आपके कॉलबैक यूआरआई को स्वीकार किया जा सकने वाला एचटीटीपी स्टेटस कोड (जैसे कि 200 OK) दिखाना चाहिए. डिकोड किए गए मैसेज में यह कॉन्टेंट होता है:

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