識別子によって既存のプロセスを取得します。APIコントラクトにより、結果はプロセス作成時に同期的にすでに返されています — このエンドポイントは再照会、監査、サポート用に使用してください。
プロセスを取得する前に、Webhookの設定とフォールバック戦略を確認してください — こちらをクリック。
エンドポイント
| 環境 | URL |
|---|---|
| 本番 | GET https://api.idcloud.unico.app/client/v1/process/{processId} |
| サンドボックス | GET https://api.idcloud.uat.unico.app/client/v1/process/{processId} |
リクエスト
| ヘッダー | 値 |
|---|---|
Authorization | Bearer <access_token> |
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
processId | string (UUID) | はい | プロセスの作成が返すプロセス識別子。 |
例
- cURL
- Node.js
curl -X GET https://api.idcloud.unico.app/client/v1/process/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.idcloud.unico.app/client/v1/process/${processId}`,
{ headers: { Authorization: `Bearer ${accessToken}` } }
);
const { process: proc } = await res.json();
レスポンス
{
"process": {
"id": "226fd950-4b80-4da6-a476-ba9d397ddc91",
"flow": "id_r2",
"callbackUri": "/",
"userRedirectUrl": "https://cadastro.uat.unico.app/flow?collect-data=true&dynamic-wrapper=true&id=226fd950-4b80-4da6-a476-ba9d397ddc91",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_APPROVED",
"createdAt": "2026-08-06T01:42:21.693615Z",
"finishedAt": "2026-08-06T01:43:03.080508Z",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "40*******50",
"friendlyName": "teste",
"email": "",
"phone": "5511999999999",
"notifications": [
{ "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP" }
],
"phoneCountryCodeAlpha3": ""
},
"purpose": "personAuthentication",
"services": [],
"authenticationInfo": { "authenticationId": "55cba227-9828-49df-a16f-bcdaa7bdaa4d" },
"capacities": ["PROCESS_CAPACITY_IDCLOUDONE"],
"expiresAt": "2026-08-13T01:42:21.536500Z",
"token": "",
"companyData": { "branchId": "", "countryCode": "BRA" },
"simulated": false
}
}
| フィールド | 意味 |
|---|---|
id | プロセスUUID。フローを照会・追跡するためのキー。 |
flow | 実行されたジャーニーのタイプ(例: id_r2、idlivetrust_r2、idtrust_r2、...)。 |
callbackUri | フローの終了時にクライアントアプリがリダイレクトされるコールバックURI。 |
userRedirectUrl | ユーザーがジャーニーを実行するために開く Web Journey ページの完全なURL(id と挙動フラグを保持)。 |
state | プロセスのライフサイクル状態。PROCESS_STATE_* の値(例: CREATED、FAILED、FINISHED、AWAITING_FOR_DOCUMENT、UNSPECIFIED)。 |
result | 評価の最終判定。PROCESS_RESULT_* の値(例: APPROVED、AUTHENTICATED、NOT_APPROVED、...)。state = PROCESS_STATE_FINISHED の場合のみ確定します。 |
createdAt | プロセス作成のタイムスタンプ(UTC)。 |
finishedAt | プロセス完了のタイムスタンプ(UTC)。 |
person | 検証対象の人物のデータを含むサブオブジェクト。 |
purpose | プロセスの目的(例: personAuthentication、本人登録)。 |
services | プロセスに付随する追加サービスのリスト。ない場合は空。 |
authenticationInfo.authenticationId | フローによって生成された本人認証イベントのID。 |
capacities | 使用されたケイパビリティ/製品。PROCESS_CAPACITY_* の値(例: IDCLOUDONE)。 |
expiresAt | プロセス/リンクの失効タイムスタンプ(UTC)。 |
token | プロセスに関連付けられたセッション/アクセストークン(空の場合があります)。 |
companyData | プロセスを所有する会社/テナントのデータを含むサブオブジェクト。 |
simulated | ブール値。シミュレーション/サンドボックスプロセス(true)か、実際のプロセス(false)かを示します。 |
| フィールド | 意味 |
|---|---|
duiType | 一意の識別ドキュメントのタイプ。DUI_TYPE_* の値(例: BR_CPF)。 |
duiValue | ドキュメントの値(例: CPF番号)。 |
friendlyName | 人物のフレンドリーネーム/ニックネーム(自由入力、検証されません)。 |
email | 人物のメールアドレス。空の場合があります。 |
phone | E.164形式の電話番号(国番号 + エリアコード + 番号)。 |
notifications | 通知チャネルのリスト。各アイテムは NOTIFICATION_CHANNEL_* の値(例: WHATSAPP、SMS、EMAIL)を持つ notificationChannel を含みます。 |
phoneCountryCodeAlpha3 | 電話番号のISO alpha-3国コード(例: BRA)。空の場合があります。 |
| フィールド | 意味 |
|---|---|
branchId | テナントの支店識別子。支店で区分されていない場合は空。 |
countryCode | 会社の国をISO alpha-3で表したもの(例: BRA)。 |
統一スキー マを使用するドキュメントタイプ — フィールドリファレンスにおける unified_schema — は、キャプチャ時に識別されたタイプの大文字表記として報告されます: IDCARD、DRIVERLICENSE、PASSPORT、または VOTERID。
米国のパスポートは PASSPORT に統合されず、そのバリアントを維持するため、POLYCARBONATEPASSPORT、PASSPORTCARD、PAPERPASSPORT などの値も返されます。
例えば、unico.moja.dictionary.ar.generic.v1.IdCard と unico.moja.dictionary.us.generic.v1.PolycarbonatePassport は、それぞれ IDCARD と POLYCARBONATEPASSPORT として報告されます。
process.services[].documents[].doc.code は、ドキュメントタイプを短い大文字コードとして報告します。unico.moja.dictionary.br.cnh.v2.Cnh は CNH になります。
このコードには国もスキーマバージョンも含まれません。バージョンは doc.version で個別に返されます。
独自のフィールドスキーマを使用するドキュメントタイプ — フィールドリファレンスの specific_document_schemas に記載 — は、以下の表に示されています。各スキーマをそのファイルで検索するには、ディクショナリタイプを使用してください。
| 国 | doc.code | ディクショナリタイプ | ドキュメント |
|---|---|---|---|
| BR | RG | unico.moja.dictionary.br.rg.v2.Rg | RG |
| BR | CNH | unico.moja.dictionary.br.cnh.v2.Cnh | CNH(運転免許証) |
| BR | CIN | unico.moja.dictionary.br.cin.v1.Cin | CIN |
| BR | PASSAPORTE | unico.moja.dictionary.br.passaporte.v1.Passaporte | パスポート |
| MX | INE | unico.moja.dictionary.mx.ine.v1.Ine | INE 有権者証明書 |
| MX | LPC | unico.moja.dictionary.mx.lpc.v1.Lpc | Licencia para conducir(運転免許証) |
| MX | PASAPORTE | unico.moja.dictionary.mx.pasaporte.v1.Pasaporte | パスポート |
| — | UNKNOWN | unico.moja.dictionary.other.unknown.v1.Unknown | タイプを識別できませんでした — doc.data は空です |
PASSAPORTE と PASAPORTE は異なるドキュメントですブラジルのパスポートは PASSAPORTE(S二重)、メキシコのパスポートは PASAPORTE(S単一)で、それぞれ自身のディクショナリの表記を反映しています。これはタイプミスではありません — 2つの値を同等として扱わないでください。
doc.code が UNKNOWN の場合、OCR抽出は行われず、doc.data にフィールドは報告されません。
ブラジルのお客様は完全なプロセスペイロードを受け取る場合があります全体のレスポンス構造は同じままです — 単一の結果がデフォルトです。

