Zum Hauptinhalt springen

Prozess erstellen

Dies ist der Einstiegspunkt jeder Web- & SDK-Integration. Ihr Back-End ruft ihn auf, um einen Prozess zu erstellen; Ihr Front-End verwendet die zurückgegebenen Tokens, um den iFrame zu rendern, den Benutzer weiterzuleiten oder ein natives SDK zu initialisieren.

Für den vollständigen Integrationsablauf siehe Web & SDK Übersicht.

Endpunkt

UmgebungURL
ProduktionPOST https://api.idcloud.unico.app/client/v1/process
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Anfrage

Headers
HeaderWert
AuthorizationBearer <access_token> (siehe Authentifizierung)
Content-Typeapplication/json
Body-Parameter
FeldTypErforderlichBeschreibung
callbackUristringjaURL, zu der der Benutzer nach Abschluss der Journey weitergeleitet wird. Verwenden Sie / für native SDK-Flows, bei denen der Callback in der App verarbeitet wird.
flowstringjaFlow-Kennung -- bestimmt, welche Fähigkeiten ausgeführt werden. Beispiele: idunicodocs, idunicosign, idchecktrust, idtoken, idsmart. Siehe Verfügbare Flows.
purposestringjaGeschäftszweck. Akzeptierte Werte: creditprocess, biometryonboarding, carpurchase, ageverification.
person.duiTypeenumjaDokumenttyp. Akzeptierte Werte: DUI_TYPE_BR_CPF, DUI_TYPE_MX_CURP, DUI_TYPE_US_SSN, DUI_TYPE_BR_PASSPORT, DUI_TYPE_AR_PASSPORT, DUI_TYPE_AR_DNI, DUI_TYPE_NG_NIN, DUI_TYPE_CL_RUN, DUI_TYPE_EC_NI, DUI_TYPE_US_PASSPORT, DUI_TYPE_GT_CUI, DUI_TYPE_UY_CI, DUI_TYPE_ZZ_EMAIL, DUI_TYPE_ID_NIK, DUI_TYPE_ZZ_PHONE_NUMBER, DUI_TYPE_US_DRIVER_LICENSE, DUI_TYPE_NG_BVN, DUI_TYPE_MX_RFC_PERSONA_FISICA, DUI_TYPE_CO_NIT, DUI_TYPE_PE_RUC, DUI_TYPE_CA_SIN, DUI_TYPE_DK_CPR, DUI_TYPE_GB_NINO, DUI_TYPE_PL_PESEL, DUI_TYPE_SE_PNR, DUI_TYPE_AT_STNR, DUI_TYPE_FI_HETU.
person.duiValuestringjaDokumentnummer, ohne Formatierung.
person.friendlyNamestringneinAnzeigename des Benutzers, der in der Journey-Oberfläche angezeigt wird. Maximal 50 Zeichen.
person.phonestringneinTelefonnummer im Format DDI + DDD + Nummer, ohne Trennzeichen. Erforderlich beim Senden von Benachrichtigungen per SMS oder WhatsApp.
person.emailstringneinE-Mail-Adresse. Erforderlich für Flows mit elektronischer Signatur.
person.notificationsarrayneinBenachrichtigungskanäle zum Senden des Journey-Links. Jedes Element hat notificationChannel: NOTIFICATION_CHANNEL_WHATSAPP, NOTIFICATION_CHANNEL_SMS oder NOTIFICATION_CHANNEL_EMAIL.
bioTokenIdstring (UUID)bedingtVeraltet. Verwenden Sie stattdessen references. ID des biometrischen Referenzprozesses. Erforderlich für 1:1-Validierungsabläufe (idtoken, idtokentrust, idtokensign) und Intelligente Revalidierung (idsmart).
referencesarraybedingtReferenz-Eingaben für 1:1-Validierungs- und Intelligente-Revalidierungs-Abläufe, ersetzt bioTokenId. Jedes Element enthält referenceType (REFERENCE_TYPE_IMAGE_BASE64 oder REFERENCE_TYPE_PROCESS_ID) und referenceContent (Base64-kodiertes Bild oder Prozess-UUID).
useCasestringbedingtAnwendungsfall für Intelligente Revalidierung. Erforderlich für idsmart. Beispiele: USE_CASE_LOGIN, USE_CASE_IDENTITY_REVALIDATION_7_DAYS, USE_CASE_FIN_TRANSACTIONS.
clientReferencestringneinIhre interne Kennung für diesen Prozess (Fremdschlüssel für Querverweise im Portal).
companyBranchIdstring (UUID)neinFilial-ID. Nur erforderlich, wenn dem Dienstkonto mehr als eine Filiale zugeordnet ist.
expiresInstringneinGültigkeitsfenster des Prozesses ab Erstellung. Format: "3600s". Standard ist 7 Tage, wenn nicht angegeben.
flow_configobjectneinKonfigurationsüberschreibungen pro Flow.
flow_config.biometry_capture.enabled_back_camerabooleanneinRückkamera des Geräts verwenden. Nicht kompatibel mit Dokumentenerfassungs- oder elektronischen Signatur-Flows.
contextualizationobjectneinTransaktionskontext, der dem Benutzer während der Journey angezeigt wird, um die Erfassung zu erklären.
contextualization.company_namestringneinUnternehmensname, der während der Journey angezeigt wird. Maximal 20 Zeichen.
contextualization.currencystringneinDem Benutzer angezeigter Währungscode. Akzeptierte Werte: BRL, MXN, USD.
contextualization.pricenumberneinDem Benutzer angezeigter Transaktionsbetrag.
contextualization.localeobjectneinLokalisierter Text, der während der Journey angezeigt wird. Schlüssel: ptBr, enUs, esMx.
contextualization.locale.{ptBr|enUs|esMx}.reasonstringneinKurzer Grund für die Erfassung, der während der Journey angezeigt wird. Maximal 50 Zeichen.
contextualization.locale.{ptBr|enUs|esMx}.titlestringneinTitel des Kundenhinweises, der während der Journey angezeigt wird. Maximal 100 Zeichen. Muss zusammen mit text angegeben werden. HTML-Tags werden entfernt.
contextualization.locale.{ptBr|enUs|esMx}.textstringneinInhalt des Kundenhinweises, der während der Journey angezeigt wird. Maximal 210 Zeichen. Muss zusammen mit title angegeben werden. HTML-Tags werden entfernt.

