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

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

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

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

खाते की सेवा में होने वाले बदलावों की सूचनाएं पाने के लिए सदस्यता लेना

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