Casos de uso
Como combinar solicitação, webhook e download do Dossiê em fluxos práticos. Os cenários abaixo usam apenas comportamentos descritos na documentação da API.
1. Dossiê PRO básico com webhook
Objetivo: gerar o Dossiê PRO de um CPF e receber o aviso quando o PDF estiver pronto, sem consultar a API repetidamente.
Solicite
POST /dossie/pf com cpf,
idFinalidade: 2 e webhookUrl. Guarde o
protocol e confirme idStatus = 11.
Receba o webhook
Sua URL recebe um POST com status: SUCCESS (ou
FAILURE). Responda 2xx rapidamente.
Baixe o PDF
GET /dossie/download/{protocolo} com o
protocolo recebido.
webhookUrl, a solicitação funciona normalmente, mas você
precisará descobrir por conta própria quando o PDF ficou disponível. O
download retorna 404 enquanto o PDF não foi gerado.
2. Dossiê PRO com Bens Veiculares
Objetivo: incluir a consulta de veículos no Dossiê PRO e tratar a notificação parcial.
Envie "idsModulosAdicionais": [2] na solicitação. Como a consulta
veicular pode demorar mais, o mesmo protocolo recebe duas
notificações:
-
CONSULTING: PDF parcial, com módulos ainda em consulta. É informativa e não indica o fim do processamento. -
Notificação final:
SUCCESS,PARTIAL_SUCCESSouFAILURE.
curl -X POST \ "https://api.assertivasolucoes.com.br/dossie/pf" \ -H "Authorization: Bearer SEU_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "cpf": "123.456.789-09", "idFinalidade": 2, "tipoConsulta": "PRO", "idsModulosAdicionais": [2], "webhookUrl": "https://seu-sistema.com.br/webhooks/dossie" }'
const accessToken = process.env.ASSERTIVA_ACCESS_TOKEN; const resposta = await fetch("https://api.assertivasolucoes.com.br/dossie/pf", { method: "POST", headers: { Authorization: `Bearer ${accessToken}`, "Content-Type": "application/json" }, body: JSON.stringify({ cpf: "123.456.789-09", idFinalidade: 2, tipoConsulta: "PRO", idsModulosAdicionais: [2], webhookUrl: "https://seu-sistema.com.br/webhooks/dossie" }) }); const dados = await resposta.json(); console.log(dados.body.protocol);
import os import requests access_token = os.environ["ASSERTIVA_ACCESS_TOKEN"] resposta = requests.post( "https://api.assertivasolucoes.com.br/dossie/pf", headers={"Authorization": f"Bearer {access_token}"}, json={ "cpf": "123.456.789-09", "idFinalidade": 2, "tipoConsulta": "PRO", "idsModulosAdicionais": [2], "webhookUrl": "https://seu-sistema.com.br/webhooks/dossie", }, ) resposta.raise_for_status() print(resposta.json()["body"]["protocol"])
3. Tratar módulo adicional com erro
Objetivo: lidar com o caso em que o dossiê é concluído, mas um módulo adicional não pôde ser consultado.
Nesse caso a notificação final é PARTIAL_SUCCESS. O PDF final
está disponível, mas não contém os módulos listados em
modulosAdicionaisComErro.
{
"protocolo": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"doc": "12345678901",
"status": "PARTIAL_SUCCESS",
"modulosAdicionaisComErro": [
{ "id": 2, "nome": "Bens Veiculares" }
]
}
4. Dossiê LITE
Objetivo: gerar a versão simplificada do Dossiê.
Envie "tipoConsulta": "LITE". O Dossiê LITE não possui módulos
adicionais, então não informe idsModulosAdicionais. Seu usuário
precisa ter permissão para a versão; caso contrário a API retorna
403.
5. Receber o webhook com segurança
Objetivo: processar as notificações de forma segura e idempotente.
Responda rápido
O timeout é de 10 segundos por tentativa. Responda 2xx e
faça o processamento pesado de forma assíncrona.
Seja idempotente
A mesma notificação pode chegar mais de uma vez. Use
protocolo + status como chave.
Confirme o protocolo
Não confie só no conteúdo recebido: confirme o protocolo
consultando o download com o seu token.
Use HTTPS
Informe uma URL https e não coloque credenciais ou dados
sensíveis na webhookUrl.
Boas práticas
Verifique o idStatus
A resposta 200 não garante que a consulta foi aceita. Só
aguarde o resultado quando o idStatus for 11.
Baixe só o PDF final
O PDF após CONSULTING é parcial. Baixe após
SUCCESS ou PARTIAL_SUCCESS.
Guarde o protocolo
Ele identifica o dossiê no download e no webhook. Dossiês expurgados
retornam 404.
Informe a finalidade
O Dossiê aceita apenas idFinalidade=2 (Ciclo de crédito),
compatível com o processo de negócio.