全体のレスポンス構造は同じままです — 単一の結果がデフォルトです。
ブラジルでの統合では、以下の完全なプロセスオブジェクトを受け取る場合があり、authenticationInfo内にケイパビリティ別の結果が含まれます。
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"flow": "iddocs_r2",
"callbackUri": "https://example.com/callback",
"userRedirectUrl": "https://example.com/redirect",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"createdAt": "2024-01-01T10:00:00Z",
"finishedAt": "2024-01-01T10:15:00Z",
"expiresAt": "2024-01-08T10:00:00Z",
"purpose": "VERIFICATION",
"clientReference": "client-ref-abc",
"useCase": "USE_CASE_LOGIN",
"capacities": ["liveness", "face_match"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"notifications": [
{
"notificationChannel": "email"
}
]
},
"authenticationInfo": {
"authenticationId": "auth-123",
"livenessResult": "LIVENESS_RESULT_LIVE",
"authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
"identityFraudstersResult": "TRUST_RESULT_UNSPECIFIED",
"bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",
"smartRevalidationResult": "SMART_REVALIDATION_RESULT_UNSPECIFIED",
"idAgeResult": "ID_AGE_RESULT_UNSPECIFIED",
"scoreEngineResult": {
"scoreEnabled": "SCORE_ENABLED_TRUE",
"score": 85.5
}
},
"companyData": {
"branchId": "branch-123",
"countryCode": "BR"
},
"bioTokenData": {
"referenceProcessId": "ref-proc-123",
"authenticationId": "auth-ref-123"
},
"services": [
{
"envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",
"documentIds": ["doc-abc-123"],
"consent_granted": true,
"documents": [
{
"doc_id": "doc-abc-123",
"typified": true,
"cpf_match": true,
"face_match": true,
"validate_doc": true,
"reused_doc": false,
"signed_url": "https://example.com/doc?token=xyz",
"doc": {
"version": 1,
"code": "CNH",
"data": {
"numero": "044589731564",
"cpfNumero": "12345678909",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "1990-05-12T00:00:00Z",
"dataExpiracao": "2027-12-07T00:00:00Z",
"categoria": "B"
}
}
}
]
}
]
}
}
| フィールド | 型 | 説明 |
|---|---|---|
process.id | string (UUID) | プロセス識別子。 |
process.flow | string | 作成時に送信されたフロー識別子。 |
process.callbackUri | string | プロセスイベント用に設定されたコールバックURL。 |
process.userRedirectUrl | string | ジャーニー完了後にユーザーをリダイレクトするURL。 |
process.state | enum | 現在のプロセス状態。以下の値を参照してください。 |
process.result | enum | 検証結果。state = PROCESS_STATE_FINISHED の場合のみ存在します。 |
process.createdAt | string (datetime) | プロセスが作成されたISO 8601 タイムスタンプ。 |
process.finishedAt | string (datetime) | プロセスが完了したISO 8601タイムスタンプ。state = PROCESS_STATE_FINISHED の場合のみ存在します。 |
process.expiresAt | string (datetime) | プロセスが失効するISO 8601タイムスタンプ。 |
process.purpose | string | フローで設定されたプロセスの目的。 |
process.clientReference | string | ポータルでのインデックス作成用の任意のクライアント側リファレンス。 |
process.useCase | string | フローに関連付けられたシナリオ識別子。 |
process.capacities | array of strings | このプロセスで有効化されたケイパビリティのリスト。 |
process.token | string | SDK統合用の署名済みJWT。 |
process.person | object | 作成時に提供された識別情報。 |
process.person.notifications | array | ジャーニー用に設定された通知チャネル(例: email)。 |
process.authenticationInfo | object | ケイパビリティ別の結果。以下を参照してください。 |
process.companyData | object | 会社と支店のコンテキスト。 |
process.companyData.branchId | string | 支店識別子。 |
process.companyData.countryCode | string | ISO 3166-1 alpha-2国コード。 |
process.bioTokenData | object | リファレンスプロセス情報 — 1:1 バリデーションおよびスマート再検証フローでのみ存在します。 |
process.services | array | 署名済みエンベロープ、キャプチャされたドキュメント、その他のサービス出力。以下を参照してください。 |
| 値 | 意味 |
|---|---|
PROCESS_STATE_CREATED | プロセスが作成されました。ユーザーはまだジャーニーを完了していません。 |
AWAITING_FOR_DOCUMENT | 識別ドキュメントなしでプロセスが作成されました。カスタムフローが任意のドキュメントを許可している場合のみ存在します。プロセスドキュメントの設定でドキュメントを送信してください。 |
PROCESS_STATE_FINISHED | ジャーニーが完了しました。result と authenticationInfo を確認してください。 |
PROCESS_STATE_FAILED | 処理エラー。 |
AWAITING_FOR_DOCUMENT は、他の状態が使用している PROCESS_STATE_* プレフィックスの規則に従っていません。これは現在のAPIにおける既知の命名の不整合です。
| 値 | 意味 |
|---|---|
PROCESS_RESULT_OK | すべてのケイパビリティが肯定的な結果を返しました。 |
PROCESS_RESULT_INVALID_IDENTITY | 少なくとも1つのケイパビリティが確定的な否定を返しました(例: ライブネス失敗、本人確認不一致)。 |
PROCESS_RESULT_ERROR | 結果処理中のエラー。 |
PROCESS_RESULT_EXPIRED | ジャーニーが完了する前にプロセスが失効しました。 |
PROCESS_RESULT_UNSPECIFIED | プロセスがまだ完了していません。 |
すべてのフィールドは、フローにかかわらず常に返されます。フローで使用されないケイパビリティのフィールドは *_UNSPECIFIED を返します。
短縮された値(例: livenessResult = LIVE、authenticationResult = INCONCLUSIVE)は、ここで説明されている完全なenum値(LIVENESS_RESULT_LIVE、AUTHENTICATION_RESULT_INCONCLUSIVE など)に直接対応します — プレフィックスは簡潔さのために省略されています。
| フィールド | ケイパビリティ | 可能な値 |
|---|---|---|
authenticationId | — | この認証試行の一意識別子。 |
livenessResult | ライブネス | LIVENESS_RESULT_LIVE、LIVENESS_RESULT_NOT_LIVE、LIVENESS_RESULT_UNSPECIFIED |
authenticationResult | 本人確認 | AUTHENTICATION_RESULT_POSITIVE、AUTHENTICATION_RESULT_NEGATIVE、AUTHENTICATION_RESULT_INCONCLUSIVE、AUTHENTICATION_RESULT_UNSPECIFIED |
identityFraudstersResult | 不正リスク分類 | TRUST_RESULT_YES、TRUST_RESULT_INCONCLUSIVE、TRUST_RESULT_UNSPECIFIED |
bioTokenEngineResult | 1:1 バリデーション | BIO_TOKEN_ENGINE_RESULT_POSITIVE、BIO_TOKEN_ENGINE_RESULT_NEGATIVE、BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED |
smartRevalidationResult | スマート再検証 | SMART_REVALIDATION_RESULT_POSITIVE、SMART_REVALIDATION_RESULT_NEGATIVE、SMART_REVALIDATION_RESULT_UNSPECIFIED |
idAgeResult | 年齢確認 | ID_AGE_RESULT_POSITIVE、ID_AGE_RESULT_NEGATIVE、ID_AGE_RESULT_INCONCLUSIVE、ID_AGE_RESULT_UNSPECIFIED |
scoreEngineResult.scoreEnabled | リスクスコア | SCORE_ENABLED_TRUE、SCORE_ENABLED_FALSE、SCORE_ENABLED_UNSPECIFIED |
scoreEngineResult.score | リスクスコア | -100か ら+100までの数値。authenticationResult = AUTHENTICATION_RESULT_INCONCLUSIVE かつリスクスコアが有効な場合に存在します。 |
serproResult.score | Serpro類似度返却 | 0–100(類似度);-1(このCPFに顔データがない);-2(統合エラー)。 |
services における命名規則の混在services 配列は、エンベロープレベルのフィールド(envelopeId、documentIds)にはcamelCase、ドキュメントレベルのフィールド(doc_id、consent_granted、face_match など)にはsnake_caseを使用します。これは実際のAPIレスポンスを反映したものであり、両方の規則は意図的なものでドキュメントの誤りではありません。
| フィールド | 型 | 説明 |
|---|---|---|
envelopeId | string (UUID) | 署名済みエンベロープ識別子。 |
documentIds | array of strings | このサービスでキャプチャされたドキュメントのID。 |
consent_granted | boolean | ユーザーがデータ共有への同意を許可したかどうか。 |
documents | array | OCRデータと検証結果を持つキャプチャされたドキュメント。 |
documents[].doc_id | string | ドキュメント識別子。 |
documents[].typified | boolean | ドキュメントタイプが正常に識別されたかどうか。 |
documents[].cpf_match | boolean | ドキュメント上のCPFが提供されたCPFと一致するかどうか(ブラジルのみ)。 |
documents[].face_match | boolean | セルフィーがドキュメント上の写真と一致するかどうか。 |
documents[].validate_doc | boolean | ドキュメントが真正性の検証に合格したかどうか。 |
documents[].reused_doc | boolean | このドキュメントが以前のプロセスから再利用されたかどうか。 |
documents[].signed_url | string | ドキュメントPDFをダウンロードするための事前署名付きURL(有効期限5分 — 更新するには再取得してください)。 |
documents[].doc.version | integer | OCRスキーマバージョン。 |
documents[].doc.code | string | 短いドキュメントタイプコード(例: CNH)。すべての値とコードの導出方法については、ドキュメントタイプとOCRフィールドを参照してください。 |
documents[].doc.data | object | 抽出されたOCRフィールド。内容はドキュメントタイプによって異なります — 完全なカタログについては完全なフィールドリファレンスを参照してください。doc.data 内のフィールド名(例: nomeCivil、dataNascimento)はポルトガル語で返されます — これらはOCRエンジンが生成する実際の値です。 |
エラーコード
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- 429 Too Many Requests
- 500 Internal Server Error
| コード | メッセージ | 説明 |
|---|---|---|
3 | process id is invalid | プロセスIDが無効な場合。 |
| コード | メッセージ | 説明 |
|---|---|---|
| — | Jwt header is an invalid JSON | 使用されたアクセストークンに不正な文字が含まれている場合。 |
| — | Jwt is expired | 使用されたアクセストークンが期限切れの場合。 |
| コード | メッセージ | 説明 |
|---|---|---|
5 | error getting process: rpc error: code = NotFound desc = process not found | プロセスIDが見つからなかった場合。 |
レート制限に達しました。システムが HTTP 429 エラーを受信した場合、連鎖的な障害を防ぎ、制限の悪化を避けるためのメカニズムを実装する必要があります。
ベストプラクティス:
- クールダウン期間(バックオフ): システムからの後続のリクエストを直ちに停止または抑制してください。失敗したリクエストを短いループで継続的にリトライしないでください。
- キューイングとスロットリング: 送信リクエストをバッファリングまたはキューに入れて、再送信前にトラフィックフローを制御してください。
- ジッター付き指数バックオフ: リトライ時には、試行間の待機時間を指数的に増加させ(例: 1秒、2秒、4秒、8秒)、小さなランダムな遅延(「ジッター」)を追加して、キュー内のすべてのリクエストがまったく同じミリ秒にリトライするハードエフェクトを防止してください。
バックオフを適用せずにレート制限されたエンドポイントにリクエストを送り続けると、制限期間が延長され、システムの運用スルー プットに深刻な影響を与える可能性があります。リクエストを適切にスロットリングすることで、よりスムーズで回復力のあるインテグレーションが実現します。
デフォルトの制限、リクエストの増加、その他の詳細については、レート制限を参照してください。
| コード | メッセージ | 説明 |
|---|---|---|
99999 | Internal failure! Try again later | 内部エラーが発生した場合。 |
ポーリング vs Webhook
進行状況を確認するためにこのエンドポイントをポーリングすることもできますが、推奨されるパターンはWebhookをサブスクライブし、このエンドポイントはフォールバックとしてのみ呼び出すことです。WebhookとEventsを参照してください。
次のステップ
- キャプチャされたセルフィーについては、セルフィーの取得を参照してください。
- エビデンス監査バンドルについては、エビデンスセットの取得を参照してください。