CreateBooking Ready

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 stesso CreateBookingRequest viene ricevuto una seconda volta con lo stesso idempotency_token, deve essere restituito lo stesso CreateBookingResponse. 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.