Ringkasan ini merangkum alur Pesan dengan Google dan cara aplikasi berinteraksi dengan layanan web pemenuhan Anda.
Pengurutan
Antarmuka pengguna Pesan dengan Google menangani semua interaksi dengan pengguna saat mereka menambahkan item menu ke pesanan mereka dan memutuskan pengambilan atau pengantaran, bergantung pada layanan yang ditawarkan oleh restoran. Pengalaman ini didukung oleh entity Restaurant
, Service
, dan Menu
yang ditemukan di feed data Anda.
Langkah selanjutnya adalah tahap validasi keranjang tempat Cart
yang dihasilkan oleh pengguna diproses oleh layanan web Anda.
Tindakan Checkout
Tindakan checkout adalah panggilan pertama yang dilakukan oleh Google ke endpoint layanan web Anda.
Layanan web Anda bertanggung jawab untuk memvalidasi Cart
. Anda harus mengonfirmasi ketersediaan dan harga item, menghitung dan mengembalikan pajak, diskon, dan biaya, serta memvalidasi alamat pengiriman pesanan.
Proses checkout mengikuti urutan ini:
- Layanan Pesan dengan Google mengirimkan
CheckoutRequestMessage
yang berisiCart
ke endpoint layanan web fulfillment Anda. - Layanan web Anda harus memvalidasi item dalam
Cart
berdasarkan harga, ketersediaan, dan penyedia layanan saat ini. Anda kemudian menghitung total harga, yang meliputi diskon, pajak, dan biaya pengiriman. - Endpoint Anda merespons dengan
CheckoutResponseMessage
yang berisiCart
yang tidak dimodifikasi untuk permintaan yang berhasil.FoodErrorExtension
dapat disertakan dalamCheckoutResponseMessage
untuk memunculkan error pemrosesan atau mengusulkan perubahan kecil, jika perlu.
Setelah Cart
divalidasi, pengguna dapat memilih untuk melanjutkan ke tahap pengiriman
alur.
Tindakan Mengirim Pesanan
Tindakan mengirimkan pesanan dipicu saat pengguna melakukan pemesanan. Layanan web Anda harus memvalidasi ulang keranjang, memproses token kartu jika pembayaran online diaktifkan, dan akhirnya memperbarui status pesanan.
Proses pengiriman pesanan mengikuti urutan berikut:
- Layanan Pesan dengan Google mengirimkan
SubmitOrderRequestMessage
yang berisiOrder
ke endpoint layanan web fulfillment Anda. Backend Anda harus melakukan validasiCart
lagi sebelum melanjutkan. Layanan web Anda memproses detail pembayaran yang ditemukan di
Order
, biasanya melakukan tindakan berikut:- Lakukan verifikasi token, penipuan, dan pemeriksaan kelayakan lainnya.
- Otorisasi dan, secara opsional, menagih kartu.
Endpoint Anda merespons dengan
SubmitOrderResponseMessage
yang berisiOrderUpdate
dengan statusCREATED
("Status pesanan" pembelian),CONFIRMED
("Status&diterima; status pembelian), atauREJECTED
("Ditolak&status pembelian).
Dengan pemesanan, pengguna berharap menerima pembaruan status pesanan dari Anda dan antarmuka pengguna Pesan dengan Google. Anda harus mengirim email konfirmasi pesanan kepada pengguna. Selain itu, Anda menggunakan Async Order Update API untuk mengirimkan pembaruan pesanan yang relevan ke Google.
Tindakan Pembaruan Pesanan Asinkron
Terlepas dari notifikasi pengguna di sisi Anda, Anda juga harus mengirimkan pembaruan status pesanan ke Google untuk peristiwa berikut:
- Perubahan pada
OrderState
seperti transisi dariCREATED
keCONFIRMED
danCONFIRMED
keIN_TRANSIT
. - Perubahan pada item pesanan, seperti harga atau ketersediaan.
- Setiap kali pengguna memicu permintaan dukungan dari salah satu saluran dukungan pelanggan Anda.
Update dikirim dari endpoint layanan web Anda sebagai
AsyncOrderUpdateRequestMessage
yang berisi OrderUpdate
. Google akan merespons dengan AsyncOrderUpdateResponseMessage
.
Diagram urutan
Ilustrasi berikut menunjukkan cara interaksi tindakan pemenuhan dengan layanan web Anda. Klik untuk memperbesar.
Menyiapkan endpoint pemenuhan
Tindakan Pesan dengan Google menggunakan pesan JSON untuk berkomunikasi dengan layanan web Anda dan menangani pemrosesan, konfirmasi, dan pembaruan pada pesanan makanan. Saat mendesain layanan web Pesan dengan Google, Anda harus menentukan endpoint URL yang menerima pesan permintaan dari layanan Pesan dengan Google dan dapat menampilkan pesan kembali ke layanan Google. Penerapan Anda harus memenuhi persyaratan berikut:
- Layanan web Anda harus dapat menerima pesan JSON sebagai permintaan
POST
dari layanan Pesan dengan Google. - Layanan web Anda harus menyediakan endpoint URL yang dapat diakses secara publik, yang disebut URL pemenuhan, yang Anda tentukan di Portal Partner. URL pemenuhan digunakan untuk memeriksa dan mengirim pesanan. Implementasi Anda harus menangani kedua jenis permintaan tersebut.
- Layanan web Anda harus dapat memverifikasi pesan dari Google menggunakan metode Verifikasi pesan.
- Implementasi endpoint URL Anda harus dapat menangani checkout dan pemenuhan pesanan dengan satu endpoint. Anda tidak dapat memiliki satu endpoint URL untuk checkout dan endpoint terpisah untuk memesan pengiriman.
Library Klien
Generator kode klien di bagian Alat tersedia untuk memvalidasi layanan web Anda berdasarkan spesifikasi API Pemenuhan.