--- title: 2.1. Criar Simulação url: https://docs.vehub.com.br/API/VeFlow%20-%20Duplicata%20Escritural/2.%20Agenda%20de%20receb%C3%ADveis/v1/2.1.%20Criar%20Simula%C3%A7%C3%A3o/ --- # 2.1. Criar Simulação ## 🔗 Endpoint | Método | URL | |-------------------------------------------------|-----| | ![POST](https://img.shields.io/badge/POST-blue) | `/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) ```json { "idOperacao": 1, "sacador": { "nomeRazaoSocial": "Empresa Cedente LTDA", "numeroDocumento": "12345678000199", "indicadorCnpjBase": false, "inscricaoEstadual": "123456789012", "email": "sacador@exemplo.com", "telefone": "11988887777", "endereco": { "logradouro": "Av. Comercial", "numero": "500", "complemento": "Sala 1", "bairro": "Centro", "cidade": "São Paulo", "municipio": "São Paulo", "uf": "SP", "cep": "01000000", "pais": "BR" } }, "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": [ { "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 | | 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) | | inscricaoEstadual | string | Não | Inscrição estadual do sacador | | email | string | Não | E-mail do sacador | | telefone | string | Não | Telefone do sacador (somente números) | | endereco | object | Sim | Endereço do sacador | #### 🔹 sacador.endereco | Campo | Tipo | Obrigatório | Descrição | |-------------|--------|-------------|-----------| | logradouro | string | Sim | Nome da rua/avenida | | numero | string | Sim | Número do endereço | | complemento | string | Não | Complemento do endereço | | bairro | string | Sim | Bairro | | cidade | string | Sim | Cidade | | municipio | string | Sim | Município | | uf | string | Sim | Sigla do estado (ex: SP) | | cep | string | Sim | CEP (somente números) | | pais | string | Sim | Código do país (ex: BR) | #### 🔹 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 | |-------------------|---------|-------------|-----------| | 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 ```bash 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", "numeroDocumento": "12345678000199", "indicadorCnpjBase": false, "inscricaoEstadual": "123456789012", "email": "sacador@exemplo.com", "telefone": "11988887777", "endereco": { "logradouro": "Av. Comercial", "numero": "500", "complemento": "Sala 1", "bairro": "Centro", "cidade": "São Paulo", "municipio": "São Paulo", "uf": "SP", "cep": "01000000", "pais": "BR" } }, "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": [ { "numeroDocumento": "98765432000155", "indicadorCnpjBase": false } ] }, "valorMinimoDuplicata": 100.00, "valorMaximoDuplicata": 100000.00, "taxa": 1.25 }' ``` --- ## 📥 Responses ### ✅ 200 OK ```json { "mensagem": "Simulação criada com sucesso!", "identificador": "534D8AAE-61E4-4264-9D15-715B9E1F1D51", "identificadorProcessamento": null } ``` --- ### ✅ 202 Accepted ```json { "mensagem": "Simulação recebida e será processada em breve.", "identificadorProcessamento": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890" } ``` --- ### ❌ 400 Bad Request ```json { "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.