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
CreateBookingno ambiente de simulação com uma taxa de sucesso de 90% ou mais. - 3 solicitações
CreateBookingna 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:
CreateBookingUpdateBooking
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
CreateBookinginclui o agendamento criado. Em alguns casos, o pagamento é processado no fluxo de reserva. Se o mesmoCreateBookingRequestfor recebido uma segunda vez com o mesmoidempotency_token, o mesmoCreateBookingResponseprecisará 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.