CreateBooking Ready

Para concluir a tarefa de marco CreateBooking Ready, você precisa criar e entregar o método CreateBooking. Esse método é chamado quando um usuário tenta criar um agendamento. Se um agendamento for criado, a resposta vai incluir um booking_id exclusivo para se referir ao agendamento em solicitações ou atualizações futuras.

Requisitos da tarefa CreateBooking

  • 10 solicitações CreateBooking no ambiente de simulação com uma taxa de sucesso de 90% ou mais.
  • 3 solicitações CreateBooking na produção com uma taxa de sucesso de 90% ou mais.

Noções básicas do CreateBooking

Quando um usuário inicia um agendamento, uma solicitação CreateBooking é enviada ao servidor de agendamento do parceiro. A resposta à solicitação indica se o agendamento foi bem-sucedido ou falhou. Em caso de falha, a resposta precisa incluir o erro de lógica de negócios. Por exemplo, o espaço ficou indisponível ou já foi reservado pelo mesmo usuário.

Quando o usuário cria um agendamento, o Google envia o nome, sobrenome, número de telefone e e-mail dele. Para mais informações, consulte a política de correspondência e criação de contas.

Idempotência

A comunicação pela rede nem sempre é confiável, e o Google pode repetir solicitações HTTP se nenhuma resposta for recebida. Por isso, todos os métodos que modificam o estado precisam ser idempotentes:

  • CreateBooking
  • UpdateBooking

Para cada mensagem de solicitação, exceto UpdateBooking, os tokens de idempotência são incluídos para identificar a solicitação de maneira exclusiva. Isso permite distinguir entre uma chamada REST repetida, com a intenção de criar apenas uma solicitação, e duas solicitações separadas. Os IDs de entrada de agendamento de UpdateBooking ajudam a identificá-los de forma exclusiva. Portanto, nenhum token de idempotência é incluído nas solicitações.

Confira alguns exemplos de como os servidores de agendamento lidam com a idempotência:

  • Uma resposta HTTP bem-sucedida CreateBooking inclui o agendamento criado. Em alguns casos, o pagamento é processado no fluxo de reserva. Se o mesmo CreateBookingRequest for recebido uma segunda vez com o mesmo idempotency_token, o mesmo CreateBookingResponse precisará ser retornado. O segundo agendamento não será criado, e o usuário será cobrado apenas uma vez, se aplicável.

O requisito de idempotência se aplica a todos os métodos que modificam o estado.