Per completare l'attività CreateBooking
Ready milestone, devi creare e distribuire correttamente il metodo CreateBooking
. Questo metodo viene chiamato quando un utente
tenta di creare una prenotazione. Se viene creata una prenotazione riuscita, la risposta
include un booking_id
univoco per fare riferimento alla prenotazione per richieste o
aggiornamenti futuri.
Requisiti dell'attività CreateBooking
- 10 risposte
CreateBooking
riuscite con un tasso di errore inferiore al 10%.
Nozioni di base su CreateBooking
Quando un utente avvia una prenotazione, viene inviata una richiesta CreateBooking
al
server di prenotazione del partner. La risposta alla richiesta indica una
prenotazione riuscita o non riuscita. Se si verifica un errore di prenotazione, la
risposta deve includere l'errore di logica di business. Ad esempio, lo
slot non è più disponibile o è già stato prenotato dallo stesso
utente.
Quando un utente crea una prenotazione, Google ti invia il nome, il cognome, il numero di telefono e l'indirizzo email dell'utente. Per ulteriori informazioni, consulta le norme sulla corrispondenza e la creazione degli account.
Idempotenza
La comunicazione sulla rete non è sempre affidabile e Google può riprovare a inviare richieste HTTP se non riceve risposta. Per questo motivo, tutti i metodi che modificano lo stato devono essere idempotenti:
CreateBooking
UpdateBooking
Per ogni messaggio di richiesta, ad eccezione di UpdateBooking
, vengono inclusi token di idempotenza per identificare in modo univoco la richiesta. In questo modo puoi distinguere tra un
tentativo di chiamata REST, con l'intenzione di creare una singola richiesta e due richieste
separate. I rispettivi ID voce di prenotazione di UpdateBooking
aiutano a
identificarli in modo univoco, quindi nelle richieste non è incluso alcun token di idempotenza.
Di seguito sono riportati alcuni esempi di come i server di prenotazione gestiscono l'idempotenza:
Una risposta HTTP
CreateBooking
riuscita include la prenotazione creata. In alcuni casi, il pagamento viene elaborato nell'ambito del flusso di prenotazione. Se lo stessoCreateBookingRequest
viene ricevuto una seconda volta con lo stessoidempotency_token
, deve essere restituito lo stessoCreateBookingResponse
. Non viene creata una seconda prenotazione e all'utente viene addebitato l'importo esattamente una volta, se applicabile.
Il requisito di idempotenza si applica a tutti i metodi che modificano lo stato.