Untuk menyelesaikan tugas pencapaian CreateBooking
Siap, Anda harus berhasil
membangun dan mengirimkan metode CreateBooking
. Metode ini dipanggil saat pengguna
berupaya membuat pemesanan. Jika pemesanan berhasil dibuat, respons
akan menyertakan booking_id
unik untuk merujuk ke pemesanan untuk permintaan atau
pembaruan mendatang.
Persyaratan tugas CreateBooking
- 10 respons
CreateBooking
yang berhasil dengan tingkat error kurang dari 10%.
Dasar-dasar CreateBooking
Saat pengguna memulai pemesanan, permintaan CreateBooking
akan dikirim ke
Server Pemesanan partner. Respons terhadap permintaan menunjukkan apakah pemesanan berhasil atau gagal. Jika terjadi kegagalan pemesanan, respons harus menyertakan error logika bisnis untuk kegagalan. Misalnya, slot menjadi tidak tersedia atau slot telah dipesan oleh pengguna yang sama.
Saat pengguna membuat pemesanan, Google mengirimkan nama depan, nama belakang, nomor telepon, dan email pengguna. Untuk mengetahui informasi selengkapnya, lihat Kebijakan pencocokan dan pembuatan akun.
Idempotensi
Komunikasi melalui jaringan tidak selalu dapat diandalkan, dan Google dapat mencoba lagi permintaan HTTP jika tidak ada respons yang diterima. Karena alasan ini, semua metode yang mengubah status harus bersifat idempotent:
CreateBooking
UpdateBooking
Untuk setiap pesan permintaan, kecuali UpdateBooking
, token idempotency disertakan untuk mengidentifikasi permintaan secara unik. Hal ini memungkinkan Anda membedakan antara panggilan REST yang dicoba lagi, dengan maksud untuk membuat satu permintaan dan dua permintaan terpisah. ID entri pemesanan UpdateBooking
masing-masing membantu mengidentifikasi UpdateBooking
secara unik, sehingga tidak ada token idempotency yang disertakan dalam permintaannya.
Berikut adalah beberapa contoh bagaimana Server Pemesanan menangani idempotency:
Respons HTTP
CreateBooking
yang berhasil mencakup pemesanan yang dibuat. Dalam beberapa kasus, pembayaran diproses sebagai bagian dari alur pemesanan. JikaCreateBookingRequest
yang sama diterima untuk kedua kalinya denganidempotency_token
yang sama,CreateBookingResponse
yang sama harus ditampilkan. Tidak ada pemesanan kedua yang dibuat, dan pengguna ditagih hanya sekali, jika sesuai.
Persyaratan idempotency berlaku untuk semua metode yang mengubah status.