O inventário no seu sistema varia ao longo do dia devido a novas reservas. cancelamentos e mudanças de horários dos comerciantes. Atualização em tempo real A API é um mecanismo para notificar o Google sobre essas mudanças no inventário disponibilidade. Também é possível usar atualizações de API em tempo real para notificar o Google sobre mudanças feitas nas reservas atuais.
As atualizações em tempo real não são necessárias se todos os comerciantes usam o recurso de lista de espera.
Feeds e atualizações em tempo real da API
As atualizações em tempo real da API são usadas para notificar o Google sobre mudanças incrementais em disponibilidade de inventário e reservas à medida que elas ocorrem em tempo real. Além disso, a atualizações de API em tempo real, envie feeds de disponibilidade completos diariamente para garantir que o Google tenha o conhecimento mais preciso e atual da disponibilidade ele existe no sistema. Os feeds completos funcionam como um resumo do cenário atual o estado de disponibilidade de inventário no sistema.
Embora as atualizações de API possam ser usadas para atualizar qualquer informação que seja fornecidos por feeds, como informações sobre comerciantes e serviços, normalmente são usados apenas para atualizar as informações de disponibilidade.
APIs de atualização em tempo real necessárias
APIs de atualização em tempo real (RTU, na sigla em inglês) | ||
---|---|---|
BookingNotification | Obrigatório | Envie RTUs BookingNotification sempre que houver Uma mudança na reserva (por exemplo, modificações ou cancelamentos). |
RTU de substituição de disponibilidade | Obrigatório sob certas condições[1] | Envie substituição em lote ou RTUs de substituição única para enviar atualizações à disponibilidade do inventário. As alterações podem levar vários minutos para serem propagadas e aplicadas. |
RTU de comerciante | Opcional | Envie RTUs do comerciante se você quiser fazer mudanças no comerciante informações em tempo real. As alterações podem levar várias horas para serem propagadas e refletir. |
RTU de serviço | Opcional | Envie RTUs de serviço para fazer alterações no serviço informações em tempo real. Um caso de uso comum é quando os preços dos serviços flutuar drasticamente durante o dia, implementar RTUs de serviço recomendado para evitar falhas nos pedidos devido à incompatibilidade de preços. As mudanças podem levar várias horas para se propagar e refletir. |
RTU da API Availability Replace
Usar a API Disponibilidade Replace para fornecer atualizações de disponibilidade no os seguintes casos de uso:
- Um usuário faz uma reserva no seu sistema, portanto, o horário disponível é não mais disponível.
- Um comerciante altera a disponibilidade dele no seu sistema.
- Um usuário faz uma reserva pelo Google, então o horário disponível não é mais disponível.
- Uma reserva feita pelo Google é cancelada para você, por exemplo, diretamente pelo comerciante. Você precisa atualizar o agendamento disponibilidade, porque o horário original está disponível de novo.
- Uma chamada
BatchAvailabilityLookup
do servidor de agendamento é retornada que não corresponda ao inventário real.
Para mais informações, consulte os seguintes recursos:
- Tutorial: como estruturar atualizações em tempo real
- Exemplo de cliente Java para atualizações em tempo real usando chamadas RESTful
- Página de referência da API de atualização de inventário
RTU da API Booking Notification
As APIs Booking Notification notificam o Google sobre
para atualizar os agendamentos. Quando você envia uma atualização sobre cancelamentos,
envie apenas as informações essenciais da solicitação com o
Parâmetro de consulta updateMask
. Exemplo:
Request: PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status Body: {"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}
Como acessar a API
Criar uma conta de serviço
Use a guia Credenciais no Console de APIs do Google para criar uma conta de serviço. Armazene a chave privada no formato JSON em um lugar Ao criar a conta, você tem a opção de definir a função como "Proprietário".
Autenticar as APIs Maps Booking
Depois de criar uma conta de serviço, autentique as seguintes APIs:
- API Google Maps Booking
- API Google Maps Booking (Dev)
Para ver um guia explicativo sobre como fazer isso, consulte o Tutorial Como autenticar com a API Maps Booking.
Usar chamadas RESTful ou fazer o download da biblioteca de cliente
Recomendamos que você faça chamadas RESTful diretamente para a API Maps Booking. com payloads JSON. Para mais informações, consulte a Documentação da API REST.
Você também pode usar bibliotecas de cliente para se conectar à API.
Linguagem | Link de download |
---|---|
Java | Biblioteca de cliente Java. Para mais informações, consulte a Instruções do cliente Java |
Adicional bibliotecas de suporte estão disponíveis para download que lidar com a autorização e outros aspectos das chamadas às APIs do Google. Se necessário, dê uma olhada no destas amostras.
Buscar o documento de descoberta
Para algumas bibliotecas de cliente, como Ruby, é necessário buscar o valor-chave Documento de descoberta da API, que descreve seus métodos e parâmetros.
Use o seguinte comando para buscar o documento de descoberta:
curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'
Para mais informações sobre como acessar a API em Ruby, acesse estes links: Ruby API Client e Biblioteca de autenticação do Ruby.
Fazer chamadas autorizadas para a API
Ao fazer chamadas para a API, consulte
Como se preparar para fazer uma chamada de API autorizada para autorizar seu serviço
com sua chave privada e o seguinte escopo do OAuth:
https://www.googleapis.com/auth/mapsbooking
Cotas da API
As atualizações de API têm uma cota de 1.500 solicitações a cada 60 segundos, ou 25 solicitações. por segundo, em média. Quando uma cota é excedida (o que pode ocorrer quando você não adiciona o número correto do projeto do Google Cloud no Portal do parceiro), o Google responde com o seguinte mensagem de erro:
{ "error": { "code": 429, "message": "Insufficient tokens for quota ...", "status": "RESOURCE_EXHAUSTED", "details": [...] } }
Para lidar com isso, tente fazer a chamada novamente em intervalos exponencialmente maiores até
dará certo. Se você esgotar a cota regularmente
ReplaceServiceAvailability
, trocar para
BatchReplaceServiceAvailabily
para reduzir o número de APIs
chamadas. Com esse método, é possível atualizar vários serviços em uma única API
a chamada.
Endpoints de sandbox e produção
Você pode fazer chamadas para os ambientes de sandbox e de produção através do a API. Verifique se você ativou as duas APIs no projeto do Google Cloud. As duas APIs usam o mesmo escopo, mas têm endpoints diferentes.
Endpoint de produção: https://mapsbooking.googleapis.com/
Endpoint de sandbox: https://partnerdev-mapsbooking.googleapis.com/
Veja a seguir um exemplo em Java de como alternar endpoints:
// This block of code is for OAuth and is the same for prod and sandbox. GoogleCredential .fromStream(new FileInputStream(...)) .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking")) // This block of code sets the endpoint. This is what you'd change to connect to the sandbox. new GoogleMapsBookingAPI.Builder(...) .setApplicationName(...) .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev. .build()