Beispiel

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]"
}
}'

Antworten

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"
}
}
}
FeldTypBeschreibung
process.idstring (UUID)Prozesskennung. Verwenden Sie sie zum Abrufen des Ergebnisses über Prozess abrufen.
process.stateenumPROCESS_STATE_CREATED -- Prozess erstellt, Journey noch nicht gestartet. PROCESS_STATE_FAILED -- Prozesserstellung fehlgeschlagen.
process.flowstringBei der Erstellung gesendete Flow-Kennung.
process.purposestringBei der Erstellung gesendeter Geschäftszweck.
process.callbackUristringBei der Erstellung gesendete Callback-URI.
process.clientReferencestringIhre bei der Erstellung gesendete interne Kennung. Nur vorhanden, wenn in der Anfrage angegeben.
process.companyBranchIdstring (UUID)Filial-ID. Nur vorhanden, wenn in der Anfrage angegeben.
process.userRedirectUrlstringURL zur Weiterleitung des Benutzers (Web-Redirect- und iFrame-Integrationen). Ändern Sie diese URL nicht.
process.tokenstringJWT zur Initialisierung des Web SDK iFrame.
process.webAppTokenstringJWT zur Initialisierung nativer SDKs (Android, iOS, Flutter).
process.createdAtstring (date-time)Zeitstempel der Prozesserstellung.
process.expiresAtstring (date-time)Zeitstempel, nach dem der Prozess abläuft und nicht mehr abgeschlossen werden kann.
process.capacitiesarrayFür diesen Prozess konfigurierte Fähigkeiten.
process.authenticationInfoobjectAuthentifizierungsinformationen für den Prozess (zum Erstellungszeitpunkt leer).
process.personobjectEcho des bei der Erstellung gesendeten person-Objekts.
process.companyData.branchIdstring (UUID)Dem Prozess zugeordnete Filial-ID.
process.companyData.countryCodestringDem Filial zugeordneter Ländercode (z. B. BR, MX).
400 Bad Request

