メインコンテンツへスキップ
エラーとリトライ

エラーエンベロープ、レスポンスの全一覧、それぞれの対処方法です。

Markdown

エンベロープ​

{ "message": "MISSING_CLIENT_ID", "details": [] }

message はエラーを識別し、details は通常空です。無効な画像など、フローがリクエストを拒否した場合も、このエンベロープのまま、理由が message と details に入って返されます。拒否を参照してください。

リファレンス​

ステータスmessageエンドポイントリトライ可否
400INVALID_REQUESTcreate不可。リクエストを修正してください
400REQUEST_TOO_LARGEcreate不可。ボディが 2 MiB を超えています
400MISSING_<FIELD> / INVALID_<FIELD>create不可。<FIELD> はフィールド名を大文字のスネークケースにしたものです(例: MISSING_CREDENTIAL_VALUE)
401空("")create、selfie不可。Unico がアクセスキーを拒否しました。HUMAN_API_ACCESS_KEY を確認してください
409CORRELATION_ID_ALREADY_USEDcreate不可。別のプロセスがその correlationId を使用しています。新しいものを使用してください
422ATTRIBUTE_TYPE_NOT_SUPPORTEDcreate不可。カタログのコードを使用してください
4xxフローの messagecreate不可。プロセスは失敗として保存されます
404PROCESS_NOT_FOUNDget、selfie不可
404SELFIE_NOT_FOUNDselfie不可。プロセスに利用可能な自撮りがありません
4xx拒否の messageselfie不可
503DATABASE_UNAVAILABLEすべてcreate は下記を参照。get と selfie は可
502UPSTREAM_UNAVAILABLEすべてcreate は下記を参照。get と selfie は可
500INTERNALすべてcreate は下記を参照

作成のリトライ​

受理された作成リクエストはそれぞれ新しい id を持つ新しいプロセスを開始し、各 correlationId は 1 回しか使用できません。どの状態であっても、すでにプロセスが使用している correlationId は 409 CORRELATION_ID_ALREADY_USED で拒否されます。

  • 400、409、422、その他の拒否: リクエストを修正してから再送信してください。
  • 503 DATABASE_UNAVAILABLE: 何も保存・処理されていません。同じ correlationId でリトライしてください。
  • 502 と 500: リクエストが確認できませんでした。自動的にリトライしないでください。再試行する場合は、新しい correlationId で新しい作成リクエストを送信してください。

バックエンドでの推奨手順:

  1. Human Plugin を呼び出す前に、各試行を correlationId をキーとして記録します。
  2. 502 または 500 の場合は、業務ルールに従って新しい試行を開始するかどうかを判断します。
  3. 関連する試行を記録上で紐付けて保持します。

読み取りのリトライ​

プロセスまたはその自撮りに対する GET は、安全にリトライできます。バックオフを使用し、404 で停止してください。

レート制限​

Human Plugin には組み込みのレートリミッターがありません。必要な場合は、ゲートウェイで制限を適用してください。