---
title: Prozess erstellen
description: Erstellen Sie einen Verifizierungsprozess. Gibt eine Journey-URL und SDK-Tokens zurück, die den Benutzer an die von Unico gehostete Erfassungserfahrung weiterleiten.
canonical: https://developer.unico.io/de/dual-api/developers/api-reference/web-sdk/post-process
locale: de
generated_by: markdown-export
---

- [/de/](/de/)
- [API-Referenz](/de/dual-api/developers/api-reference/)
- [Web & Nativ](/de/dual-api/developers/api-reference/web-sdk/)
- Create Process

**Auf dieser Seite# 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](/de/dual-api/developers/api-reference/web-sdk/).
### Endpunkt​

UmgebungURL**Produktion**`POST https://api.idcloud.unico.app/client/v1/process`**Sandbox**`POST https://api.idcloud.uat.unico.app/client/v1/process`
### Anfrage​

Headers
HeaderWert`Authorization``Bearer <access_token>` (siehe [Authentifizierung](/de/dual-api/developers/api-reference/authentication))`Content-Type``application/json`
Body-Parameter
FeldTypErforderlichBeschreibung`callbackUri`stringjaURL, 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.`flow`stringjaFlow-Kennung -- bestimmt, welche Fähigkeiten ausgeführt werden. Beispiele: `idunicodocs`, `idunicosign`, `idchecktrust`, `idtoken`, `idsmart`. Siehe [Verfügbare Flows](/de/dual-api/capabilities/available-flows).`purpose`stringjaGeschäftszweck. Akzeptierte Werte: `creditprocess`, `biometryonboarding`, `carpurchase`, `ageverification`.`person.duiType`enumneinDokumenttyp. Akzeptierte Werte: `DUI_TYPE_AR_PASSPORT`, `DUI_TYPE_AR_DNI`, `DUI_TYPE_AR_LNC`, `DUI_TYPE_AT_STNR`, `DUI_TYPE_BE_NN`, `DUI_TYPE_BR_CPF`, `DUI_TYPE_BR_PASSPORT`, `DUI_TYPE_BR_CNPJ`, `DUI_TYPE_CA_SIN`, `DUI_TYPE_CH_AHV`, `DUI_TYPE_CL_RUN`, `DUI_TYPE_CL_PASSPORT`, `DUI_TYPE_CL_LICENCIA_CONDUCIR`, `DUI_TYPE_CO_NIT`, `DUI_TYPE_CO_PASSPORT`, `DUI_TYPE_CO_LICENCIA_CONDUCCION`, `DUI_TYPE_CO_CC`, `DUI_TYPE_DE_IDNR`, `DUI_TYPE_DK_CPR`, `DUI_TYPE_EC_NI`, `DUI_TYPE_ES_NIE`, `DUI_TYPE_ES_DNI`, `DUI_TYPE_FI_HETU`, `DUI_TYPE_FR_SPI`, `DUI_TYPE_GB_NINO`, `DUI_TYPE_GT_CUI`, `DUI_TYPE_ID_NIK`, `DUI_TYPE_IE_PPSN`, `DUI_TYPE_IT_CF`, `DUI_TYPE_LU_MATRICULE`, `DUI_TYPE_MX_CURP`, `DUI_TYPE_MX_RFC_PERSONA_FISICA`, `DUI_TYPE_MX_LICENCIA_CONDUCIR`, `DUI_TYPE_NG_NIN`, `DUI_TYPE_NG_BVN`, `DUI_TYPE_NG_BVN_TOKEN`, `DUI_TYPE_NG_NIN_TOKEN`, `DUI_TYPE_NL_BSN`, `DUI_TYPE_NO_FNR`, `DUI_TYPE_PE_RUC`, `DUI_TYPE_PE_DNI`, `DUI_TYPE_PE_PASSPORT`, `DUI_TYPE_PL_PESEL`, `DUI_TYPE_PT_NIF`, `DUI_TYPE_SE_PNR`, `DUI_TYPE_SE_SAMORDNINGSNUMMER`, `DUI_TYPE_TR_TCKN`, `DUI_TYPE_US_SSN`, `DUI_TYPE_US_PASSPORT`, `DUI_TYPE_US_DRIVER_LICENSE`, `DUI_TYPE_US_PASSPORT_CARD`, `DUI_TYPE_US_POLYCARBONATE_PASSPORT`, `DUI_TYPE_US_ID_CARD`, `DUI_TYPE_UY_CI`, `DUI_TYPE_ZZ_EMAIL`, `DUI_TYPE_ZZ_PHONE_NUMBER`.`person.duiValue`stringneinDokumentnummer, ohne Formatierung.`person.friendlyName`stringneinAnzeigename des Benutzers, der in der Journey-Oberfläche angezeigt wird. Maximal 50 Zeichen.`person.phone`stringneinTelefonnummer im Format DDI + DDD + Nummer, ohne Trennzeichen. Erforderlich beim Senden von Benachrichtigungen per SMS oder WhatsApp.`person.email`stringneinE-Mail-Adresse. Erforderlich für Flows mit elektronischer Signatur.`person.notifications`arrayneinBenachrichtigungskanäle zum Senden des Journey-Links. Jedes Element hat `notificationChannel`: `NOTIFICATION_CHANNEL_WHATSAPP`, `NOTIFICATION_CHANNEL_SMS` oder `NOTIFICATION_CHANNEL_EMAIL`.`bioTokenId`string (UUID)bedingt**Veraltet.** Verwenden Sie stattdessen `references`. ID des biometrischen Referenzprozesses. Erforderlich für 1:1-Validierungsabläufe (`idtoken`, `idtokentrust`, `idtokensign`) und Intelligente Revalidierung (`idsmart`).`references`arraybedingtReferenz-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).`useCase`stringbedingtSzenario der Intelligenten Revalidierung. Erforderlich für `idsmart`. Beispiele: `USE_CASE_LOGIN`, `USE_CASE_IDENTITY_REVALIDATION_7_DAYS`, `USE_CASE_FIN_TRANSACTIONS`.`clientReference`stringbedingtEindeutiger Bezeichner des Benutzers in Ihrem System. **Erforderlich für die Fähigkeit [Mehrfachkonten](/de/capabilities/multi-accounts).** Eindeutig in Ihrer Datenbank, maximal 256 Zeichen, keine Leerzeichen.`companyBranchId`string (UUID)neinFilial-ID. Nur erforderlich, wenn dem Dienstkonto mehr als eine Filiale zugeordnet ist.`expiresIn`stringneinGültigkeitsfenster des Prozesses ab Erstellung. Format: `"3600s"`. Standard ist 7 Tage, wenn nicht angegeben.`flow_config`objectneinKonfigurationsüberschreibungen pro Flow.`flow_config.biometry_capture.enabled_back_camera`booleanneinRückkamera des Geräts verwenden. Nicht kompatibel mit Dokumentenerfassungs- oder elektronischen Signatur-Flows.`contextualization`objectneinTransaktionskontext, der dem Benutzer während der Journey angezeigt wird, um die Erfassung zu erklären.`contextualization.company_name`stringneinUnternehmensname, der während der Journey angezeigt wird. Maximal 20 Zeichen.`contextualization.currency`stringneinDem Benutzer angezeigter Währungscode. Akzeptierte Werte: `BRL`, `MXN`, `USD`.`contextualization.price`numberneinDem Benutzer angezeigter Transaktionsbetrag.`contextualization.locale`objectneinLokalisierter Text, der während der Journey angezeigt wird. Schlüssel: `ptBr`, `enUs`, `esMx`.`contextualization.locale.{ptBr|enUs|esMx}.reason`stringneinKurzer Grund für die Erfassung, der während der Journey angezeigt wird. Maximal 50 Zeichen.`contextualization.locale.{ptBr|enUs|esMx}.title`stringneinTitel 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}.text`stringneinInhalt des Kundenhinweises, der während der Journey angezeigt wird. Maximal 210 Zeichen. Muss zusammen mit `title` angegeben werden. HTML-Tags werden entfernt.
### Beispiel​

cURLNode.js```
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": "luke@example.com"    }  }'
```

```
import fetch from 'node-fetch';const res = await fetch('https://api.idcloud.unico.app/client/v1/process', {  method: 'POST',  headers: {    'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,    'Content-Type': 'application/json'  },  body: JSON.stringify({    callbackUri: 'https://app.client.com/callback',    flow: 'idunicodocs',    purpose: 'biometryonboarding',    person: {      duiType: 'DUI_TYPE_BR_CPF',      duiValue: '12345678909',      friendlyName: 'Luke Skywalker',      phone: '5511912345678',      email: 'luke@example.com'    }  })});const { process: proc } = await res.json();// proc.userRedirectUrl, proc.token, proc.webAppToken
```

### 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": "luke@example.com",      "notifications": []    },    "companyData": {      "branchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",      "countryCode": "BR"    }  }}
```

FeldTypBeschreibung`process.id`string (UUID)Prozesskennung. Verwenden Sie sie zum Abrufen des Ergebnisses über [Prozess abrufen](/de/dual-api/developers/api-reference/web-sdk/get-process).`process.state`enum`PROCESS_STATE_CREATED` -- Prozess erstellt, Journey noch nicht gestartet. `PROCESS_STATE_FAILED` -- Prozesserstellung fehlgeschlagen.`process.flow`stringBei der Erstellung gesendete Flow-Kennung.`process.purpose`stringBei der Erstellung gesendeter Geschäftszweck.`process.callbackUri`stringBei der Erstellung gesendete Callback-URI.`process.clientReference`stringIhre bei der Erstellung gesendete interne Kennung. Nur vorhanden, wenn in der Anfrage angegeben.`process.companyBranchId`string (UUID)Filial-ID. Nur vorhanden, wenn in der Anfrage angegeben.`process.userRedirectUrl`stringURL zur Weiterleitung des Benutzers (Web-Redirect- und iFrame-Integrationen). Ändern Sie diese URL nicht.`process.token`stringJWT zur Initialisierung des **Web SDK iFrame**.`process.webAppToken`stringJWT zur Initialisierung **nativer SDKs** (Android, iOS, Flutter).`process.createdAt`string (date-time)Zeitstempel der Prozesserstellung.`process.expiresAt`string (date-time)Zeitstempel, nach dem der Prozess abläuft und nicht mehr abgeschlossen werden kann.`process.capacities`arrayFür diesen Prozess konfigurierte Fähigkeiten.`process.authenticationInfo`objectAuthentifizierungsinformationen für den Prozess (zum Erstellungszeitpunkt leer).`process.person`objectEcho des bei der Erstellung gesendeten `person`-Objekts.`process.companyData.branchId`string (UUID)Dem Prozess zugeordnete Filial-ID.`process.companyData.countryCode`stringDem Filial zugeordneter Ländercode (z. B. `BR`, `MX`).
### Fehlercodes​

400 Bad Request401 Unauthorized429 Too Many Requests500 Internal Server ErrorCodeNachrichtBeschreibung`3`invalid flowWenn der angegebene Flow nicht existiert.`3`invalid person: friendly name exceeds 50 characters.Wenn der Anzeigename 50 Zeichen überschreitet.`3`invalid purposeWenn der angegebene Zweck ungültig ist.`3`invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:Wenn die angegebene callbackUri ungültig ist.`3`invalid 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.`3`invalid 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.`3`idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueWenn die angegebene Kennung (duiValue) ungültig ist.`3`invalid expiresIn argumentWenn der `expiresIn`-Wert ungültig ist.`3`invalid company_name argument in process contextualization, max length is 20Wenn `contextualization.company_name` 20 Zeichen überschreitet.`3`title and text must be provided together in process contextsWenn nur eines von `title` oder `text` in einem Locale angegeben wird.`3`invalid title argument in process contexts, max length is 100Wenn ein Locale-`title` 100 Zeichen überschreitet.`3`invalid text argument in process contexts, max length is 210Wenn ein Locale-`text` 210 Zeichen überschreitet.`3`invalid reason argument in process contexts, max length is 50Wenn ein Locale-`reason` 50 Zeichen überschreitet.`9`XX ID Apikeys are not setWenn der API Key nicht ordnungsgemäß konfiguriert ist.Bearer-Token fehlt, ist abgelaufen oder ungültig. Siehe [Authentifizierung](/de/dual-api/developers/api-reference/authentication).NachrichtBeschreibungJwt header is an invalid JSONWenn das verwendete Access-Token falsche Zeichen enthält.Jwt is expiredWenn das verwendete Access-Token abgelaufen ist.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.
WarnungDas 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](/de/dual-api/developers/api-reference/rate-limits).CodeNachrichtBeschreibung`99999`Internal failure! Try again laterWenn ein interner Fehler auftritt.
### Nächste Schritte​

Nachdem der Benutzer die Journey abgeschlossen hat, rufen Sie [Prozess abrufen](/de/dual-api/developers/api-reference/web-sdk/get-process) auf, um das Ergebnis abzurufen, oder warten Sie auf den [Webhook](/de/developers/webhooks-and-events).
Um alle Recipe-Kombinationen und ihre möglichen Ergebniswerte zu sehen, siehe [Flows](/de/dual-api/developers/api-reference/web-sdk/flows).
Zuletzt aktualisiert am 8. Okt. 2026**