--- title: 7.4. Cobrança url: https://docs.vehub.com.br/Emiss%C3%A3o%20de%20Ativos/API/Cr%C3%A9dito/7.%20Contratos%20e%20Parcelas/7.4.%20Cobran%C3%A7a/ --- # 7.4. Cobrança !!! warning "Especificação — em construção" Os serviços descritos nesta área ainda não estão disponíveis. ## 🔗 Endpoints | Método | URL | |--------|-----| | ![POST](https://img.shields.io/badge/POST-blue) | `/credito/contratos/{idContrato}/parcelas/cobrancas` | | ![DELETE](https://img.shields.io/badge/DELETE-red) | `/credito/contratos/{idContrato}/parcelas/cobrancas` | --- ## 🧾 Descrição Emite a cobrança de uma ou mais parcelas — boleto, PIX ou ambos — e permite cancelá-la. !!! danger "Depende do parâmetro `cobrancaExterna` da esteira" | `cobrancaExterna` | Quem emite | Este endpoint | |---|---|---| | `false` | A plataforma, na bancarizadora | ✅ disponível | | `true` | **Você**, pelos seus próprios meios | ❌ responde `409` | Consulte `cobrancaExterna` em [3.2. Parâmetros da Esteira](../3.%20Referências/3.2.%20Parâmetros%20da%20Esteira.md) ou em [7.1. Consultar Contrato](7.1.%20Consultar%20Contrato.md) **antes** de chamar. Em qualquer configuração, [liquidar a parcela](7.3.%20Liquidar%20Parcela.md) continua disponível. ### 🔹 Headers Use **`Idempotency-Key`**. Sem ela, um *retry* emite **duas cobranças** para a mesma parcela. --- ## Gerar cobrança ### 📤 Requisição ```json { "idsParcelas": [8801], "dataVencimento": "2026-09-20", "dataExpiracao": "2026-09-30", "liquidacao": true, "descricaoLiquidacao": "Quitação parcial acordada", "pagamentoViaBoleto": true, "pagamentoViaPix": true, "valorLiquidacao": 820.00, "valorDesconto": 30.00, "permiteDescapitalizacao": true, "tipoRegistro": 1 } ``` ### 🧾 Detalhamento dos Campos | Campo | Tipo | Obrigatório | Descrição | |-------|------|-------------|-----------| | idsParcelas | array | Sim | Parcelas a cobrar | | dataVencimento | string | Sim | Vencimento da cobrança. Pode diferir do vencimento contratado | | dataExpiracao | string | Não | Data limite de pagamento após o vencimento | | liquidacao | boolean | Não | `true` quando a cobrança quita a parcela por um valor negociado | | descricaoLiquidacao | string | Condicional | Justificativa, quando `liquidacao = true` | | pagamentoViaBoleto | boolean | Não | Emite boleto | | pagamentoViaPix | boolean | Não | Emite PIX | | valorLiquidacao | number | Condicional | Valor acordado, quando `liquidacao = true` | | valorDesconto | number | Não | Desconto concedido | | permiteDescapitalizacao | boolean | Não | Aplica desconto ao cobrar antes do vencimento | | tipoRegistro | integer | Não | Tipo de registro da cobrança na bancarizadora | > Ao menos um entre `pagamentoViaBoleto` e `pagamentoViaPix` precisa ser `true`. ### 🧪 Exemplo de cURL Boleto simples, no vencimento contratado: ```bash curl -X POST "https://api.vehub.com.br/credito/contratos/5001/parcelas/cobrancas" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ -H "Idempotency-Key: 7d3e91b0-4c62-4a18-b5f7-2e91d0c47a33" \ -H "Content-Type: application/json" \ -d '{ "idsParcelas": [8801], "dataVencimento": "2026-10-13", "pagamentoViaBoleto": true, "pagamentoViaPix": false }' ``` ### 📥 Response — `200 OK` ```json { "sucesso": true, "mensagem": "Cobrança gerada com sucesso.", "dados": { "cobrancas": [ { "idParcela": 8801, "numero": 1, "codigoLiquidacao": "9e4f2a1c-6b3d-4e7a-8c1f-3a2d9e5b7c04", "valor": 850.00, "dataVencimento": "2026-10-13", "linhaDigitavel": "34191.79001 01043.510047 91020.150008 1 99860000085000", "numCodBarras": "34191998600000850001790001010435100479102015000", "pixCopiaECola": null } ] } } ``` | Campo | Tipo | Descrição | |-------|------|-----------| | codigoLiquidacao | string | Identificador da cobrança. **Guarde-o**: é o que permite cancelar | | linhaDigitavel | string / null | Linha digitável, quando há boleto | | numCodBarras | string / null | Código de barras, quando há boleto | | pixCopiaECola | string / null | Código PIX copia e cola, quando há PIX | ### ❌ 409 Conflict — cobrança externa ```json { "type": "https://tools.ietf.org/html/rfc9110#section-15.5.10", "status": 409, "errors": [ { "campo": null, "mensagem": "Esta esteira está configurada com cobrança externa. A emissão é de responsabilidade do integrador." } ] } ``` --- ## Cancelar cobrança ### 📤 Requisição ```json { "codigosLiquidacoes": ["9e4f2a1c-6b3d-4e7a-8c1f-3a2d9e5b7c04"] } ``` | Campo | Tipo | Obrigatório | Descrição | |-------|------|-------------|-----------| | codigosLiquidacoes | array | Sim | Códigos devolvidos na geração | ### 🧪 Exemplo de cURL ```bash curl -X DELETE "https://api.vehub.com.br/credito/contratos/5001/parcelas/cobrancas" \ -H "Authorization: Bearer {seu_token}" \ -H "GrupoEconomico: {seu_grupo_economico}" \ -H "Content-Type: application/json" \ -d '{ "codigosLiquidacoes": ["9e4f2a1c-6b3d-4e7a-8c1f-3a2d9e5b7c04"] }' ``` ### 📥 Response — `200 OK` ```json { "sucesso": true, "mensagem": "Cobrança cancelada com sucesso.", "dados": null } ``` --- ## 🔔 Eventos disparados | Evento | Quando | |---|---| | `credito.parcela.cobranca_registrada` | A cobrança é emitida com sucesso na bancarizadora | Ver [8.5. Eventos de Parcela](../8.%20Notificações%20-%20WebHook/8.5.%20Eventos%20de%20Parcela.md). --- ## ⚠️ Observações - **Esta chamada movimenta dinheiro e pode conceder desconto.** Use sempre `Idempotency-Key` e trate o acesso a ela, no seu lado, com o cuidado de uma operação financeira. - Cobrança **não é liquidação**. Emitir o boleto não baixa a parcela; a baixa ocorre quando o boleto é pago e retorna, ou quando você informa a liquidação em [7.3](7.3.%20Liquidar%20Parcela.md). - Para obter o **PDF** do boleto emitido, ver [7.5. Boleto e Carnê](7.5.%20Boleto%20e%20Carnê.md). - **Antecipação e renegociação** não estão disponíveis nesta API para EP e CDC. Uma quitação negociada pode ser registrada com `liquidacao = true` e `valorLiquidacao`, mas não substitui um fluxo formal de renegociação.