# PUT Selecionar Oferta

#### **Introdução**

Seleciona a oferta de acordo com os parâmetros fornecidos.

---

##### ***Rota***

```css
/Proposta/oferta-produto/:propostaId
```

##### ***Authorization***

<table border="1" id="bkmrk-token-eyj..." style="border-collapse: collapse; width: 103.81%;"><colgroup><col style="width: 50.0477%;"></col><col style="width: 50.0477%;"></col></colgroup><tbody><tr><td>Token</td><td>eyJ...</td></tr></tbody></table>

##### ***Headers Request***

<table border="1" id="bkmrk-accept-application%2Fj" style="border-collapse: collapse; width: 105.119%; height: 59.2px;"><colgroup><col style="width: 49.9794%;"></col><col style="width: 49.9794%;"></col></colgroup><tbody><tr style="height: 29.6px;"><td style="height: 29.6px;">Accept</td><td style="height: 29.6px;">application/json</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Content-Type</td><td style="height: 29.6px;">application/json</td></tr></tbody></table>

#### **Detalhes da API**

Campos obrigatórios e seus respectivos tipos

---

##### ***Campos Obrigatórios***

<table border="1" id="bkmrk-campo-tipo-descri%C3%A7%C3%A3o" style="width: 100%; height: 608.75px;"><thead><tr style="height: 29.6px;"><td style="width: 16.5634%; height: 29.6px;">**Campo**</td><td style="width: 13.8227%; height: 29.6px;">**Tipo**</td><td style="width: 34.795%;">  
</td><td style="width: 34.795%; height: 29.6px;">**Descrição**</td></tr></thead><tbody><tr style="height: 33.4px;"><td style="width: 16.5634%; height: 33.4px;">`id`</td><td style="width: 13.8227%; height: 33.4px;">string | inteiro</td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 33.4px;">Id da proposta que esta sendo enviada == propostaId</td></tr><tr style="height: 37.4px;"><td style="width: 16.5634%; height: 37.4px;"><div><div>`convenioId`</div></div></td><td style="width: 13.8227%; height: 37.4px;">string | inteiro</td><td style="width: 34.795%;">Apenas pro ENERGIA</td><td style="width: 34.795%; height: 37.4px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Proposta/oferta-produto/:propostaId</span></td></tr><tr style="height: 35.4px;"><td style="width: 16.5634%; height: 35.4px;"><div><div>`tabelaJurosId`</div></div></td><td style="width: 13.8227%; height: 35.4px;">string | inteiro</td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 35.4px;">É obtido através da rota,<span style="color: rgb(35, 111, 161);"> \[GET\] /Proposta/oferta-produto/:propostaId</span></td></tr><tr style="height: 31.4px;"><td style="width: 16.5634%; height: 31.4px;"><div><div><div><div><div><div>`produtoId`</div></div></div></div></div></div></td><td style="width: 13.8227%; height: 31.4px;">string | inteiro</td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 31.4px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Proposta/oferta-produto/:propostaId</span></td></tr><tr style="height: 33.4px;"><td style="width: 16.5634%; height: 33.4px;"><div><div>`plano`</div></div></td><td style="width: 13.8227%; height: 33.4px;">string | inteiro

</td><td style="width: 34.795%;">Sim

</td><td style="width: 34.795%; height: 33.4px;">Prazo, quantidade de vezes que vai ser as parcelas

</td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div>`prestacao`</div></div></td><td style="width: 13.8227%; height: 30.9125px;">string | inteiro</td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 30.9125px;">Valor das parcelas</td></tr><tr style="height: 34.4px;"><td style="width: 16.5634%; height: 34.4px;"><div><div><div><div><div><div><div><div>`diaRecebimento`</div></div></div></div></div></div></div></div></td><td style="width: 13.8227%; height: 34.4px;"><div><div>inteiro| number</div></div></td><td style="width: 34.795%;">Não</td><td style="width: 34.795%; height: 34.4px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Proposta/oferta-produto/</span> </td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div>`tipoRenda`</div></div></td><td style="width: 13.8227%; height: 30.9125px;"><div><div>string | inteiro</div></div></td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 30.9125px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Contexto/proposta</span></td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div>`vencimento`</div></div></td><td style="width: 13.8227%; height: 30.9125px;"><div><div>string | inteiro</div></div></td><td style="width: 34.795%;"><div><div>Sim</div></div></td><td style="width: 34.795%; height: 30.9125px;"><div><div>É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[POST\] /Proposta/calculo-vencimento</span></div></div></td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div><div><div>`valor`</div></div></div></div></td><td style="width: 13.8227%; height: 30.9125px;"><div><div><div>  
</div><div><div>string | inteiro</div></div></div></div></td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 30.9125px;">Valor cheio do contrato que o cliente esta solicitando</td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div><div><div><div><div>`tipoCalculo`</div></div></div></div></div></div></td><td style="width: 13.8227%; height: 30.9125px;"><div><div>string | inteiro</div></div></td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 30.9125px;">TipoCalculo: 0 é o valor solicitado;  
TipoCalculo: 1 é o valor por parcela.</td></tr><tr style="height: 35.025px;"><td style="width: 16.5634%; height: 35.025px;"><div><div><div><div><div><div><div><div>`convenioDadosId`</div></div></div></div></div></div></div></div></td><td style="width: 13.8227%; height: 35.025px;"><div><div>string | inteiro</div></div></td><td style="width: 34.795%;">Apenas para o Energia</td><td style="width: 34.795%; height: 35.025px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Proposta/oferta-produto/:propostaId</span></td></tr><tr style="height: 30.9125px;"><td style="width: 16.5634%; height: 30.9125px;"><div><div><div><div><div><div><div><div>`renda`</div></div></div></div></div></div></div></div></td><td style="width: 13.8227%; height: 30.9125px;"><div><div>string | inteiro</div></div></td><td style="width: 34.795%;">Sim</td><td style="width: 34.795%; height: 30.9125px;">É obtido através da rota, <span style="color: rgb(35, 111, 161);">\[GET\] /Proposta/oferta-produto/:propostaId</span></td></tr><tr style="height: 29.6px;"><td style="width: 16.5634%; height: 29.6px;"><div><div><div><div><div><div><div><div><div><div><div><div>contratosRefin</div></div></div></div></div></div></div></div></div></div></div></div></td><td style="width: 13.8227%; height: 29.6px;"><div><div>Array</div></div></td><td style="width: 34.795%;">Apenas pro REFIN</td><td style="width: 34.795%; height: 29.6px;">Apenas quando tem refin</td></tr></tbody></table>

