계정 서비스 변경사항에 대한 푸시 알림 받기

AccountService 리소스가 생성, 업데이트 또는 삭제될 때 실시간 알림을 받도록 ACCOUNT_SERVICE_CHANGE 알림을 구독할 수 있습니다. 이는 특히 다중 계정 서비스 관계를 관리하는 서드 파티 제공업체와 비즈니스에 유용합니다.

계정 서비스 변경사항을 구독하면 API를 폴링하지 않고도 계정 서비스가 제안, 승인, 업데이트 또는 삭제될 때 즉시 감지할 수 있습니다.

시작하기 전에 콜백 URI가 알림 하위 API 개요에 설명된 요구사항에 따라 구성되어 있는지 확인하세요.

계정 서비스 변경사항 구독

계정 서비스 변경사항을 구독하려면 registeredEventACCOUNT_SERVICE_CHANGE로 설정된 notificationsubscriptions 리소스에 POST 요청을 전송합니다.

특정 타겟 계정 구독

다음 샘플 요청은 특정 판매자 계정의 계정 서비스 변경사항을 구독합니다.

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"
}

호출이 성공하면 고유한 구독 ID를 포함하여 구독의 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"
}