Tổng quan về API phụ Thông báo

Bạn có thể sử dụng API phụ Thông báo để nhận thông báo đẩy khi dữ liệu thay đổi trong tài khoản Merchant Center của bạn. Thay vì định kỳ thăm dò API để phát hiện các thay đổi, bạn có thể đăng ký nguồn cấp dữ liệu sự kiện theo thời gian thực được phân phối trực tiếp đến một điểm cuối HTTPS mà bạn định cấu hình.

API phụ Thông báo hỗ trợ thông báo cho:

  • Thay đổi về trạng thái sản phẩm: Nhận thông báo theo thời gian thực khi trạng thái phê duyệt sản phẩm thay đổi (ví dụ: khi một sản phẩm bị từ chối hoặc được phê duyệt) trên bất kỳ tài khoản được liên kết hoặc tài khoản phụ nào của bạn.
  • Thay đổi về dịch vụ tài khoản: Nhận thông báo theo thời gian thực khi một tài nguyên AccountService được tạo, cập nhật hoặc xoá (chẳng hạn như khi mối quan hệ dịch vụ tài khoản được thiết lập, sửa đổi hoặc xoá).

Điều kiện tiên quyết và cách thiết lập URI gọi lại

Để nhận thông báo đẩy, bạn phải cung cấp callBackUri. URI gọi lại của bạn phải đáp ứng các yêu cầu sau:

  • Phải là địa chỉ HTTPS có thể truy cập công khai và có chứng chỉ SSL hợp lệ do một tổ chức phát hành chứng chỉ uy tín ký.
  • Phải chấp nhận các yêu cầu HTTP POST có tiêu đề Content-Type được đặt thành application/json.
  • Phải trả về một trong các mã trạng thái HTTP sau để xác nhận rằng đã nhận được thông báo:

    • 102
    • 200
    • 201
    • 202
    • 204

Bạn có thể sử dụng cùng một URI gọi lại cho nhiều gói thuê bao. Để giảm thiểu tải trên một điểm cuối, hãy sử dụng một URI gọi lại riêng biệt cho mỗi tài khoản nâng cao và loại sự kiện.

Quản lý gói thuê bao

API phụ Thông báo cung cấp các phương thức để tạo, liệt kê, truy xuất, cập nhật và xoá cấu hình thông báo.

Tạo gói thuê bao

Việc tạo gói thuê bao dành riêng cho loại sự kiện mà bạn muốn nhận. Mỗi loại sự kiện yêu cầu các trường cấu hình khác nhau và cung cấp các cấu trúc tải trọng riêng biệt.

Để tìm hiểu cách tạo gói thuê bao và xem các yêu cầu mẫu cho từng loại sự kiện, hãy xem hướng dẫn tương ứng:

Liệt kê các gói thuê bao

Để liệt kê tất cả gói thuê bao thông báo cho một tài khoản, hãy gửi yêu cầu GET đến tập hợp notificationsubscriptions:

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions

Truy xuất gói thuê bao

Để xem thông tin chi tiết về một gói thuê bao cụ thể, hãy sử dụng tên tài nguyên của gói thuê bao đó:

GET https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}

Cập nhật gói thuê bao

Để cập nhật URI gọi lại cho một gói thuê bao hiện có, hãy gửi yêu cầu PATCH kèm theo update_mask chỉ định các trường cần cập nhật:

PATCH https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}?update_mask=callBackUri
{
  "callBackUri": "https://example.com/updated-callback"
}

Xoá gói thuê bao

Để ngừng nhận thông báo, hãy xoá gói thuê bao:

DELETE https://merchantapi.googleapis.com/notifications/v1/accounts/{ACCOUNT_ID}/notificationsubscriptions/{SUBSCRIPTION_ID}

Giải mã thông báo

Khi một sự kiện xảy ra, Google sẽ gửi thông báo đến callBackUri đã đăng ký của bạn. Thông báo đẩy đến trong một phong bì JSON có tải trọng data được mã hoá base64:

{"message":{"data":"{base64_encoded_string}"}}

Giải mã chuỗi dữ liệu để truy cập vào tải trọng sự kiện JSON. Bộ điều khiển Spring Boot mẫu sau đây cho thấy cách nhận và giải mã thông báo đẩy:

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

Các bước tiếp theo

Để định cấu hình gói thuê bao và xử lý tải trọng đã giải mã cho các sự kiện cụ thể, hãy xem: