تلقّي إشعارات فورية بشأن تغييرات في خدمات الحساب

يمكنك الاشتراك في إشعارات ACCOUNT_SERVICE_CHANGE لتلقّي تنبيهات في الوقت الفعلي عند إنشاء موارد AccountService أو تعديلها أو حذفها. ويُعدّ ذلك مفيدًا بشكل خاص لمقدّمي الخدمات والأنشطة التجارية التابعة لجهات خارجية التي تدير علاقات خدمة متعددة الحسابات.

يتيح لك الاشتراك في تغييرات خدمة الحساب رصد أي تغييرات مقترَحة أو تمت الموافقة عليها أو تم تعديلها أو إزالتها في خدمة الحساب على الفور، بدون الحاجة إلى طلب البيانات من واجهة برمجة التطبيقات.

قبل البدء، تأكَّد من ضبط معرّف الموارد المنتظم (URI) الخاص بوظيفة الاستدعاء وفقًا للمتطلبات الموضّحة في نظرة عامة على واجهة برمجة التطبيقات الفرعية للإشعارات.

الاشتراك في إشعارات تغييرات خدمة الحساب

للاشتراك في تغييرات خدمة الحساب، أرسِل طلب 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: معرّف الحساب الذي تريد تلقّي إشعارات بشأنه.

الاشتراك في جميع الحسابات المُدارة

يمكن للمورّدين والأنشطة التجارية التي تدير حسابات متعدّدة على Merchant Center الاشتراك في تلقّي إشعارات بشأن تغييرات خدمة الحسابات على جميع الحسابات المُدارة من خلال ضبط ما يلي 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"
}

فك ترميز حمولات تغيير خدمة الحساب

عند حدوث تغيير في خدمة الحساب، يتلقّى معرّف الموارد المنتظم (URI) الخاص بوظيفة الاستدعاء رسالة مشفّرة بترميز 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="}}'

استجابةً لهذا الطلب، يجب أن يعرض معرّف الموارد المنتظم (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"
}