Anlık Güncellemeler

Anlık güncellemeler, teklif envanterinizi Google ile senkronize tutmanıza olanak tanır. Artımlı güncellemeleri neredeyse anlık olarak gönderebilirsiniz. Sistemimiz, kullanıcılara en son bilgileri göstermek için Feed + RTU'daki değişiklikleri derler.

API Uç Noktaları

Anlık güncellemeleri göndermek veya silmek için aşağıdaki REST API uç noktalarını kullanın:

Toplu gönderme

  • Korumalı alan: https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush
  • Üretim: https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush

Toplu silme

  • Korumalı alan: https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete
  • Üretim: https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete

Fırsat JSON nesnesi tanımı hakkında daha fazla bilgi için Fırsat konusuna bakın. Fırsat özellikleriyle ilgili daha fazla bilgi için Fırsat referans sayfasını ziyaret edin.

API'de kimlik doğrulama

API'ye bağlanmak için Authenticate with Mapsbooking API (Mapsbooking API ile kimlik doğrulama) başlıklı makaleyi inceleyin.

Sınırlamalar

Anlık güncellemeler API'sini kullanırken aşağıdaki sınırlamaları göz önünde bulundurun:

  • protoRecord Only: API, yalnızca protoRecord kullanacak şekilde yapılandırılmıştır (dataRecord değil).
  • Kota Sınırları: Bu API'lerin iş ortağı hesabı başına dakikada 1.500 istek kotası vardır. Her istek, ekleme veya silme için 1.000 kayıt göndermekle sınırlıdır.
  • Varlık Eşleme Kısıtlamaları: İş ortakları, her teklif için 1 varlık kimliğiyle ilgili güncelleme gönderebilir. Aynı teklifi birden fazla öğe kimliğinde güncellemek istiyorsanız iş ortağı entityId başına 1 kayıt göndermelidir. entityId'ler her zaman tekil olmalıdır.
  • Ek teklifler: Tüzel kişi eşleme kısıtlaması nedeniyle addOnOfferApplicableToAllEntities olan ek teklifler, RTU güncellemesi için tam olarak desteklenmez ve bu şekilde (yalnızca feed'ler aracılığıyla) güncellenemez.

Örnek

Toplu Güncelleme Örneği

curl aracılığıyla gerçek zamanlı güncelleme gönderme örneğini aşağıda bulabilirsiniz:

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

Toplu Silme Örneği

curl aracılığıyla teklif silme örneğini aşağıda görebilirsiniz:

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