跳转到主要内容
错误与重试

错误信封、完整的响应列表以及各自的处理方式。

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 只能使用一次:已被任何状态的流程使用过的 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 没有内置的速率限制器。如有需要,请在您的网关处设置限制。