Mit Echtzeitupdates können Sie Ihren Angebotsbestand mit Google synchronisieren. Sie können inkrementelle Updates fast in Echtzeit senden. Unser System fasst die Änderungen aus dem Feed und den Echtzeitupdates zusammen, um Nutzern die neuesten Informationen zu präsentieren.
API-Endpunkte
Verwenden Sie die folgenden REST API-Endpunkte, um Echtzeitupdates zu senden oder zu löschen:
Batch-Push
- Sandbox:
https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush - Produktion:
https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush
Batch-Löschung
- Sandbox:
https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete - Produktion:
https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete
Weitere Informationen zur JSON-Objektdefinition für Angebote finden Sie unter Angebot. Weitere Informationen zu Angebotseigenschaften finden Sie auf der Referenzseite für Angebote.
Bei der API authentifizieren
Informationen zum Herstellen einer Verbindung zur API finden Sie unter Mit der Maps Booking API authentifizieren.
Beschränkungen
Beachten Sie bei der Verwendung der API für Echtzeitupdates die folgenden Einschränkungen:
- Nur protoRecord: Die API ist so konfiguriert, dass nur
protoRecordverwendet wird (nichtdataRecord). - Kontingentlimits: Für diese APIs gilt ein Kontingent von 1.500 Anfragen pro Minute und Partnerkonto. Jede Anfrage ist auf das Senden von 1.000 Datensätzen für das Einfügen oder Löschen begrenzt.
- Einschränkungen bei der Entitätszuordnung: Partner können für jedes Angebot ein Update für eine Entitäts-ID senden. Wenn Sie dasselbe Angebot für mehrere Entitäts-IDs aktualisieren möchten, muss der Partner einen Datensatz pro
entityIdsenden.entityIds müssen pro Datensatz immer im Singular stehen. - Add-on-Angebote: Aufgrund der Einschränkung bei der Entitätszuordnung werden Add-on-Angebote, die
addOnOfferApplicableToAllEntitiessind, für Echtzeitupdates nicht wirklich unterstützt und können auf diese Weise nicht aktualisiert werden (nur über Feeds).
Beispiel
Beispiel für Batch-Updates
Hier sehen Sie ein Beispiel für das Senden eines Echtzeitupdates über 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
Beispiel für Batch-Löschung
Hier sehen Sie ein Beispiel für das Löschen eines Angebots über 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