API zamówień AI
Gdy klient potwierdzi zamówienie w rozmowie, wywołujemy Twój interfejs, tworzymy zamówienie oczekujące na płatność i przekazujemy klientowi link do zapłaty.
Gdy klient wybierze produkty w rozmowie, AI przygotowuje projekt zamówienia do potwierdzenia przez klienta; po potwierdzeniu przez klienta prosimy Twój system o utworzenie zamówienia oczekującego na płatność i przekazujemy klientowi zwrócony przez Ciebie link do płatności. Nie przechowujemy zamówień ani nie pośredniczymy w płatnościach.
W panelu administracyjnym, w sekcji „Ustawienia bota”, wypełnij interfejs składania zamówień (jeśli go nie wypełnisz, AI nie będzie w stanie składać zamówień). Możesz też podać adres strony logowania: gdy niezalogowany klient będzie chciał złożyć zamówienie, w oknie czatu pojawi się przycisk „Zaloguj się”.
Wymagania wstępne:
- Tylko zalogowani klienci mogą składać zamówienia;
user_idpochodzi z wydanego przez Ciebieuser_token(zob. Rozpoznawanie zalogowanych klientów). - Produkty muszą być zsynchronizowane przez otwarte API (zob. Baza wiedzy i produkty); produkty z wariantami muszą zawierać
variants[].sku— przy składaniu zamówienia przekazujemyskubez zmian.
Jak klient potwierdza zamówienie:
- Okno czatu na stronie: po przygotowaniu projektu przez AI wyświetlana jest karta zamówienia; zamówienie powstaje dopiero, gdy klient kliknie „Potwierdź zamówienie”, a po jego utworzeniu na karcie pojawia się przycisk „Przejdź do płatności”.
- Kanały obsługujące tylko tekst, np. mini-program WeChat: AI wysyła klientowi podsumowanie zamówienia, a zamówienie powstaje dopiero po odpowiedzi „Potwierdzam”; po utworzeniu wysyłamy link do płatności (zob.
mp_pathponiżej).
Żądanie
Ten sam adres; pole mode rozróżnia wycenę i utworzenie zamówienia. Sposób podpisywania i weryfikacji podpisu jest taki sam jak w interfejsie wyszukiwania zamówień, limit czasu wynosi 10 sekund.
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}]
}
| Pole | Opis |
|---|---|
mode | quote: tylko wycena (rabaty, koszt dostawy, podatek), bez tworzenia zamówienia i bez rezerwowania stanu magazynowego; create: utworzenie zamówienia oczekującego na płatność |
request_id | Ta sama wartość dla wyceny i utworzenia zamówienia w ramach jednego potwierdzenia zamówienia. Jeśli create otrzyma powtórzony request_id, musi zwrócić to samo zamówienie — na tym opierają się nasze ponowne próby i wielokrotne kliknięcia klienta, dzięki czemu zapobiegamy duplikowaniu zamówień |
user_id | Zalogowany klient; zamówienie można utworzyć tylko dla tego klienta |
channel | widget / wechat_mp / api |
language, country | Język klienta i kraj na podstawie adresu IP; mogą mieć wartość null; można ich użyć do wyboru waluty rozliczeniowej i naliczenia podatku |
items[].product_id / sku | external_id produktu i sku wariantu; w przypadku produktów bez wariantów sku ma wartość null |
Odpowiedź
Wycena zakończona powodzeniem:
{
"status": "quoted",
"currency": "USD",
"goods_amount": "399.00",
"discount": "20.00",
"discounts": [{"label": "新客券", "amount": "20.00"}],
"shipping_fee": "0",
"tax": "0",
"total": "379.00"
}
Zamówienie utworzone:
{
"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"
}
Nie można złożyć zamówienia:
{"status": "rejected", "code": "OUT_OF_STOCK", "message": "这款黑色暂时缺货"}
- Kwoty są zawsze ciągami znaków.
totalicurrencysą wymagane, pozostałe pola można pominąć; wdiscountswyświetlamy maksymalnie 5 pozycji. pay_urlto link do płatności w przeglądarce; musi używać https. Jeśli na stronie „Integracja” skonfigurowano białą listę domen, link musi też należeć do domeny z listy lub jej subdomeny — w przeciwnym razie nie zostanie wyświetlony.mp_pathto ścieżka strony płatności w mini-programie; w kanałach WeChat jest wysyłana klientowi jako karta mini-programu (okładką jest zdjęcie pierwszego produktu). Jeśli nie mamp_path, wysyłamypay_url. Przynajmniej jedno z tych pól musi być podane.expires_atto termin płatności, który będzie wyświetlany na karcie.- Dozwolone wartości
code:OUT_OF_STOCK,SKU_UNAVAILABLE,REGION_UNAVAILABLE,NOT_LOGGED_IN,LIMIT,OTHER.messagejest wyświetlany klientowi bezpośrednio, więc użyj sformułowań, które klient zrozumie. - Jeśli nie chcesz realizować wyceny, możesz na
quotezwrócić{"status": "unsupported"}; karta oszacuje kwotę na podstawie cen z katalogu produktów i doda informację „Ostateczna kwota zostanie pokazana na stronie płatności”. - Jeśli
createzwróci kod inny niż 200 lub nieprawidłowy format, potwierdzenie zamówienia pozostaje ważne i klient może kliknąć ponownie; upewnij się, że powtórzonyrequest_idnie utworzy drugiego zamówienia.
Limity: potwierdzenie zamówienia jest ważne 30 minut; przygotowanie nowego potwierdzenia w tej samej rozmowie unieważnia poprzednie; jedno zamówienie może obejmować maksymalnie 10 rodzajów produktów, po maksymalnie 20 sztuk każdego; w tej samej rozmowie w ciągu 24 godzin można utworzyć maksymalnie 5 zamówień.
Czy ta strona była pomocna?
Ostatnia aktualizacja:
