Testando a Captura de Lastro
Esta página é um roteiro para quem está construindo a leitura automatizada dos Lastros da Cessão e precisa de um document_url que funcione de verdade para testar antes de ir a produção.
A ideia é simples: em sandbox, você roda uma cessão de ponta a ponta usando os PDFs de exemplo que disponibilizamos abaixo. O assignment_documents é gerado pelo mesmo código que gera o relatório em produção, com links pré-assinados legítimos — nada é montado à mão.
document_url é uma URL pré-assinada de S3, gerada no momento em que o relatório é produzido e válida por 5 dias. Um arquivo estático com links reais expiraria antes de chegar até você. Rodando o roteiro, você gera links novos sempre que precisar.
O que você precisa ter em sandbox
Este teste usa o fluxo normal de cessão, então ele pressupõe o mesmo setup de qualquer integração:
| Item | Como obter |
|---|---|
Classe de fundo (fund_class_key) | Fornecida pelo time de integração. |
Configuração de cessão (assignment_configuration_key) | Fornecida pelo time de integração. Ela define o tipo de ativo da cessão e quais documentos são exigidos. |
assignment_documents na rotina de relatórios da configuração | Peça ao time de integração para incluir o relatório na configuração de cessão. Sem isso o arquivo não é gerado. |
| Destino de entrega (SFTP) | Configurado junto com a rotina de relatórios. Veja a integração SFTP. |
Não existe caminho que produza um document_url real sem uma cessão real em sandbox — o relatório é uma consulta aos documentos efetivamente anexados aos ativos daquela cessão. Se o seu objetivo é apenas conferir a estrutura das colunas, use o pacote de exemplos da introdução, que traz o CSV com URL de exemplo no formato correto.
Arquivos de exemplo
Um documento por document_type, com dados fictícios, texto extraível (não são imagem) e a estrutura típica de cada tipo:
📦 Baixar todos (lastros_exemplo.zip)
| Arquivo | document_type | O que é |
|---|---|---|
| ccb_exemplo_01.pdf | ccb | CCB emitida pela QI SCD, 3 parcelas, 22 páginas com cadeia de endossos |
| ccb_exemplo_02.pdf | ccb | CCB emitida pela QI SCD, 2 parcelas, 22 páginas com cadeia de endossos |
| duplicata_mercantil_exemplo.pdf | duplicata_mercantil | Duplicata mercantil com chave de acesso da NF-e |
| invoice_exemplo.pdf | invoice | DANFE da NF-e referenciada pela duplicata |
| duplicata_servicos_exemplo.pdf | duplicata_servicos | Duplicata de prestação de serviços, referenciando NFS-e |
| cte_exemplo.pdf | cte | DACTE |
| discounted_contract_exemplo.pdf | discounted_contract | Contrato de prestação de serviços com cláusula de cessão |
Nenhum deles tem validade jurídica ou fiscal, nenhum foi transmitido à SEFAZ e nenhum contém dados de pessoas ou empresas reais. Servem exclusivamente para teste de leitura.
Os dois PDFs de ccb são consistentes com o example_reports.zip publicado na introdução aos relatórios: mesmos números de contrato (0900112233/EXA e 0900112247/EXB), mesmos valores de parcela, mesmos vencimentos e mesma taxa mensal que aparecem no assignment_assets_wallet_composition de exemplo.
Os dois PDFs de ccb são a estrutura de verdade de uma CCB emitida pela QI Sociedade de Crédito Direto S.A. — os Quadros I a XI na ordem em que aparecem no documento real, com o texto integral das condições gerais e especiais, a página de assinatura eletrônica do emitente e a cadeia de endossos até o fundo. É o documento que o seu leitor vai encontrar em produção quando o originador emite pela QI Tech, com os dados trocados por fictícios.
Três partes que costumam ser as mais úteis para validação de lastro:
- Quadro V, item 5 — a tabela com as datas possíveis de liberação. Cada linha tem seu próprio Valor Total, IOF, Valor Líquido e CET; a linha que vale é a da data em que os recursos foram efetivamente liberados. Um leitor que assuma uma linha só extrai o valor errado.
- Quadro V, item 13 — o demonstrativo do CET, que reconcilia com a primeira linha da tabela do item 5.
- Endossos (últimas páginas) — a cadeia
QI SCD → cedente → fundo, cada elo com sua própria página de assinatura digital (hash, data, signatários). É por aí que se comprova a titularidade do título pelo fundo.
O document_type do relatório continua sendo a fonte de verdade sobre o tipo — não tente inferir da estrutura interna.
O template de produção repete palavras em dois pontos, e os exemplos reproduzem isso:
- item 1.1 do Quadro V —
2,3100% % a.m. (dois inteiros e três mil e cem décimos de milésimo por cento por cento), com%epor centoduplicados; - item 2 do Quadro V —
2. Prazo: 91 dias dias corridos.
Não é erro destes arquivos. Mantivemos como está para o seu leitor encontrar em sandbox exatamente o texto que vai encontrar em produção — se você normalizar o texto antes de casar o padrão, esses dois campos são os que mais provavelmente quebram. Quando o template for corrigido, os exemplos são regerados.
Para não reprovar em validações de lastro que conferem dígito verificador, os CPFs e CNPJs impressos nestes PDFs têm DV válido, e as chaves de acesso de NF-e e CT-e também. Todos são fictícios.
Consequência: o borrower_document do assignment_assets_wallet_composition do pacote de exemplos difere do CPF impresso no PDF nos dois últimos dígitos. Se você está testando o cruzamento entre os dois arquivos, use asset_external_id, asset_key, número de contrato, valores e vencimentos — não o documento do sacado.
Roteiro
1. Crie a cessão
Chame POST /trade_receivables/fund_class/{fund_class_key}/assignment_configuration/{assignment_configuration_key}/assignment. O external_id que você informar aqui é o mesmo que vai aparecer na coluna assignment_external_id do relatório e no nome do arquivo. Detalhes em Criação da Cessão.
2. Insira o ativo
Chame POST .../assignment/{assignment_external_id}/asset, uma vez por ativo. O payload depende do tipo de ativo da sua configuração de cessão — veja Criação de Ativos para operação de crédito, ou as páginas de duplicata, CT-e e contrato descontado.
Guarde o external_id do ativo: ele é a chave de junção com os outros relatórios.
3. Anexe o documento de exemplo
Converta o PDF escolhido para Base64:
base64 -w 0 ccb_exemplo_01.pdf > ccb_exemplo_01.b64
Envie o arquivo com POST .../assignment/{assignment_external_id}/asset/{asset_external_id}/document:
{
"document_type": "ccb",
"document_b64": "JVBERi0xLjcKJfCflqQKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwo..."
}
Os tipos aceitos em document_type são os que a sua configuração de cessão exige, não a lista completa de tipos existentes. Detalhes e erros possíveis em Envio do Lastro do Ativo.
Para ativos do tipo duplicata_mercantil, a plataforma pode gerar a documentação automaticamente a partir dos dados da nota fiscal — nesse caso não há upload a fazer, e o lastro aparece no relatório sem você anexar nada.
Isso depende da configuração de cessão: em algumas configurações a geração automática não acontece e o documento é esperado por upload. Confirme com o time de integração qual dos dois casos se aplica à sua antes de montar o teste. Independente disso, os PDFs de duplicata_mercantil e invoice deste pacote servem como referência de estrutura para o seu leitor.
4. Encerre a inserção
Chame PUT .../assignment/{assignment_external_id} com o status de encerramento:
{
"assignment_status": "completed_assets_insertion"
}
A partir daqui a cessão segue para a elegibilidade e para a aprovação — veja Encerramento da inserção e Aprovação da cessão.