Wird zurückgegeben, wenn der Anfrage-Payload fehlerhaft ist, erforderliche Felder fehlen oder der flow-Wert unbekannt ist.

401 Unauthorized

Bearer-Token fehlt, ist abgelaufen oder ungültig. Siehe Authentifizierung.

429 Too Many Requests

Rate-Limit erreicht. Wenn Ihr System einen HTTP-429-Fehler empfängt, müssen Sie Mechanismen implementieren, um Kaskadenausfälle zu verhindern und eine Verschärfung der Einschränkung zu vermeiden.

Best Practices:

  • Abkühlphase (Backoff): Stoppen oder drosseln Sie nachfolgende Anfragen aus Ihrem System sofort. Wiederholen Sie fehlgeschlagene Anfragen nicht in einer engen Schleife.
  • Warteschlange & Drosselung: Puffern oder reihen Sie ausgehende Anfragen auf Ihrer Seite ein, um den Datenverkehr zu kontrollieren, bevor Sie sie erneut senden.
  • Exponentielles Backoff mit Jitter: Erhöhen Sie beim Wiederholen die Wartezeit zwischen den Versuchen exponentiell (z. B. 1 s, 2 s, 4 s, 8 s) und fügen Sie eine kleine zufällige Verzögerung ("Jitter") hinzu, um einen Herdeneffekt zu vermeiden, bei dem alle wartenden Anfragen exakt zur gleichen Millisekunde erneut gesendet werden.
Warnung

Das kontinuierliche Ansteuern eines rate-limitierten Endpunkts ohne Backoff kann die Einschränkungsdauer verlängern und den operativen Durchsatz Ihres Systems erheblich beeinträchtigen. Ordnungsgemäßes Drosseln der Anfragen auf Ihrer Seite gewährleistet eine reibungslosere und widerstandsfähigere Integration.

Für Standardlimits, Erhöhungsanfragen und weitere Details siehe Rate-Limits.

Fehlercodes

CodeNachrichtBeschreibung
3invalid flowWenn der angegebene Flow nicht existiert.
3invalid person: friendly name exceeds 50 characters.Wenn der Anzeigename 50 Zeichen überschreitet.
3invalid purposeWenn der angegebene Zweck ungültig ist.
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:Wenn die angegebene callbackUri ungültig ist.
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAILWenn die angegebene E-Mail ungültig ist und E-Mail-Benachrichtigung konfiguriert ist.
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPPWenn die angegebene Telefonnummer ungültig ist und SMS- oder WhatsApp-Benachrichtigung konfiguriert ist.
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueWenn die angegebene Kennung (duiValue) ungültig ist.
3invalid expiresIn argumentWenn der expiresIn-Wert ungültig ist.
3invalid company_name argument in process contextualization, max length is 20Wenn contextualization.company_name 20 Zeichen überschreitet.
3title and text must be provided together in process contextsWenn nur eines von title oder text in einem Locale angegeben wird.
3invalid title argument in process contexts, max length is 100Wenn ein Locale-title 100 Zeichen überschreitet.
3invalid text argument in process contexts, max length is 210Wenn ein Locale-text 210 Zeichen überschreitet.
3invalid reason argument in process contexts, max length is 50Wenn ein Locale-reason 50 Zeichen überschreitet.
9XX ID Apikeys are not setWenn der API Key nicht ordnungsgemäß konfiguriert ist.

Nächste Schritte

  • Nachdem der Benutzer die Journey abgeschlossen hat, rufen Sie Prozess abrufen auf, um das Ergebnis abzurufen, oder warten Sie auf den Webhook.