#### **Exemplo de Requisição e Resposta**

---

##### ***Exemplo de Request***

<details id="bkmrk-curl-curl---location"><summary>curl</summary>

```bash
curl --location --request PUT 'https://app2-crefaz-api-external-stag.azurewebsites.net/api/Proposta/oferta-produto/:propostaId' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJh...' \
--data '{
    "id": 1028682574,
    "convenioId": 2,
    "tabelaJurosId": 2,
    "produtoId": 6,
    "plano": 16,
    "prestacao": 226.09,
    "renda": 1550.16,
    "diaRecebimento": 5,
    "tipoRenda": 0,
    "vencimento": "2025-01-06",
    "valor": 1200.00,
    "tipoCalculo": 1,
    "adicionais": [
        {
            "convenioDadosId": 13,
            "valor": "2",
            "convenioId": 2
        },
        {
            "convenioDadosId": 14,
            "valor": "01",
            "convenioId": 2
        }
    ],
    "contratosRefin": []
}'
```

</details>#### ***Regra de Negócio***

- O objeto **`adicionais`** deve ser enviado no **request** sempre que o produto for **Energia**.
- Dentro de `adicionais`, existe o campo **`ConvenioDadosId`**, que representa os **dados obrigatórios exigidos pela Companhia de Energia (Convênio)**.
    
    
    - Esse campo corresponde à **Unidade Consumidora** ou ao **Número do Cliente** (a nomenclatura varia de acordo com a companhia de energia).
    - Trata-se da **chave utilizada pela Crefaz** para inserir a cobrança diretamente na fatura de energia do cliente.
- É obrigatório que esse valor seja informado corretamente, pois:
    
    
    - Ele é **sempre extraído da fatura do cliente**.
    - Caso o valor esteja incorreto, não será possível registrar a cobrança.

[![image.png](https://docs.crefaz.dev.br/uploads/images/gallery/2025-09/scaled-1680-/image.png)](https://docs.crefaz.dev.br/uploads/images/gallery/2025-09/image.png)

  
Então:

- **`Convenio`** → corresponde à **Companhia de Energia do cliente**.
- **`ConvenioId`** → identificador único (ID) da **Companhia de Energia**.
- **`ConvenioDadosId`** → identificador dos **dados obrigatórios do produto Energia**.

##### ***Body da Requisição***

<details id="bkmrk-body-%7B-%22nome%22%3A-%22j%C3%BAli"><summary>body</summary>

```json
{
    "id": 1028682574,
    "convenioId": 2,
    "tabelaJurosId": 2,
    "produtoId": 6,
    "plano": 16,
    "prestacao": 226.09,
    "renda": 1550.16,
    "diaRecebimento": 5,
    "tipoRenda": 0,
    "vencimento": "2025-01-06",
    "valor": 1200.00,
    "tipoCalculo": 1,
    "adicionais": [
        {
            "convenioDadosId": 13,
            "valor": "2",
            "convenioId": 2
        },
        {
            "convenioDadosId": 14,
            "valor": "01",
            "convenioId": 2
        }
    ],
    "contratosRefin": []
}
```

</details>##### ***Exemplo de Response***

<details id="bkmrk-json-%7B-%22success%22%3A-tr"><summary>sucesso</summary>

```json
{
    "success": true,
    "data": {
        "propostaId": 1028682574,
        "aprovado": true,
        "novoLimite": {
            "valorLimiteSolicitado": 1200.00,
            "valorLimiteParcela": 227.94,
            "valorLimiteMinimoParcela": 50.00
        }
    },
    "errors": null
}
```

</details><details id="bkmrk-erro-%7B-%22success%22%3A-fa"><summary>erro</summary>

```json
{
  "success": false,
  "data": null,
  "errors": [
    "Dados não compativeis com a simulação!"
  ]
}
```

</details>##### ***<span class="Text__TextContainer-sc-1kqigik-0 dLPxIq" data-aether-id="aether-text" data-click="" data-testid="aether-text">Headers de Response (5)</span>***

<table border="1" id="bkmrk-type-value-content-t" style="border-collapse: collapse; width: 100%; height: 177.6px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><thead><tr style="height: 29.6px;"><td style="height: 29.6px;">**Type**</td><td style="height: 29.6px;">**Value**</td></tr></thead><tbody><tr style="height: 29.6px;"><td style="height: 29.6px;">Content-Type</td><td style="height: 29.6px;">application/json; charset=utf-8

</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Date</td><td style="height: 29.6px;">Fri, 04 Oct 2024 18:03:20 GMT</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Server</td><td style="height: 29.6px;">Kestrel</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Transfer-Encoding</td><td style="height: 29.6px;">chunked</td></tr><tr style="height: 29.6px;"><td style="height: 29.6px;">Request-Context</td><td style="height: 29.6px;">appId=cid-v1:d0033e30-cc70-4961-9727-b7389fb39348</td></tr></tbody></table>