メインコンテンツまでスキップ

エラー

リクエストが​失敗すると、​Shisa サービスは​ HTTP ステータスコードと、​何が​問題だったかを​記述する​ JSON ボディで​問題を​通知します。​本ガイドでは、​目に​する​ことに​なる​ステータスコード、​詳細を​伝える​ JSON の​形、​そして​エンドポイントごとの​エラーテーブルの​場所に​ついて​説明します。

HTTP ステータスコード

まずレスポンスの​ステータスを​確認してください​ — それが​問題の​カテゴリと​解決方​法を​示します。

StatusMeaningHow to resolve
400不正な​リクエスト — 無効または​不足している​パラメータリクエストボディと​必須フィールドを​確認してください。​具体的な​フィールドに​ついては​エラーメッセージを​参照してください。
401認証に​失敗API キーと​サービスごとの​ヘッダー形式を​確認してください。認証を​参照してください。
429レート制限を​超過ペースを​落とし、​バック​オフを​使ってリトライしてください。レート制限を​参照してください。
500サーバーエラーまたは​サービスが​準備未完了短い​遅延の​後に​リトライしてください。​続く​場合は、プラットフォームから​サポートに​お問い​合わせください。

JSON エラーの​形

エラーボディは、​サービス全体で​ 2 つの​形が​あります。​常に​最初に​ HTTP ステータスを​読み、​その後に​人間が​読める​ error フィールドを​得る​ために​ボディを​解析してください。

シンプルな​エラー

一部の​エンドポイントは、​数値の​ code と​ error メッセージを​持つコンパクトな​ボディを​返します。​たとえば、​音声が​添付されていない​ ASR リクエストの​場合は​次のようになります。

{
"code": 400,
"error": "No audio data provided"
}

認証エラー

認証の​失敗​(ASR と​ TTS で​見られます)は、​ミドルウェアと​名前​付きエラー型も​識別する、​より​詳細な​ボディを​返します。

{
"context": ["authMiddleware"],
"code": 104,
"name": "ErrAuthenticationFailed",
"error": "Authentication error: Invalid token"
}

Invalid token エラーは、​ほぼ​必ず​その​サービスに​対する​ Authorization ヘッダーが​間違っている​ことを​意味します — た​とえば、​ASR や​翻訳で​ shsk: プレフィックスが​欠けている​場合などです。サービスごとの​ヘッダー規約を​確認してください。

ヒント

ボディを​解析する前に、​常に​ response.ok(または​ステータスコード)を​確認してください。429 や​ 500 には、​成功パスが​期待する​ JSON が​含まれていない​可能性が​あります。​その​ため、​最初に​ステータスで​分岐する​ことで、​2 つ目の​紛らわしい​解析エラーを​避けられます。

実際に、​解析する​前に​ステータスを​確認する​例を​示します。

const response = await fetch(url, options);
if (!response.ok) {
const detail = await response.json().catch(() => ({}));
throw new Error(`Shisa request failed (${response.status}): ${detail.error ?? 'unknown error'}`);
}
const data = await response.json();
response = requests.post(url, headers=headers, json=payload)
if not response.ok:
detail = response.json() if response.content else {}
raise RuntimeError(f"Shisa request failed ({response.status_code}): {detail.get('error', 'unknown error')}")
data = response.json()

サービスごとの​エラー詳細

エラーフィールドと​正確な​メッセージは​エンドポイントに​よって​異なります。​エンドポイント固有の​エラーテーブルと​リクエスト要件に​ついては、​各サービスの​ API リファレンスを​参照してください。

次の​ステップ

  • レート制限 — リトライと​バック​オフで​ 429 を​処理する。
  • 認証401 エラーを​修正する。