メインコンテンツへスキップ

プロセスの作成

これはすべてのWeb & SDKインテグレーションのエントリーポイントです。バックエンドがこれを呼び出してプロセスを作成し、フロントエンドが返されたトークンを使用してiFrameをレンダリングするか、ユーザーをリダイレクトするか、ネイティブSDKを初期化します。

完全なインテグレーションフローについては、Web & SDK概要を参照してください。

エンドポイント

環境URL
本番POST https://api.idcloud.unico.app/client/v1/process
サンドボックスPOST https://api.idcloud.uat.unico.app/client/v1/process

リクエスト

ヘッダー
ヘッダー
AuthorizationBearer <access_token>認証を参照)
Content-Typeapplication/json
ボディパラメータ
フィールド必須説明
callbackUristringはいジャーニー終了後にユーザーがリダイレクトされるURL。コールバックがアプリ内で処理されるネイティブSDKフローでは / を使用してください。
flowstringはいフロー識別子 - 実行する機能を決定します。例: idunicodocsidunicosignidchecktrustidtokenidsmart利用可能なフローを参照してください。
purposestringはいビジネス目的。受け入れ可能な値: creditprocessbiometryonboardingcarpurchaseageverification
person.duiTypeenumはいドキュメントタイプ。受け入れ可能な値: DUI_TYPE_BR_CPFDUI_TYPE_MX_CURPDUI_TYPE_US_SSNDUI_TYPE_BR_PASSPORTDUI_TYPE_AR_PASSPORTDUI_TYPE_AR_DNIDUI_TYPE_NG_NINDUI_TYPE_CL_RUNDUI_TYPE_EC_NIDUI_TYPE_US_PASSPORTDUI_TYPE_GT_CUIDUI_TYPE_UY_CIDUI_TYPE_ZZ_EMAILDUI_TYPE_ID_NIKDUI_TYPE_ZZ_PHONE_NUMBERDUI_TYPE_US_DRIVER_LICENSEDUI_TYPE_NG_BVNDUI_TYPE_MX_RFC_PERSONA_FISICADUI_TYPE_CO_NITDUI_TYPE_PE_RUCDUI_TYPE_CA_SINDUI_TYPE_DK_CPRDUI_TYPE_GB_NINODUI_TYPE_PL_PESELDUI_TYPE_SE_PNRDUI_TYPE_AT_STNRDUI_TYPE_FI_HETU
person.duiValuestringはいフォーマットなしのドキュメント番号。
person.friendlyNamestringいいえジャーニーUIに表示されるユーザーの表示名。最大50文字。
person.phonestringいいえDDI + DDD + 番号形式の電話番号(区切りなし)。SMSまたはWhatsAppで通知を送信する場合に必須。
person.emailstringいいえメールアドレス。電子署名を含むフローに必須。
person.notificationsarrayいいえジャーニーリンクを送信するための通知チャネル。各アイテムには notificationChannel があります: NOTIFICATION_CHANNEL_WHATSAPPNOTIFICATION_CHANNEL_SMS、または NOTIFICATION_CHANNEL_EMAIL
bioTokenIdstring (UUID)条件付き非推奨。 代わりに references を使用してください。リファレンス生体認証プロセスのID。1:1 バリデーションフロー(idtokenidtokentrustidtokensign)およびスマート再検証(idsmart)に必須。
referencesarray条件付きbioTokenId を置き換える1:1 バリデーションおよびスマート再検証フローのリファレンス入力。各アイテムには referenceTypeREFERENCE_TYPE_IMAGE_BASE64 または REFERENCE_TYPE_PROCESS_ID)と referenceContent(base64エンコード画像またはプロセスUUID)が含まれます。
useCasestring条件付きスマート再検証のユースケース。idsmart に必須。例: USE_CASE_LOGINUSE_CASE_IDENTITY_REVALIDATION_7_DAYSUSE_CASE_FIN_TRANSACTIONS
clientReferencestringいいえこのプロセスの内部識別子(ポータルでのクロスリファレンス用の外部キー)。
companyBranchIdstring (UUID)いいえ支店ID。サービスアカウントに複数の支店が関連付けられている場合のみ必須。
expiresInstringいいえ作成からのプロセス有効期間。フォーマット: "3600s"。省略した場合、デフォルトは7日間です。
flow_configobjectいいえフローごとの設定オーバーライド。
flow_config.biometry_capture.enabled_back_camerabooleanいいえデバイスの背面カメラを使用します。ドキュメントキャプチャまたは電子署名フローとは互換性がありません。
contextualizationobjectいいえキャプチャの理由を説明するためにジャーニー中にユーザーに表示されるトランザクションコンテキスト。
contextualization.company_namestringいいえジャーニー中に表示される会社名。最大20文字。
contextualization.currencystringいいえユーザーに表示される通貨コード。受け入れ可能な値: BRLMXNUSD
contextualization.pricenumberいいえユーザーに表示されるトランザクション金額。
contextualization.localeobjectいいえジャーニー中に表示されるローカライズされたテキスト。キー: ptBrenUsesMx
contextualization.locale.{ptBr|enUs|esMx}.reasonstringいいえジャーニー中に表示されるキャプチャの簡単な理由。最大50文字。
contextualization.locale.{ptBr|enUs|esMx}.titlestringいいえジャーニー中に表示される顧客通知のタイトル。最大100文字。text と一緒に指定する必要があります。HTMLタグは除去されます。
contextualization.locale.{ptBr|enUs|esMx}.textstringいいえジャーニー中に表示される顧客通知の本文。最大210文字。title と一緒に指定する必要があります。HTMLタグは除去されます。

