2.1. Criar Simulação
🔗 Endpoint
| Método | URL |
 | /public/api/v1/duplicata-escritural/simulacoes |
🧾 Descrição
Cria uma simulação de duplicatas escriturais disponíveis para contratação. A simulação filtra as duplicatas com base nos critérios informados (sacador, períodos de vencimento e baixa, condição, status, etc.) e retorna os títulos elegíveis para a operação.
📤 Requisição
📋 Payload (JSON)
{
"idOperacao": 1,
"sacador": {
"nomeRazaoSocial": "Empresa Cedente LTDA",
"tipoDocumento": 2,
"numeroDocumento": "12345678000199",
"indicadorCnpjBase": false
},
"periodoVencimento": {
"dataInicialVencimento": "2025-10-01",
"dataFinalVencimento": "2025-12-31"
},
"periodoBaixaDuplicatas": {
"dataInicialBaixa": "2025-01-01",
"dataFinalBaixa": "2025-12-31"
},
"indicacaoManifestacao": 1,
"condicaoDuplicata": 1,
"statusDuplicata": 1,
"documentoAssociado": true,
"filtroSacados": {
"tipoFiltroConsulta": 1,
"documentos": [
{
"tipoDocumento": 2,
"numeroDocumento": "98765432000155",
"indicadorCnpjBase": false
}
]
},
"valorMinimoDuplicata": 100.00,
"valorMaximoDuplicata": 100000.00,
"taxa": 1.25
}
🧾 Detalhamento dos Campos
| Campo | Tipo | Obrigatório | Descrição |
| idOperacao | integer | Sim | ID da operação, valor fixo informado pelo time de implantação |
| sacador | object | Sim | Dados do sacador (cedente) |
| periodoVencimento | object | Sim | Período de vencimento das duplicatas a filtrar |
| periodoBaixaDuplicatas | object | Sim | Período de baixa das duplicatas a filtrar |
| indicacaoManifestacao | integer | Sim | Indicação de manifestação (ver IndicacaoManifestacao) |
| condicaoDuplicata | integer | Sim | Condição da duplicata (ver CondicaoDuplicata) |
| statusDuplicata | integer | Sim | Status da duplicata (ver StatusDuplicata) |
| documentoAssociado | boolean | Sim | Indica se deve filtrar apenas duplicatas com documento fiscal associado |
| filtroSacados | object | Sim | Filtro por sacados (devedores) |
| valorMinimoDuplicata | number | Sim | Valor mínimo das duplicatas a incluir |
| valorMaximoDuplicata | number | Sim | Valor máximo das duplicatas a incluir |
| taxa | number | Não | Taxa de desconto a aplicar na simulação |
🔹 sacador
| Campo | Tipo | Obrigatório | Descrição |
| nomeRazaoSocial | string | Sim | Nome ou razão social do sacador |
| tipoDocumento | integer | Sim | Tipo do documento (ver TipoDocumentoPessoa) |
| numeroDocumento | string | Sim | CNPJ ou CPF do sacador (somente números) |
| indicadorCnpjBase | boolean | Sim | Indica se deve considerar apenas o CNPJ base (8 primeiros dígitos) |
🔹 periodoVencimento
| Campo | Tipo | Obrigatório | Descrição |
| dataInicialVencimento | string | Sim | Data inicial do período de vencimento (YYYY-MM-DD) |
| dataFinalVencimento | string | Sim | Data final do período de vencimento (YYYY-MM-DD) |
🔹 periodoBaixaDuplicatas
| Campo | Tipo | Obrigatório | Descrição |
| dataInicialBaixa | string | Sim | Data inicial do período de baixa (YYYY-MM-DD) |
| dataFinalBaixa | string | Sim | Data final do período de baixa (YYYY-MM-DD) |
🔹 filtroSacados
| Campo | Tipo | Obrigatório | Descrição |
| tipoFiltroConsulta | integer | Sim | Tipo do filtro (ver TipoFiltroConsulta) |
| documentos | array | Sim | Lista de documentos dos sacados para filtro |
🔹 filtroSacados.documentos[]
| Campo | Tipo | Obrigatório | Descrição |
| tipoDocumento | integer | Sim | Tipo do documento (ver TipoDocumentoPessoa) |
| numeroDocumento | string | Sim | CPF ou CNPJ do sacado (somente números) |
| indicadorCnpjBase | boolean | Não | Indica se deve considerar apenas o CNPJ base |
🔢 Enumeradores
TipoDocumentoPessoa
| Código | Significado |
| 1 | CPF |
| 2 | CNPJ |
IndicacaoManifestacao
| Código | Significado |
| 1 | Aceite Sacado |
| 2 | Aceite Presumido |
| 3 | Aceite Recusado |
| 4 | Aceite Pendente |
| 5 | Sem Manifestação |
CondicaoDuplicata
| Código | Significado |
| 1 | A vencer |
| 2 | Vencidas |
| 3 | Liquidadas |
StatusDuplicata
| Código | Significado |
| 1 | Disponível |
| 2 | Em ato de contrato |
TipoFiltroConsulta
| Código | Significado |
| 1 | Sacado específico |
| 2 | Sacado restrito |
🧪 Exemplo de cURL
curl -X POST https://api.vehub.com.br/public/api/v1/duplicata-escritural/simulacoes \
-H "Authorization: Bearer {seu_token}" \
-H "GrupoEconomico: {seu_grupo_economico}" \
-H "Content-Type: application/json" \
-d '{
"idOperacao": 1,
"sacador": {
"nomeRazaoSocial": "Empresa Cedente LTDA",
"tipoDocumento": 2,
"numeroDocumento": "12345678000199",
"indicadorCnpjBase": false
},
"periodoVencimento": {
"dataInicialVencimento": "2025-10-01",
"dataFinalVencimento": "2025-12-31"
},
"periodoBaixaDuplicatas": {
"dataInicialBaixa": "2025-01-01",
"dataFinalBaixa": "2025-12-31"
},
"indicacaoManifestacao": 1,
"condicaoDuplicata": 1,
"statusDuplicata": 1,
"documentoAssociado": true,
"filtroSacados": {
"tipoFiltroConsulta": 1,
"documentos": [
{
"tipoDocumento": 2,
"numeroDocumento": "98765432000155",
"indicadorCnpjBase": false
}
]
},
"valorMinimoDuplicata": 100.00,
"valorMaximoDuplicata": 100000.00,
"taxa": 1.25
}'
📥 Responses
✅ 200 OK
{
"mensagem": "Simulação criada com sucesso!",
"identificador": "534D8AAE-61E4-4264-9D15-715B9E1F1D51",
"identificadorProcessamento": null
}
✅ 202 Accepted
{
"mensagem": "Simulação recebida e será processada em breve.",
"identificadorProcessamento": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890"
}
❌ 400 Bad Request
{
"tipo": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"titulo": "Atenção",
"status": 400,
"erros": [
"Campo 'periodoVencimento.dataFinalVencimento' deve ser maior ou igual a dataInicialVencimento.",
"Campo 'idOperacao' é obrigatório."
]
}
🕒 Observações
- O
identificador retornado no 200 OK é o GUID da simulação criada, necessário para consultar os resultados em 7.2. Consultar Simulação. - Após criar a simulação, utilize a seção
7.3. Vincular Duplicatas para selecionar as duplicatas desejadas para contratação. - Quando o retorno for
202 Accepted, o processamento ocorrerá de forma assíncrona.