Descrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.
Declara que o evento âncora da parcela aconteceu no seu sistema.
Em regra MANUAL, liberar deixa a parcela apta — e nada mais. Ela fica sem
vencimento e sem pagamento, esperando a ordem de pagamento. Isso é deliberado: no modo
manual quem decide quando o dinheiro sai é você, e o vencimento é o momento dessa decisão,
não uma data derivada do evento.
Em regra AUTOMÁTICA, os eventos internos já liberam sozinhos. Esta chamada serve como
destravamento de parcela presa, e aí ela grava o vencimento (evento + prazo da regra) e o
pagamento segue sem passo extra.
ocorrido_em pode ser retroativa — o evento pode ter acontecido antes de alguém
registrar. Data futura é recusada: seria criar vencimento a partir de um evento que não
ocorreu.
Liberar de novo é no-op, não erro: retry não vira parcela duplicada.
A disponibilidade depende do ambiente, dos escopos habilitados e do provedor. Esta referência não executa chamadas nem recebe credenciais.
Definição Completa da Operação
{
"tags": [
"Parcelas"
],
"summary": "Liberar uma parcela",
"operationId": "liberarParcelaRepasse",
"description": "Declara que o evento âncora da parcela aconteceu no seu sistema.\n\n**Em regra MANUAL**, liberar deixa a parcela **apta** — e nada mais. Ela fica sem\nvencimento e sem pagamento, esperando a ordem de pagamento. Isso é deliberado: no modo\nmanual quem decide quando o dinheiro sai é você, e o vencimento é o momento dessa decisão,\nnão uma data derivada do evento.\n\n**Em regra AUTOMÁTICA**, os eventos internos já liberam sozinhos. Esta chamada serve como\ndestravamento de parcela presa, e aí ela grava o vencimento (evento + prazo da regra) e o\npagamento segue sem passo extra.\n\n`ocorrido_em` **pode ser retroativa** — o evento pode ter acontecido antes de alguém\nregistrar. Data futura é recusada: seria criar vencimento a partir de um evento que não\nocorreu.\n\nLiberar de novo é **no-op**, não erro: retry não vira parcela duplicada.\n",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LiberarParcelaRepasse"
}
}
}
},
"responses": {
"200": {
"description": "Parcela liberada (ou já liberada — a chamada é idempotente)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RespostaParcelaRepasse"
}
}
}
},
"401": {
"$ref": "#/components/responses/Erro401"
},
"403": {
"description": "Credencial sem o escopo `operacao` habilitado.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
},
"404": {
"description": "Documento não encontrado, ou de outra transportadora.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
},
"422": {
"description": "A liberação foi recusada. O `code` é estável e é por ele que você deve ramificar:\n\n| `code` | O que fazer |\n|---|---|\n| `sem_regra_parcelada` | O documento não está sob regra parcelada — não há o que liberar. |\n| `parcela_inexistente` | A regra não tem parcela nessa posição. |\n| `evento_fora_de_ordem` | Libere a parcela anterior primeiro. |\n| `data_anterior_ao_evento_anterior` | A data informada é anterior ao evento da parcela anterior. |\n| `data_no_futuro` | Use uma data até hoje. |\n| `parcela_cancelada` | O CT-e foi cancelado na SEFAZ; esta parcela não vai pagar nada. |\n| `servico_ainda_nao_concluido` | A parcela de conclusão precisa vir antes da prestação de contas. |\n| `regra_sem_prestacao_de_contas` | Posição 3 numa regra que não tem a parcela de prestação de contas. |\n| `data_anterior_a_conclusao` | Posição 3 com data anterior à conclusão do serviço. |\n| `falha_ao_liberar` | Falha interna ao gravar a liberação; repita a chamada. |\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
},
"429": {
"$ref": "#/components/responses/Erro429"
},
"500": {
"$ref": "#/components/responses/Erro500"
}
},
"method": "POST",
"path": "/carriers/parcelas-repasse/liberar",
"parameters": []
}