Для выполнения задачи этапа CreateBooking Ready» необходимо успешно создать и реализовать метод CreateBooking . Этот метод вызывается, когда пользователь пытается создать бронирование. Если бронирование успешно создано, ответ будет содержать уникальный booking_id , который будет использоваться для ссылок на бронирование в будущих запросах или обновлениях.
Требования к задаче CreateBooking
- 10 запросов
CreateBookingв тестовой среде с вероятностью успеха 90% и выше. - В рабочей среде выполнено 3 запроса
CreateBookingс вероятностью успеха 90% и выше.
Основы CreateBooking
Когда пользователь инициирует бронирование, на сервер бронирования партнера отправляется запрос CreateBooking . Ответ на запрос указывает либо на успешное бронирование, либо на неудачное. В случае неудачного бронирования ответ должен содержать описание ошибки бизнес-логики. Например, слот стал недоступен или слот уже забронирован тем же пользователем.
Когда пользователь создает бронирование, Google отправляет вам имя, фамилию, номер телефона и адрес электронной почты пользователя. Для получения дополнительной информации см. Политику сопоставления и создания учетных записей .
Идемпотентность
Сетевая связь не всегда надежна, и Google может повторять HTTP-запросы, если не получает ответа. По этой причине все методы, изменяющие состояние, должны быть идемпотентными:
-
CreateBooking -
UpdateBooking
Для каждого запроса, за исключением UpdateBooking , в него включаются токены идемпотентности для уникальной идентификации запроса. Это позволяет различать повторные REST-запросы, цель которых — создать один запрос, и два отдельных запроса. Идентификаторы соответствующих записей бронирования в UpdateBooking помогают однозначно идентифицировать их, поэтому в их запросах токен идемпотентности не включается.
Ниже приведены несколько примеров того, как серверы бронирования обрабатывают идемпотентность:
Успешный HTTP-ответ
CreateBookingвключает созданное бронирование. В некоторых случаях оплата обрабатывается в рамках процесса бронирования. Если тот жеCreateBookingRequestполучен повторно с тем жеidempotency_token, должен быть возвращен тот жеCreateBookingResponse. Второе бронирование не создается, и с пользователя взимается плата ровно один раз, если это применимо.
Требование идемпотентности применяется ко всем методам, изменяющим состояние.