Para concluir a tarefa do marco CreateBooking
Pronto, você precisa criar e entregar o método CreateBooking
. Esse método é chamado quando um usuário
tenta criar uma reserva. Se uma reserva for criada, a resposta vai incluir um booking_id
exclusivo para se referir à reserva em solicitações ou atualizações futuras.
Requisitos da tarefa CreateBooking
- 10 respostas
CreateBooking
bem-sucedidas com uma taxa de erro inferior a 10%.
Conceitos básicos do CreateBooking
Quando um usuário inicia uma reserva, uma solicitação CreateBooking
é enviada ao servidor de reservas do parceiro. A resposta à solicitação indica uma reserva
bem-sucedida ou uma falha. Se houver uma falha no agendamento, a resposta precisará 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 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. Assim, é possível distinguir entre uma chamada REST repetida, com a intenção de criar apenas uma solicitação, e duas solicitações separadas. Os respectivos IDs de entrada de agendamento do 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
CreateBooking
bem-sucedida inclui o agendamento criado. Em alguns casos, o pagamento é processado como parte do fluxo de reserva. Se o mesmoCreateBookingRequest
for recebido uma segunda vez com o mesmoidempotency_token
, o mesmoCreateBookingResponse
precisará ser retornado. Um segundo agendamento não será criado, e o usuário será cobrado apenas uma vez, se aplicável.CreateBooking
O requisito de idempotência se aplica a todos os métodos que modificam o estado.