> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.omni-ward.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboarding com SDK

> Seu back-end cria a sessão, o SDK abre a verificação, o resultado chega por webhook.

O SDK conduz a pessoa pelas etapas do workflow (documento, selfie, prova de vida) numa página hospedada pela Omni-Ward. Seu back-end só cria a sessão e lê o resultado.

```mermaid theme={null}
sequenceDiagram
  participant App as Seu app
  participant BE as Seu back-end
  participant OW as Omni-Ward
  App->>BE: Iniciar verificação
  BE->>OW: POST /v1/sessions
  OW-->>BE: id e url
  BE-->>App: url
  App->>OW: SDK abre a url
  OW-->>BE: webhook verification.completed
  BE->>OW: GET /v1/sessions/{id}
```

**1. Publique um workflow**

No console, monte e publique o workflow com as etapas desejadas. Guarde o `workflowVersionId`.

**2. Crie a sessão no back-end**

```bash theme={null}
curl --request POST 'https://api.omni-ward.com/v1/sessions' \
  --header "Authorization: Bearer $OMNI_WARD_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
    "workflowVersionId": "4b1f…",
    "processingPurpose": "Abertura de conta",
    "legalBasis": "consent",
    "subjectRef": "cliente-123",
    "redirectUrl": "https://app.exemplo.com/fim"
  }'
```

```json theme={null}
{
  "id": "0f6c…",
  "status": "CREATED",
  "environment": "SANDBOX",
  "url": "https://verify.omni-ward.com/v/…",
  "linkExpiresAt": "2026-11-09T13:00:00.000Z",
  "expiresAt": "2026-11-10T12:00:00.000Z"
}
```

**3. Abra a url com o SDK**

Entregue só a `url` ao app. Veja [Web](https://api-docs.omni-ward.com/sdk/web.md) e [React Native](https://api-docs.omni-ward.com/sdk/react-native.md).

**4. Leia o resultado**

Receba o [webhook](https://api-docs.omni-ward.com/webhooks.md) `verification.completed` e consulte [`GET /v1/sessions/{id}`](https://api-docs.omni-ward.com/api-reference/consultar-sessao). Para o relatório final, use `POST /v1/sessions/{id}/report`.

> [!WARNING]
>
> Eventos do navegador nunca são prova de resultado. Decida sempre com a API ou com webhooks assinados.

## Regras do link

* O link vale 1 hora e pode ser reaberto, no mesmo aparelho ou em outro: a pessoa continua de onde parou.
* Depois disso, gere outro com `POST /v1/sessions/{id}/link`. O anterior deixa de valer.
* A página hospedada não aceita iframe. Use popup, redirecionamento ou WebView.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.