การค้นหาสถานะผู้ขายผ่าน API

กรณีการใช้งาน

Google Maps Booking API มี 2 วิธีที่ใช้ได้ เพื่อดึงข้อมูลสถานะของผู้ขายแต่ละรายโดยอัตโนมัติสำหรับ การผสานรวม Actions Center ต่างๆ หรือ สินค้าคงคลังของโฆษณาบริการในพื้นที่

กรณีการใช้งาน Merchant Status API

  • ปรับปรุงเครื่องมือการจัดการลูกค้าสัมพันธ์ที่มีอยู่เพื่อแสดงให้ลูกค้าเห็นว่าระบบแสดงข้อมูลสินค้าของลูกค้าบนแพลตฟอร์มศูนย์การดำเนินการอย่างไร
  • สร้างแดชบอร์ดเพื่อติดตามสถานะสินค้าคงคลังและสถานะการจับคู่ของผู้ขาย
  • ดึงข้อมูลสถานะที่ตรงกันและสถานะที่จองได้ของผู้ขายโดยอัตโนมัติ และแก้ไขข้อมูลที่ไม่ถูกต้องเพื่อปรับปรุงคุณภาพของข้อมูล

สถานะผู้ขายมีข้อมูลอะไรบ้าง

MerchantStatus มีข้อมูลต่อไปนี้

  • สถานะสินค้าคงคลังของผู้ขาย: ใช้ได้กับทั้งผู้ขายที่รับจองและ/หรือผู้ขายที่รับลงชื่อในรายการรอ
  • สถานะการจับคู่ผู้ขาย: มีรายละเอียดเกี่ยวกับข้อมูลธุรกิจที่ตรงกัน
  • สำหรับ โฆษณาบริการในพื้นที่ของ Google เท่านั้น) ผู้ให้บริการของ Merchant ที่ตรงกัน ประกอบด้วยรหัสลูกค้าและหมวดหมู่บริการ
  • URL เพื่อแสดงวิธีที่ผู้ขายปรากฏผ่าน Reserve with Google

ค้นหาสถานะของผู้ขายรายเดียว

คุณดูสถานะของผู้ขายรายเดียวได้โดยใช้ inventory.partners.merchants.getStatus ดังนี้

GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status

นี่คือตัวอย่างโค้ด Python (ดูตัวอย่างในภาษาอื่นๆ ได้ที่นี่)

from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account

credentials = service_account.Credentials.from_service_account_file(
    './your_key.json')
scoped_credentials = credentials.with_scopes(
    ['https://www.googleapis.com/auth/mapsbooking'])
authed_session = AuthorizedSession(scoped_credentials)

response = authed_session.get('https://partnerdev-mapsbooking.googleapis.com' +
    '/v1alpha/inventory/partners/123456789/merchants/001/status')

ตัวอย่างการตอบกลับ MerchantStatus มีลักษณะดังนี้

  {
    "name": "partners/123456789/merchants/001/status",
    "merchantName": "Foo Bar Restaurant",
    "inputGeoInfo": {
      "unstructured_address": "123 Foo Bar Street, Mountain View"
    },
    "processingStatus": "COMPLETED",
    "bookingStatus": {
      "hasValidFutureInventory": true
    },
    "waitlistStatus": {
      "hasValidWaitlistService": true
    }
    "geoMatch": {
      "name": "Foo Bar Restaurant",
      "formattedAddress": "123 Foo Bar St, Mountain View, CA 94043",
      "placeId": "ChIAAAAAAAAABBBBBBBB"
    },
    "directUrls": [
      {
        "type": "BOOKING",
        "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa"
      },
      {
        "type": "WAITLIST",
        "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb"
      }
    ]
  }

เรียกข้อมูลสถานะผู้ขายแบบกลุ่ม

คุณสามารถดึงข้อมูลสถานะของผู้ขายทั้งหมดหรือกลุ่มผู้ขาย ที่ตรงตามเงื่อนไขสินค้าคงคลัง/การจับคู่บางอย่างได้โดยใช้ inventory.partners.merchants.status.list เช่น คุณสามารถทำการเรียกนี้เพื่อรับผู้ขายที่ไม่ตรงกันทั้งหมดที่มีสินค้าคงคลังการจองที่ระบุวันที่ในอนาคตที่ถูกต้อง

GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED

ตัวอย่างการตอบกลับจะมีลักษณะดังนี้

  {
    "merchantStatuses": [
      {
        "name": "partners/123456789/merchants/002/status",
        "merchantName": "Bar Foo Restaurant",
        "inputGeoInfo": {
          "unstructured_address": "234 Bar Foo Street, Mountain View"
        },
        "processingStatus": "COMPLETED",
        "bookingStatus": {
          "hasValidFutureInventory": true
        },
        "waitlistStatus": {},
      },
      ...
      {
        "name": "partners/123456789/merchants/080/status",
        "merchantName": "Baz Restaurant",
        "inputGeoInfo": {
          "unstructured_address": "345 Baz Street, Mountain View"
        },
        "processingStatus": "COMPLETED",
        "bookingStatus": {
          "hasValidFutureInventory": true
        },
        "waitlistStatus": {
          "hasValidWaitlistService": true
        },
      },
    ],
    "nextPageToken": "AAABBBB"
  }

การตอบกลับนี้จะมี 50 MerchantStatus ที่ตรงตามเงื่อนไขการกรองและจัดเรียงตาม merchant_id การตอบกลับยังมีโทเค็นหน้าเว็บ (หากไม่ใช่หน้าสุดท้าย) เพื่อค้นหาหน้าถัดไป

โปรดทราบว่าเงื่อนไขการกรองควรสอดคล้องกันในทุกหน้า

แนวทางปฏิบัติแนะนำ

เนื่องจากสถานะผู้ขายมักไม่เปลี่ยนแปลงบ่อยครั้ง จึงขอแนะนำให้แคชผลลัพธ์ที่เรียกข้อมูลมาและเรียกข้อมูลเป็นระยะๆ (เช่น ทุกๆ 2-3 ชั่วโมง) ผ่านการค้นหาใหม่ Actions Center อาจจำกัดอัตราการส่งคำค้นหาของคุณ หากจำนวนคำขอต่อวินาทีสูงเกินไป