API Pemesanan AI

Setelah pelanggan mengonfirmasi pesanan dalam percakapan, kami memanggil API Anda untuk membuat pesanan menunggu pembayaran, lalu memberikan tautan pembayaran kepada pelanggan.

Setelah pelanggan memilih produk dalam percakapan, AI menyusun draf pesanan untuk dikonfirmasi pelanggan; setelah pelanggan mengonfirmasi, kami meminta sistem Anda membuat pesanan yang menunggu pembayaran, lalu memberikan tautan pembayaran yang Anda kembalikan kepada pelanggan. Kami tidak menyimpan pesanan dan tidak menangani dana pembayaran.

Di backend 「Pengaturan Bot」, isi antarmuka pemesanan (jika tidak diisi, AI tidak dapat membuat pesanan). Anda juga dapat mengisi alamat halaman login: saat pelanggan yang belum login ingin membuat pesanan, tombol 「Login」 akan muncul di jendela chat.

Prasyarat:

  • Hanya pelanggan yang login yang dapat membuat pesanan; user_id berasal dari user_token yang Anda terbitkan (lihat Mengenali pelanggan yang login).
  • Produk harus disinkronkan melalui API terbuka (lihat Basis pengetahuan dan produk); produk dengan varian harus menyertakan variants[].sku, dan saat membuat pesanan kami akan meneruskan sku apa adanya kepada Anda.

Bagaimana pelanggan mengonfirmasi:

  • Jendela chat web: setelah AI menyusun draf, kartu pesanan akan ditampilkan; pesanan baru dibuat setelah pelanggan mengeklik 「Konfirmasi pesanan」, dan setelah dibuat, tombol 「Bayar」 akan muncul di kartu.
  • Saluran yang hanya dapat mengirim teks seperti Mini Program WeChat: AI mengirim ringkasan pesanan kepada pelanggan; pesanan baru dibuat setelah pelanggan membalas 「Konfirmasi」, lalu akses pembayaran dikirim (lihat mp_path di bawah).

Permintaan

Alamat yang sama; mode membedakan penawaran harga dan pembuatan pesanan. Metode tanda tangan dan verifikasi tanda tangan sama dengan Antarmuka pencarian pesanan, dengan timeout 10 detik.

POST {你的下单接口}
Content-Type: application/json
X-AICS-Timestamp: 1761120000
X-AICS-Signature: v1=<hex>

{
  "mode": "quote",
  "request_id": "chk_3f2a9c...",
  "user_id": "u_123",
  "conversation_id": "b3c1...",
  "channel": "widget",
  "language": "en",
  "country": "US",
  "items": [{"product_id": "w1", "sku": "w1-black", "qty": 1}]
}
KolomKeterangan
modequote: hanya menghitung harga (diskon, ongkos kirim, pajak), tidak membuat pesanan dan tidak mengunci stok; create: membuat pesanan yang menunggu pembayaran
request_idNilai yang sama digunakan untuk penawaran harga dan pembuatan pesanan dari konfirmasi pesanan yang sama. Saat create menerima request_id duplikat, Anda harus mengembalikan pesanan yang sama; percobaan ulang kami dan klik berulang dari pelanggan mengandalkan nilai ini untuk mencegah pesanan ganda
user_idPelanggan yang login; pesanan hanya dapat dibuat untuk pelanggan ini
channelwidget / wechat_mp / api
language, countryBahasa pelanggan dan negara berdasarkan IP, dapat bernilai null, dapat digunakan untuk memilih mata uang penyelesaian dan menghitung pajak
items[].product_id / skuexternal_id produk dan sku varian; untuk produk tanpa varian, sku bernilai null

Respons

Penawaran harga berhasil:

{
  "status": "quoted",
  "currency": "USD",
  "goods_amount": "399.00",
  "discount": "20.00",
  "discounts": [{"label": "新客券", "amount": "20.00"}],
  "shipping_fee": "0",
  "tax": "0",
  "total": "379.00"
}

Pembuatan pesanan berhasil:

{
  "status": "created",
  "order_no": "T2026102300001",
  "pay_url": "https://shop.example.com/pay?orderno=T2026102300001",
  "mp_path": "pages/order/pay?orderno=T2026102300001",
  "expires_at": "2026-10-23T12:30:00Z",
  "currency": "USD",
  "goods_amount": "399.00",
  "discount": "20.00",
  "shipping_fee": "0",
  "tax": "0",
  "total": "379.00"
}

Tidak dapat membuat pesanan:

{"status": "rejected", "code": "OUT_OF_STOCK", "message": "这款黑色暂时缺货"}
  • Semua nilai nominal menggunakan string. total dan currency wajib diisi, sisanya dapat dihilangkan; discounts menampilkan maksimal 5 entri.
  • pay_url adalah tautan pembayaran web dan harus menggunakan https; jika daftar domain yang diizinkan telah dikonfigurasi di halaman 「Integrasi」, tautan juga harus berada pada domain atau subdomain dalam daftar tersebut, jika tidak, tautan tidak akan ditampilkan.
  • mp_path adalah jalur halaman pembayaran di Mini Program; pada saluran WeChat, jalur ini akan dikirim kepada pelanggan sebagai kartu Mini Program (sampul menggunakan gambar produk pertama); jika tidak ada mp_path, pay_url yang dikirim. Setidaknya salah satu harus ada.
  • expires_at adalah batas waktu pembayaran dan akan ditampilkan di kartu.
  • Nilai code yang tersedia: OUT_OF_STOCK, SKU_UNAVAILABLE, REGION_UNAVAILABLE, NOT_LOGGED_IN, LIMIT, OTHER. message akan langsung ditampilkan kepada pelanggan, jadi gunakan bahasa yang dapat dipahami pelanggan.
  • Jika tidak ingin melakukan penawaran harga, Anda dapat mengembalikan {"status": "unsupported"} untuk quote; kartu akan memperkirakan berdasarkan harga di katalog produk dan mencantumkan 「Jumlah akhir mengikuti halaman pembayaran」.
  • Jika create mengembalikan status selain 200 atau formatnya tidak sesuai, konfirmasi pesanan tetap disimpan dan pelanggan dapat mengeklik lagi; pastikan request_id duplikat tidak membuat pesanan kedua.

Batasan: Konfirmasi pesanan berlaku selama 30 menit; menyusun draf baru dalam percakapan yang sama akan membatalkan draf lama; satu pesanan maksimal 10 jenis produk, masing-masing maksimal 20 unit; dalam percakapan yang sama, maksimal 5 pesanan dapat dibuat dalam 24 jam.

Apakah halaman ini membantu?

Terakhir diperbarui: