連携と API全プラン
API:注文のステータスを更新する
POST /api/v1/orders/{order_id}/status を使うと、キッチンが注文を承認したときや、注文が出たときを POS から Menuthere に伝えられます。Orders アクセスのあるキーが必要です。注文がすでにそのステータスのときに同じステータスを送っても何も変わらないため、再試行しても安全です。
- 場所
- Ask Menuthere support for a key
- プラン
- ダッシュボードでは、これはプランによって制限されません。
- 更新日
リクエスト
curl -X POST 'https://menuthere.com/api/v1/orders/ORDER_ID/status' -H 'Authorization: Bearer ck_live_YOUR_KEY' -H 'Content-Type: application/json' -d '{"status":"accepted"}'
| 項目 | 値 |
|---|---|
| メソッドとパス | POST /api/v1/orders/{order_id}/status |
| ヘッダー | Authorization: Bearer ck_live_…(Orders アクセスのあるキー) |
| ボディ | JSON:{ "status": "accepted" } |
| order_id | 注文の ID。注文の Webhook では data.order_id として届きます。 |
| 使える status | accepted, food_ready, dispatched, in_transit, completed |
知っておくと便利なことここからキャンセルはできません。キャンセルすると、ポイントの返却、在庫の戻し、配送パートナーの手配取り消しが行われるため、ダッシュボードでのみ行えます。注文をキャンセルするをご覧ください。pending_payment は決済ゲートウェイが管理するもので、これも設定できません。
レスポンス
| 項目 | 意味 |
|---|---|
| ok | 成功すると true。 |
| order_id | 更新した注文。 |
| previous_status | 更新前の注文のステータス。 |
| status | 現在のステータス。 |
| changed | ステータスが変わった場合は true。すでにそのステータスだった場合は false で、何も書き込まれません。 |
変更に成功すると、Webhook に order.status_updated イベントも送られるため、タブレットなどの別のシステムでも反映されます。Webhook のエンドポイントが停止していても、お店からの変更が失敗することはありません。
エラー
| ステータス | `error` | 意味 |
|---|---|---|
| 400 | missing_status, unsupported_status, invalid_json, missing_order_id | ボディが正しくないか、ステータスが許可されたリストにありません。 |
| 401 | missing_api_key, invalid_api_key | キーがない、またはキーが間違っているか無効になっています。 |
| 403 | scope_denied | キーに Orders アクセスがありません。 |
| 404 | order_not_found | アカウントにその ID の注文がありません。 |
| 429 | rate_limited | 1分間のリクエストが多すぎます。 |
| 503 | lookup_failed, update_failed | Menuthere が注文を読み取れない、または書き込めませんでした。もう一度試してください。 |
よくある質問
タイムアウト後に POS が再試行するとどうなりますか?
問題ありません。注文がすでにそのステータスの場合、呼び出しは changed: false を返し、何も書き込みません。
ステータスを変更すると、お客様にメッセージが届きますか?
注文は通常の状態遷移をたどるため、その状態で始まるフローが実行されます。お客様への注文通知をご覧ください。
関連ページ
見つからない場合は [email protected] までメールするか、チャットでお問い合わせください(9:00〜21:00)。ヘルプセンター料金menuthere.com
