Testar em sandbox sem gastar créditos

Sandbox é um modo por aplicação em que todos os fornecedores são simulados, nada é faturado e podes forçar qualquer resultado de verificação que precises - aprovada, recusada ou em revisão.

Short answer

Sandbox é um modo numa aplicação, não um interruptor dentro da tua aplicação em produção. Cria uma segunda aplicação em modo sandbox, usa a sua chave de API, e todas as comprovações são simuladas, nada é faturado e podes forçar o resultado que quiseres. Se só vês uma aplicação de produção, precisas de criar a de sandbox - o modo é escolhido por aplicação.

O sandbox da Didit é o equivalente aos cartões de teste de um fornecedor de pagamentos: permite-te reproduzir qualquer resultado de verificação a pedido, sem chamar fornecedores reais, sem lidar com dados pessoais reais e sem tocar no teu saldo.

#O sandbox é um modo numa aplicação

Esta é a parte que costuma confundir a maioria das pessoas. Live e sandbox são aplicações separadas dentro da mesma organização, por isso o tráfego de teste e os dados de produção nunca se misturam. Cada aplicação tem um modo, live ou sandbox.

A página de chaves de API na consola Didit, onde cada chave pertence a uma aplicação
  1. Uma chave pertence a uma aplicação - a chave da aplicação sandbox não consegue tocar em sessões live.
  2. Cria uma chave separada para testes em vez de reutilizar a de produção.
As chaves são por aplicação, por isso uma chave de sandbox nunca consegue chegar a dados em produção.
  1. Cria uma segunda aplicação

    Na consola, abre o seletor de aplicações no topo e cria uma aplicação nova. Escolhe sandbox como modo.

  2. Usa a chave de API dessa aplicação

    Vai buscar a chave de API a API e Webhooks com a aplicação sandbox selecionada. Não existe uma "chave de teste" separada numa aplicação em produção - a chave é o ambiente.

  3. Cria um fluxo de trabalho nela

    As aplicações sandbox têm os seus próprios fluxos de trabalho. Recria (ou copia) o fluxo que queres testar.

  4. Cria sessões normalmente

    O mesmo endpoint, o mesmo caminho de código. A única diferença é qual chave envias.

Note

Se a tua consola só mostra uma aplicação de produção e nenhuma forma de adicionar uma sandbox, pede ao suporte para ativar a criação de aplicações sandbox para a tua organização - é uma definição a nível de conta, não algo que tenhas configurado mal.

#O que o sandbox muda, e o que não muda

SandboxProdução
Fornecedores externosTodos simulados - nunca é chamado nenhum terceiroReais
FaturaçãoNunca faturado; a verificação de saldo é ignoradaFaturado por funcionalidade concluída
Limite de criação de sessões500 por 24 horas, por aplicaçãoO teu saldo
Payload do webhook"environment": "sandbox""environment": "live"
Dados extraídos e estadoSimulados pelo cenário que escolheresDerivados da captura real
Media capturadaGuardada de forma real, exatamente como uma sessão em produçãoGuardada
Important

O sandbox guarda a media que captura - documentos, selfie, vídeo de prova de vida, ficheiros de comprovativo de morada - exatamente como uma sessão em produção faria. O resultado é simulado, mas o upload é real, por isso usa os documentos de amostra e os dados de teste que o fluxo oferece em vez de um documento de identidade real ou informação pessoal real.

Como os resultados nunca dependem dos pixels, uma fotografia propositadamente má não vai gerar uma recusa em sandbox. É o cenário que decide.

#Escolher o resultado

Passa o slug de um cenário como sandbox_scenario ao criares a sessão, ou deixa o testador escolher um: as sessões sandbox no fluxo alojado mostram um seletor de cenário dentro do cartão antes de a captura começar, além de uma faixa de documentos de amostra por baixo do componente de upload e um aviso permanente de "apenas dados de teste".

Os cenários cobrem os resultados de que realmente precisas para construir e testar:

Queres testarCenário
Tudo aprovadoapprove
Documento caducadodecline_document_expired
Documento ilegíveldecline_could_not_recognize_document
Falha no checksum da MRZdecline_mrz_validation
Abaixo da idade mínimadecline_minimum_age
Correspondência facial demasiado baixadecline_face_match_low_similarity
Ataque de apresentação na prova de vidadecline_liveness_attack
Ocorrência de sanções / PEP em AMLdecline_aml_hit
Endereço IP bloqueadodecline_ip_blocklist
Discrepância de morada no comprovativo de moradadecline_poa_address_mismatch
Falha de integridade no chip NFCdecline_nfc_chip_not_verified
Validação em base de dados sem correspondênciadecline_database_no_match
Precisa de revisão manual (AML)review_aml_possible_match
Precisa de revisão manual (correspondência facial limítrofe)review_face_match_borderline
Precisa de revisão manual (correspondência parcial de morada)review_poa_partial_match
Discrepância no registo KYBdecline_kyb_registry_mismatch

Os cenários review_* existem para poderes exercitar todo o caminho de revisão manual - a fila de revisão da consola, o webhook In Review, um revisor a aprovar ou a pedir reenvio - sem precisares de um input com nível de recusa.

Tip

O catálogo em direto de cenários e valores mágicos é servido pela própria API em GET /v1/sandbox/scenarios/. Se algum slug aqui parecer desatualizado, confia no endpoint. Referência completa: testes em sandbox.

#Distinguir os dois no teu próprio código

Todos os webhooks trazem um campo environment - "sandbox" ou "live". Faz a bifurcação com base nisso em vez de tentares inferir o ambiente a partir da chave, e nunca vais confundir uma sessão de teste com um cliente real.

#O que o sandbox não faz

  • Não devolve dados reais de registo para uma empresa real. O KYB em sandbox usa respostas de registo simuladas.
  • Não envia um SMS ou e-mail real. A verificação de telefone e e-mail são simuladas, por isso não podes usar o sandbox para pré-visualizar a entrega real de mensagens.
  • Não consome os teus limites mensais gratuitos - o que também significa que uma execução em sandbox não te diz nada sobre as comprovações gratuitas que te restam.

#Se precisares de verificações de teste reais

Algumas coisas exigem genuinamente uma chamada em produção - confirmar que o serviço de base de dados de um país específico está provisionado para ti, ou confirmar a entrega de SMS a uma operadora específica. Isso precisa de um pequeno carregamento numa aplicação em produção em vez de sandbox. Pergunta ao suporte antes de gastares nisso, para que possam confirmar primeiro que o serviço está mesmo ativado na tua conta.