メインコンテンツへスキップ
消費者がストアで注文を作成するための Session Token を発行します。これは API Key 専用のエンドポイントです。
POST /v1/actions/auth/issue-session-token
認証: API Key

仕組み

  1. サーバーが API Key 認証でこのエンドポイントを呼び出します
  2. 短命のセッショントークンを受け取ります
  3. トークンを消費者のブラウザに渡します
  4. 消費者はトークン(Authorization: Bearer <token>)を使用して注文の作成やチェックアウトを行います
Session Token は単一のストアにスコープされ、自動的に有効期限が切れます。

リクエストボディ

フィールド必須説明
storeIdstringNo対象ストア ID(Short ID フォーマット STO_xxx)。productId が指定されていない場合は必須です
productIdstringNo商品 ID(Short ID フォーマット PROD_xxx)。storeId なしで指定した場合、サーバーが商品からストアを自動推定します
buyerIdentitystringYes注文帰属のための消費者識別子(例:メールアドレスまたは内部ユーザー ID)。セッション JWT にエンコードされます

リクエスト例

// storeId を使用
const { token, expiresAt } = await client.auth.issueSessionToken({
  storeId: "STO_2aUyqjCzEIiEcYMKj7TZtw",
  buyerIdentity: "customer@example.com",
});

// productId を使用(storeId は自動推定)
const { token, expiresAt } = await client.auth.issueSessionToken({
  productId: "PROD_7J3K5L8M2N4P6Q9R",
  buyerIdentity: "customer@example.com",
});

成功レスポンス (200)

{
  "data": {
    "token": "opaque-session-token...",
    "expiresAt": "2024-01-15T11:00:00.000Z"
  }
}

レスポンスフィールド

フィールド説明
tokenstringSession Token
expiresAtstring有効期限(ISO 8601)

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
ステータスerrors[0].message意味推奨処理
400Missing required field: buyerIdentitybuyerIdentity が欠落または空リクエストボディを修正してから再送信
400Missing required field: provide storeId or productIdstoreIdproductId のいずれも未指定いずれかを指定してから再送信
400Expected format: STO_xxx, got "..."storeId Short ID のデコード失敗storeId のフォーマットを修正してから再送信
400Expected format: PROD_xxx, got "..."productId Short ID のデコード失敗productId のフォーマットを修正してから再送信
400Store is not activeストアは存在するが active 状態ではないストアを有効化してから再送信
401Missing merchantId in request contextAPI Key 認証で merchant が解決されなかったAPI Key ヘッダーと署名を確認
403Access denied: you do not have permission to this storeマーチャントがストアを所有していないストアの所有権を確認
404Store not foundストアが存在しないか削除済みstore ID を確認
404Product not found商品が存在しないproduct ID を確認
500Internal server errorサーバ側の予期しない障害指数バックオフでリトライ(5s 開始、最大 3 回)