بهروزرسانیهای آنی به شما این امکان را میدهد که موجودی پیشنهادات خود را با گوگل همگامسازی کنید. میتوانید بهروزرسانیهای تدریجی را تقریباً به صورت آنی ارائه دهید. سیستم ما تغییرات را از Feed + RTU جمعآوری میکند تا جدیدترین اطلاعات را به کاربران نمایش دهد.
نقاط پایانی API
برای ارسال یا حذف بهروزرسانیهای بلادرنگ، از نقاط پایانی REST API زیر استفاده کنید:
فشار دستهای
- سندباکس:
https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush - تولید:
https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchPush
حذف دستهای
- سندباکس:
https://partnerdev-mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete - تولید:
https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partner_id}/feeds/google.offer/record:batchDelete
برای اطلاعات بیشتر در مورد تعریف شیء JSON مربوط به Offer، به Offer مراجعه کنید. برای جزئیات بیشتر در مورد ویژگیهای offer، به صفحه مرجع Offer مراجعه کنید.
نحوه احراز هویت در API
برای اتصال به API، به بخش «احراز هویت با API Mapsbooking» مراجعه کنید.
محدودیتها
هنگام استفاده از API بهروزرسانیهای بلادرنگ، محدودیتهای زیر را در نظر داشته باشید:
- فقط protoRecord : این API طوری پیکربندی شده است که فقط
protoRecordاستفاده کند (نهdataRecord). - محدودیتهای سهمیه : این APIها سهمیهای معادل ۱۵۰۰ درخواست در دقیقه برای هر حساب کاربری همکار دارند. هر درخواست به ارسال ۱۰۰۰ رکورد برای افزودن یا حذف محدود میشود.
- محدودیتهای نگاشت موجودیت : برای هر پیشنهاد، شرکا میتوانند برای ۱ شناسه موجودیت بهروزرسانی ارسال کنند. اگر میخواهید همان پیشنهاد را برای چندین شناسه موجودیت بهروزرسانی کنید، شریک باید ۱ رکورد برای هر
entityIdارسال کند.entityIdها همیشه باید برای هر رکورد مفرد باشند. - پیشنهادات افزونه : به دلیل محدودیت نگاشت موجودیت، پیشنهادات افزونهای که
addOnOfferApplicableToAllEntitiesهستند، واقعاً برای بهروزرسانی RTU پشتیبانی نمیشوند و نمیتوانند از این طریق بهروزرسانی شوند (فقط از طریق فیدها).
مثال
مثال بهروزرسانیهای دستهای
در اینجا مثالی از ارسال بهروزرسانی بلادرنگ از طریق 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
مثال حذف دستهای
در اینجا مثالی از حذف یک پیشنهاد از طریق 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