Ir para o conteúdo

2.1. Criar Simulação

🔗 Endpoint

Método URL
POST /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.