Arquivos do contrato público
Importe os arquivos e configure somente no seu ambiente privado a URL oficial e a chave habilitada. Não publique um workspace com segredos. Os exemplos abaixo usam dados fictícios; os timeouts são escolhas demonstrativas do cliente, não um SLA.
Exemplos HTTP no backend
# Server-side only. Configure KYC_API_BASE_URL with your authorized base (https://api.example.invalid is illustrative), and KYC_API_KEY privately. Never expose credentials in browser code.
set -eu
: "${KYC_API_BASE_URL:?Set authorized base}" "${KYC_API_KEY:?Set API key}"
: "${KYC_IDEMPOTENCY_KEY:?Persist the key for this creation intent}"
curl --fail-with-body --max-time 15 --request POST \
"${KYC_API_BASE_URL%/}/v1/face-auth/transactions" \
--header "X-API-Key: ${KYC_API_KEY}" \
--header "Idempotency-Key: ${KYC_IDEMPOTENCY_KEY}" \
--header 'Content-Type: application/json' \
--data-binary '{"country_code":"BR","external_id":"docs-example-0001","locale":"pt-BR","subject":{"identity":{"country":"BR","number":"00000000000","type":"CPF"}}}'
# Persist transaction_id and business correlation; use the returned links.webview_url. Read status, decision and decision_reason together. Reuse the SAME idempotency key AND original payload only for the same creation intent; never silently bypass a 409 conflict.
Esses trechos mostram a criação básica; não são SDKs oficiais nem consumidores completos. Acrescente validação de configuração, persistência, tratamento de erros e repetição idempotente conforme sua aplicação. Uma intenção de criação nova deve receber outra chave; uma tentativa técnica deve preservar a anterior e o mesmo payload.
Para cURL, veja o início rápido. Para o receptor de eventos, siga validação HMAC e reconciliação. O simulador demonstra cenários fixos sem acessar a API real.