curl -X POST https://api.idcloud.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"callbackUri": "https://app.client.com/callback",
"flow": "idunicodocs",
"purpose": "biometryonboarding",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]"
}
}'

レスポンス

200 OK
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_CREATED",
"flow": "idunicosign",
"purpose": "biometryonboarding",
"callbackUri": "https://app.client.com/callback",
"clientReference": "your-internal-id-123",
"companyBranchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"userRedirectUrl": "https://cadastro.unico.app/process/53060f52-f146-4c12-a234-5bb5031f6f5b",
"token": "eyJhbGciOiJSUzI1NiIs...",
"webAppToken": "eyJhbGciOiJSUzI1NiIs...",
"createdAt": "2023-10-09T09:15:25.417105Z",
"expiresAt": "2023-10-09T16:15:25.417105Z",
"capacities": [],
"authenticationInfo": {},
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]",
"notifications": []
},
"companyData": {
"branchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"countryCode": "BR"
}
}
}
フィールド説明
process.idstring (UUID)プロセス識別子。プロセスの取得で結果を取得するために使用します。
process.stateenumPROCESS_STATE_CREATED - プロセスが作成され、ジャーニーはまだ開始されていません。PROCESS_STATE_FAILED - プロセスの作成に失敗しました。
process.flowstring作成時に送信されたフロー識別子。
process.purposestring作成時に送信されたビジネス目的。
process.callbackUristring作成時に送信されたコールバックURI。
process.clientReferencestring作成時に送信された内部識別子。リクエストで提供された場合のみ存在します。
process.companyBranchIdstring (UUID)支店ID。リクエストで提供された場合のみ存在します。
process.userRedirectUrlstringユーザーをリダイレクトするURL(WebリダイレクトおよびiFrameインテグレーション)。このURLを変更しないでください。
process.tokenstringWeb SDK iFrameを初期化するためのJWT。
process.webAppTokenstringネイティブSDK(Android、iOS、Flutter)を初期化するためのJWT。
process.createdAtstring (date-time)プロセスが作成されたタイムスタンプ。
process.expiresAtstring (date-time)プロセスが期限切れとなり、完了できなくなるタイムスタンプ。
process.capacitiesarrayこのプロセスに設定された機能。
process.authenticationInfoobjectプロセスの認証情報(作成時は空)。
process.personobject作成時に送信された person オブジェクトのエコー。
process.companyData.branchIdstring (UUID)プロセスに関連付けられた支店ID。
process.companyData.countryCodestring支店に関連付けられた国コード(例: BRMX)。
400 Bad Request

リクエストペイロードの形式が不正、必須フィールドが欠落、または flow の値が不明な場合に返されます。

401 Unauthorized

Bearerトークンが欠落、期限切れ、または無効です。認証を参照してください。

429 Too Many Requests

レート制限に達しました。システムがHTTP 429エラーを受信した場合、カスケード障害を防ぎ、制限の悪化を避けるためのメカニズムを実装する必要があります。

ベストプラクティス:

  • クールダウン期間(バックオフ): システムからの後続リクエストを直ちに停止またはスロットルしてください。失敗したリクエストをタイトループで継続的にリトライしないでください。
  • キューイングとスロットリング: 再送信前にトラフィックフローを制御するために、送信リクエストをバッファまたはキューに入れてください。
  • ジッターを含む指数バックオフ: リトライ時に、試行間の待機時間を指数的に増加させ(例: 1秒、2秒、4秒、8秒)、すべてのキューされたリクエストがまったく同じミリ秒にリトライするハード効果を防ぐために小さなランダム遅延(「ジッター」)を追加してください。
警告

バックオフせずにレート制限されたエンドポイントに継続的にアクセスすると、制限期間が延長され、システムの運用スループットに深刻な影響を与える可能性があります。リクエストを適切にスロットリングすることで、よりスムーズで回復力のあるインテグレーションが確保されます。

デフォルトの制限、リクエストの増加、その他の詳細については、レート制限を参照してください。

エラーコード

コードメッセージ説明
3invalid flow指定されたフローが存在しない場合。
3invalid person: friendly name exceeds 50 characters.フレンドリー名が50文字を超えている場合。
3invalid purpose提供された目的が無効な場合。
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:提供されたcallbackUriが無効な場合。
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAIL提供されたメールが無効でメール通知が設定されている場合。
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPP提供された電話番号が無効でSMSまたはWhatsApp通知が設定されている場合。
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui value提供された識別子(duiValue)が無効な場合。
3invalid expiresIn argumentexpiresIn の値が無効な場合。
3invalid company_name argument in process contextualization, max length is 20contextualization.company_name が20文字を超えている場合。
3title and text must be provided together in process contextsロケール内で title または text のいずれか一方のみが指定されている場合。
3invalid title argument in process contexts, max length is 100ロケールの title が100文字を超えている場合。
3invalid text argument in process contexts, max length is 210ロケールの text が210文字を超えている場合。
3invalid reason argument in process contexts, max length is 50ロケールの reason が50文字を超えている場合。
9XX ID Apikeys are not setAPIキーが正しく設定されていない場合。

次のステップ

  • ユーザーがジャーニーを完了した後、結果を取得するにはプロセスの取得を呼び出すか、Webhookを待ちます。