Casos de uso
A API Google Maps Booking oferece dois métodos que podem ser usados para recuperar de forma programática o status dos comerciantes individuais em várias integrações da Central de ações ou no inventário de anúncios de serviços locais.
Casos de uso da API Merchant Status:
- Melhore as ferramentas de gestão de relacionamento com o cliente para mostrar aos seus clientes como o inventário deles aparece na plataforma da Central de ações.
- Crie um painel para acompanhar o status do inventário e a correspondência dos seus comerciantes.
- Recupere programaticamente os status correspondentes e disponíveis para reserva dos seus comerciantes e corrija informações incorretas para melhorar a qualidade dos dados.
O que o status do comerciante contém
O MerchantStatus contém as seguintes informações:
- Status do inventário do comerciante: se aplica a comerciantes de agendamento e/ou lista de espera.
- Status de correspondência do comerciante: inclui detalhes sobre a ficha da empresa correspondente
- Somente para anúncios do Google Serviços Locais: provedor de serviços do comerciante correspondente: inclui o ID do cliente e as categorias de serviço.
- Os URLs para demonstrar como o comerciante aparece no Reservar com o Google.
Pesquisar o status de um único comerciante
É possível conferir o status de um único comerciante usando inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/statusConfira um exemplo de código em Python (veja exemplos em mais linguagens aqui):
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')
Exemplo de resposta de 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" } ] }
Recuperar status de comerciantes em massa
É possível recuperar os status de todos os comerciantes ou de um grupo que atenda a determinadas condições de inventário/correspondência usando inventory.partners.merchants.status.list. Por exemplo, você pode fazer esta chamada para receber todos os comerciantes sem correspondência com inventário de reservas válidas com data futura:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHEDExemplo de resposta:
{ "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" }
Essa resposta vai conter 50 MerchantStatus que atendem às condições de filtragem e são ordenados por merchant_id. A resposta também contém um token de página (se não for a última página) para consultar a próxima página.
Observação: as condições de filtragem precisam ser consistentes em todas as páginas.
Práticas recomendadas
Como os status dos comerciantes não mudam com frequência na maioria das vezes, é recomendável armazenar em cache os resultados recuperados e buscá-los periodicamente (por exemplo, a cada poucas horas) com novas consultas. A Central de ações pode limitar suas consultas se o número de solicitações por segundo for muito alto.