AI注文API
顧客がチャット内で注文を確定すると、お客様のAPIを呼び出して未払い注文を作成し、支払いリンクを顧客にお渡しします。
顧客が会話内で商品を選ぶと、AIが注文の下書きを作成して顧客に確認を求めます。顧客が確認した後、Yinkeはあなたのシステムに支払い待ち注文の作成を依頼し、あなたが返した支払いリンクを顧客に渡します。Yinkeは注文を保存せず、代金も取り扱いません。
管理画面の「ボット設定」で注文APIを入力します(未入力の場合、AIは注文できません)。さらにログインページURLを入力できます。未ログインの顧客が注文しようとすると、チャットウィンドウに「ログイン」ボタンが表示されます。
前提条件:
- 注文できるのはログイン済みの顧客のみです。
user_idはあなたが発行するuser_tokenから取得します(ログイン顧客の識別を参照)。 - 商品はオープンAPI経由で同期する必要があります(ナレッジベースと商品を参照)。バリエーションのある商品には
variants[].skuを含めてください。Yinkeは注文時にskuをそのままあなたに渡します。
顧客の確認方法:
- Webチャットウィンドウ:AIが下書きを作成すると注文カードが表示され、顧客が「注文を確定」をクリックした後にのみ注文が作成されます。作成後、カードに「支払いへ」ボタンが表示されます。
- WeChatミニプログラムなどテキストのみ送信できるチャネル:AIが注文概要を顧客に送信し、顧客が「確認」と返信した後にのみ注文が作成されます。作成後、支払い導線を送信します(後述の
mp_pathを参照)。
リクエスト
同じURLで、mode により見積もりと注文作成を切り替えます。署名と署名検証の方法は注文照会APIと同じで、タイムアウトは10秒です。
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}]
}
| フィールド | 説明 |
|---|---|
mode | quote:価格(割引、送料、税)のみを計算し、注文を作成せず、在庫も確保しません;create:支払い待ち注文を作成します |
request_id | 同じ注文確認における見積もりと注文作成では同じ値を使用します。create で重複した request_id を受け取った場合、必ず同じ注文を返してください。Yinkeの再試行と顧客の二重クリックの両方で、重複注文を防ぐためにこれを使用します |
user_id | ログイン済みの顧客。注文を作成できるのはこの顧客のみです |
channel | widget / wechat_mp / api |
language、country | 顧客の言語とIP所在国。null の場合があり、決済通貨の選択や税計算に使用できます |
items[].product_id / sku | 商品の external_id とバリエーションの sku。バリエーションのない商品の sku は null です |
レスポンス
見積もり成功:
{
"status": "quoted",
"currency": "USD",
"goods_amount": "399.00",
"discount": "20.00",
"discounts": [{"label": "新客券", "amount": "20.00"}],
"shipping_fee": "0",
"tax": "0",
"total": "379.00"
}
注文作成成功:
{
"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"
}
注文できない場合:
{"status": "rejected", "code": "OUT_OF_STOCK", "message": "这款黑色暂时缺货"}
- 金額はすべて文字列です。
totalとcurrencyは必須で、その他は省略できます;discountsは最大5件まで表示されます。 pay_urlはWebページの支払いリンクで、httpsである必要があります。「連携」ページでドメインのホワイトリストを設定している場合、ホワイトリストに登録されたドメインまたはそのサブドメインである必要があり、そうでない場合は表示されません。mp_pathはミニプログラム内の支払いページパスで、WeChatチャネルではミニプログラムカードとして顧客に送信されます(カバー画像には最初の商品の画像を使用);mp_pathがない場合はpay_urlを送信します。どちらか一方は必須です。expires_atは支払い期限で、カードに表示されます。codeの選択肢:OUT_OF_STOCK、SKU_UNAVAILABLE、REGION_UNAVAILABLE、NOT_LOGGED_IN、LIMIT、OTHER。messageは顧客にそのまま表示されるため、顧客が理解できる言葉で記述してください。- 見積もりを実施しない場合、
quoteに対して{"status": "unsupported"}を返すことができます。カードには商品ライブラリの価格に基づく概算が表示され、「最終金額は支払いページをご確認ください」と記載されます。 createが200以外を返した場合、または形式が正しくない場合、注文確認は保持され、顧客はもう一度クリックできます。重複したrequest_idで2件目の注文が作成されないようにしてください。
制限: 注文確認は30分間有効です。同じ会話で新しく下書きすると、古い確認は無効になります。1注文につき最大10種類の商品、各商品最大20点までです。同じ会話では24時間以内に最大5件の注文を作成できます。
このページは役に立ちましたか?
最終更新:
