エラーコードとリトライ指針

API エラーコード リトライ HTTPステータス

レシートローラーのAPIが失敗したときに返すステータスコードとレスポンス本文の形、どのエラーを送り直してよいかをまとめます。エラー本文は全エンドポイント共通の形ではなく、ほとんどは {"error": "..."} の簡単なJSONで、401 と 403 は本文なしで返ります。判定はまずステータスコードで行い、本文は原因の確認に使ってください。

エラー本文の形

  • 多くのエラーは error に短い説明やコードが入ったJSONです。エンドポイントによって message・error_description・reason などの項目が加わります。
  • JSONの書式誤りや、数値の項目に数値以外を送ったときの 400 は、errors に項目ごとの理由が入った本文です。
  • 401 と 403 は本文なしで返ります。
  • サーバー内部の予期しないエラーは 500 と {"error": "an unexpected error occurred"} です。
{ "error": "product not found in this business account" }

{ "error": "slot_unavailable", "reason": "...", "message": "..." }

共通のエラーコード一覧や、問い合わせ用のリクエストIDの項目はありません。

ステータスコード

コード意味送り直し
200成功。作成の多くも 200 です(例:商品の作成)―
201一部の作成エンドポイントでの作成成功(例:店舗の投稿)―
204成功(本文なし)。削除などで返ります―
400必須項目の不足、値や形式の誤りしない(リクエストを直す)
401トークンがない、無効、期限切れトークンを更新してから1回
402ビジネスアカウントのプランにその機能が含まれていない(例:Googleビジネスプロフィール)しない
403スコープ不足、organizationId がトークンと違う、メンバーでない、ロールが足りないしない
404対象がビジネスアカウントに存在しないしない
409状態の競合(例:クーポンコードが使用中、予約枠が埋まっている)しない(状態を読み直して判断する)
429一部のエンドポイントでのリクエスト数超過待ってから送り直す(レート制限とスロットリング)
500サーバー内部の予期しないエラー間隔を広げながら数回
502 / 503外部サービスの失敗や一時的な混雑(例:回数券の消化が同時に重なった)間隔を広げながら数回

エンドポイントごとに返りうるステータスは APIリファレンスに載っています。

トークンエンドポイントのエラー

POST /api/v1/auth/token は OAuth の形式でエラーを返します。

ステータスerror原因
400invalid_request本文が読めない、code や refresh_token がない
400unsupported_grant_typegrant_type が対応していない値
401invalid_grant、invalid_client などコードやリフレッシュトークンが無効、クライアントの認証に失敗。error_description に詳細が入ります

リフレッシュトークンでの更新が 401 になった場合は、送り直さず、利用者にもう一度認可してもらってください。

送り直しの方針

  • 送り直してよいのは 429、5xx、タイムアウト、接続エラーです。5xx では1秒・2秒・4秒…と間隔を倍にし、ゆらぎ(ジッター)を加えて、数回で打ち切ります。
  • 429 は Retry-After があればその秒数、なければ1分ほど待ちます。
  • 401 を除く 4xx は、同じリクエストを何度送っても同じ結果です。
  • 共通の Idempotency-Key ヘッダーはありません。作成の POST をタイムアウト後に送り直すと二重に作成されることがあるため、送り直す前に作成済みかどうかを確認してください。
  • 回数券の消化・取り消し(POST /api/v1/reservations/passes/{passId}/redeem・.../unredeem)と勤怠の打刻(POST /api/v1/stores/{storeId}/timecards/punch)は、本文の idempotencyKey で重複を防げます。同じキーで送り直すと、処理済みの結果が "replayed": true 付きで返り、二重には処理されません。

関連情報

公開日: 2026-04-27 更新日: 2026-10-26
このトピックについて
開発者API
機能の詳細を見る
タグ
API (26) OAuth (21) Android (13) iOS (12) Webhook (9) api (6) oauth (5) クイックスタート (5) トラブル (5) Node.js (4)
関連記事