ステータス: テンプレート(未着手) — セクション枠だけ用意。Phase 1 着手前に中身を埋める。
スコープと方針
TODO: 「半公開」境界の定義(一度公開すると後方互換性の責任が発生する境界)。内部 RPC を本書に含めない理由。プロトコル選定(REST / GraphQL / WebSocket / SSE)の方針。
ウィジェット ↔ バックエンド契約
TODO: 顧客サイトに埋め込まれる JS ウィジェットがバックエンドに対して呼ぶエンドポイント一覧。最低限以下:
- セッション開始 / 復元(匿名顧客の識別、Shopify Customer 連携)
- メッセージ送信・ストリーミング受信
- 会話履歴取得
- ユーザーアクション確認(注文キャンセル等、副作用ありの操作の最終確認)
- 添付ファイル送信(必要なら)
- 初期設定取得(テーマ・営業時間・FAQ初期表示等)
各エンドポイントの method / path / リクエスト / レスポンス / エラー / レート制限を定義。
Webhook 受け口
TODO: 外部から BreX に届く Webhook の受け口一覧。最低限以下:
- Shopify Webhook(注文作成・キャンセル・配送状況更新 等)— 受信トピック一覧、署名検証、リトライ・冪等性方針
- 将来チャネル(楽天 RMS、マキシム経由連携 等)の受け口(Phase 2 以降)
- 共通: 認証方式、ペイロード検証、失敗時挙動、再送ポリシー
事業者向け公開API(将来)
TODO: Phase 3 以降に事業者へ公開する可能性のある API(会話ログ取得、ナレッジ CRUD、分析データ)の予約セクション。Phase 1 では「未公開」とだけ記載。
バージョニング・後方互換
TODO: ウィジェット契約のバージョニング方式(URL prefix / ヘッダー)、破壊的変更時の移行ルール、サポート期間。Webhook の payload 互換性方針。
認証・CORS・セッション
TODO: ウィジェット用の認証方式(テナント識別キー、署名付きセッション)、CORS 設定、Cookie 制約(SameSite・サードパーティ Cookie 廃止対応)、匿名顧客の識別永続化。Shopify Customer 連携時の認証受け渡し。
未決事項
TODO: REST vs GraphQL の選定、ストリーミング方式(SSE vs WebSocket)、Webhook 失敗時の再処理基盤(DLQ)等。