Ringkasan

Ringkasan ini merangkum alur Pemesanan End-to-End dan caranya berinteraksi dengan layanan web fulfillment Anda.

Pengurutan

Antarmuka pengguna Pemesanan End-to-End menangani semua interaksi dengan pengguna saat mereka menambahkan item menu ke pesanannya dan memutuskan pengambilan atau pengiriman, tergantung layanan yang ditawarkan oleh restoran. Pengalaman ini didukung oleh entity Restaurant, Service, dan Menu yang ditemukan di feed data.

Langkah berikutnya adalah tahap validasi keranjang tempat hasil Cart yang dibuat oleh pengguna diproses oleh layanan web Anda.

Tindakan Checkout

Tindakan checkout adalah panggilan pertama yang dilakukan Google ke endpoint layanan web Anda. Layanan web Anda bertanggung jawab untuk validasi Cart. Anda harus mengonfirmasi ketersediaan dan harga item, menghitung dan mengembalikan pajak, diskon, serta biaya, serta memvalidasi alamat pengiriman pesanan.

Proses checkout mengikuti urutan berikut:

  1. Layanan Pemesanan Menyeluruh mengirimkan CheckoutRequestMessage yang berisi Cart ke endpoint layanan web fulfillment Anda.
  2. Layanan web Anda perlu memvalidasi item dalam Cart berdasarkan harga, ketersediaan, dan penyedia layanan saat ini. Anda kemudian menghitung harga total, yang mencakup diskon, pajak, dan biaya pengiriman.
  3. Endpoint Anda merespons dengan CheckoutResponseMessage yang berisi Cart yang tidak dimodifikasi untuk permintaan yang berhasil. FoodErrorExtension dapat disertakan dalam CheckoutResponseMessage untuk melaporkan error pemrosesan atau mengusulkan perubahan kecil, jika diperlukan.

Setelah Cart divalidasi, pengguna dapat memilih untuk melanjutkan ke tahap pengiriman pesanan alur.

Kirim Tindakan Pesanan

Tindakan kirim pesanan dipicu saat pengguna menyelesaikan pesanan. Layanan web Anda harus memvalidasi ulang keranjang, memproses token kartu jika pembayaran online diaktifkan, dan terakhir memperbarui status pesanan.

Proses pengiriman pesanan mengikuti urutan berikut:

  1. Layanan Pemesanan End-to-End mengirimkan SubmitOrderRequestMessage yang berisi Order ke endpoint layanan web fulfillment Anda. Backend Anda perlu melakukan validasi Cart lagi sebelum melanjutkan.
  2. Layanan web Anda memproses detail pembayaran yang ada di Order, yang biasanya melakukan tindakan berikut:

    1. Melakukan verifikasi token, penipuan, dan pemeriksaan kelayakan lainnya.
    2. Izinkan dan, secara opsional, menagih kartu.
  3. Endpoint Anda merespons dengan SubmitOrderResponseMessage yang berisi OrderUpdate dengan status CREATED (Status pembelian (Dipesan"), CONFIRMED (Status pembelian "Diterima"), atau REJECTED (status pembelian "Ditolak").

Setelah pesanan dilakukan, pengguna ingin menerima pembaruan status pesanan dari Anda dan antarmuka pengguna Pemesanan End-to-End. Anda harus mengirim email konfirmasi pesanan kepada pengguna. Selain itu, Anda menggunakan Asynchronous Order Update API untuk mengirim pembaruan pesanan yang relevan ke Google.

Tindakan Pembaruan Pesanan Asinkron

Selain notifikasi pengguna di pihak Anda, Anda juga harus mengirimkan pembaruan status pesanan ke Google untuk peristiwa berikut:

  1. Perubahan pada OrderState seperti transisi dari CREATED ke CONFIRMED, dan CONFIRMED ke IN_TRANSIT.
  2. Perubahan pada item pesanan, seperti harga atau ketersediaan.
  3. 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 merespons dengan AsyncOrderUpdateResponseMessage.

Diagram urutan

Ilustrasi berikut menunjukkan cara tindakan fulfillment berinteraksi dengan layanan web Anda. Klik untuk memperbesar.

Alur pemenuhan Pemesanan Menyeluruh

Menyiapkan endpoint fulfillment Anda

Tindakan Pemesanan Menyeluruh menggunakan pesan JSON untuk berkomunikasi dengan layanan web Anda dan menangani pemrosesan, konfirmasi, dan pembaruan pada pesanan makanan. Saat mendesain layanan web Pemesanan End-to-End, Anda harus menentukan endpoint URL yang menerima pesan permintaan dari layanan Pemesanan End-to-End 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 Pemesanan End-to-End.
  • Layanan web Anda harus menyediakan endpoint URL yang dapat diakses secara publik, yang disebut URL fulfillment, yang Anda tentukan di Pusat Tindakan. 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 boleh memiliki satu endpoint URL untuk checkout dan satu endpoint terpisah untuk pengiriman urutan.

Library Klien

Generator kode klien di bagian Alat tersedia untuk memvalidasi layanan web Anda berdasarkan spesifikasi Fulfillment API.