Update Real Time

Pembaruan real time memungkinkan Anda menyinkronkan inventaris penawaran dengan Google. Anda dapat mengirimkan update inkremental hampir secara real-time. Sistem kami akan mengompilasi perubahan dari Feed + RTU untuk menampilkan informasi terbaru kepada pengguna.

Endpoint API

Untuk mengirim atau menghapus pembaruan real-time, gunakan endpoint REST API berikut:

Batch Push

  • Sandbox: https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush
  • Produksi: https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush

Penghapusan Batch

  • Sandbox: https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete
  • Produksi: https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete

Untuk mengetahui informasi selengkapnya tentang definisi objek JSON Penawaran, lihat Penawaran. Untuk mengetahui detail selengkapnya tentang properti penawaran, buka Halaman referensi penawaran.

Cara melakukan autentikasi ke API

Untuk terhubung ke API, lihat Mengautentikasi dengan Maps Booking API.

Batasan

Saat menggunakan API update real-time, perhatikan batasan berikut:

  • protoRecord Only: API dikonfigurasi untuk hanya menggunakan protoRecord (bukan dataRecord).
  • Batas Kuota: API ini memiliki kuota 1.500 permintaan per menit per akun partner. Setiap permintaan dibatasi hingga 1.000 data untuk operasi upsert atau penghapusan.
  • Batasan Pemetaan Entitas: Untuk setiap penawaran, partner dapat mengirimkan pembaruan untuk 1 ID entitas. Jika Anda ingin memperbarui penawaran yang sama di beberapa ID entitas, partner harus mengirimkan 1 rekaman per entityId. entityId harus selalu tunggal per data.
  • Penawaran Add-on: Karena batasan pemetaan entitas, penawaran add-on yang addOnOfferApplicableToAllEntities tidak benar-benar didukung untuk update RTU dan tidak dapat diperbarui dengan cara ini (hanya melalui feed).

Contoh

Contoh Pembaruan Batch

Berikut contoh mengirim update real-time melalui curl:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token --impersonate-service-account=test@myproject.gserviceaccount.com --scopes=https://www.googleapis.com/auth/mapsbooking)" \
  -H "Content-Type: application/json" \
  -d '{
  "records": [
    {
      "generationTimestamp": {
        "seconds": 100
      },
      "protoRecord": {
        "@type": "type.googleapis.com/madden.ingestion.offer.Offer",
        "offerId": "1",
        "entityIds": [
          "1234567890"
        ],
        "addOnOfferApplicableToAllEntities": false,
        "offerSource": "OFFER_SOURCE_AGGREGATOR",
        "actionType": "ACTION_TYPE_FOOD_DELIVERY",
        "offerModes": [
          "OFFER_MODE_WALK_IN"
        ],
        "offerCategory": "OFFER_CATEGORY_BASE_OFFER",
        "tags": [
          "OFFER_TAG_NEW_YEAR_SPECIAL"
        ],
        "offerDetails": {
          "offerDisplayText": "FLAT 10% off",
          "offerSummaryText": "MONDAY TO FRIDAY",
          "discountPercent": 10
        },
        "offerRestrictions": {
          "combinableWithOtherOffers": true,
          "inclusions": [
            {
              "description": "complementary drink"
            },
            {
              "description": " starters"
            }
          ],
          "exclusions": [
            {
              "description": "taxes and Tips"
            }
          ]
        },
        "validityPeriods": [
          {
            "timeOfDay": {
              "timeWindows": [
                {
                  "openTime": {
                    "hours": 10
                  },
                  "closeTime": {
                    "hours": 20
                  }
                }
              ]
            },
            "validPeriod": {
              "validFromTime": {
                "seconds": 10
              }
            }
          }
        ],
        "offerUrl": "https://www.google.com/offer"
      }
    }
  ]
}' \
  https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/20000123/feeds/google.offer/record:batchPush

Contoh Penghapusan Batch

Berikut adalah contoh penghapusan penawaran melalui curl:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token --impersonate-service-account=test@myproject.gserviceaccount.com --scopes=https://www.googleapis.com/auth/mapsbooking)" \
  -H "Content-Type: application/json" \
  -d '{
  "records": [
    {
      "deleteTime": {
        "seconds": 150
      },
      "protoRecord": {
        "@type": "type.googleapis.com/madden.ingestion.offer.Offer",
        "offerId": "1",
        "entityIds": [
          "1234567890"
        ]
      }
    }
  ]
}' \
  https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/20000123/feeds/google.offer/record:batchDelete