Pular para o conteúdo principal

kobana dunning charges

Comandos de kobana dunning charges. Toda opção global (Opções globais) vale aqui.

ComandoHTTPDescrição
charges bulk deleteDELETE /v1/charges/bulkExcluir cobranças em massa
charges listGET /v1/chargesListar cobranças
charges createPOST /v1/chargesCriar cobrança
charges bulk-assign-rulePOST /v1/charges/bulk-assign-ruleAplicar régua em massa
charges bulk-cancelPOST /v1/charges/bulk-cancelCancelar cobranças em massa
charges getGET /v1/charges/{id}Consultar cobrança
charges updatePUT /v1/charges/{id}Atualizar cobrança
charges deleteDELETE /v1/charges/{id}Excluir cobrança
charges notifyPOST /v1/charges/{id}/notifyNotificar cobrança
charges settlement-pdfGET /v1/charges/{id}/settlement-pdfCarta de quitação (PDF)

charges bulk delete​

Excluir cobranças em massa

kobana dunning charges bulk delete [OPÇÕES]

DELETE /v1/charges/bulk

Exclui (soft delete, irreversível) até 100 cobranças numa chamada, com os ids no corpo JSON, cascateando para tarefas e ofertas relacionadas. Cobrança com registros associados (notificações, interações, negativações, protestos) não é excluível e volta em failed com has_related_records. Exige o nível de acesso delete (ou all) — write não basta. Substituiu o POST /charges/bulk-archive.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simIDs dos registros-alvo (1 a 100 por chamada). Duplicados são ignorados.

Outros campos e objetos aninhados: kobana schema dunning.charges.bulk.delete.

Respostas

HTTPDescrição
200Resultado por item da exclusão em massa.
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges list​

Listar cobranças

kobana dunning charges list [OPÇÕES]

GET /v1/charges

Lista as cobranças da organização com paginação e filtros. Cobranças pendentes vencidas são promovidas a overdue na leitura.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
pageintegernãoPágina (a partir de 1).
per_pageintegernãoItens por página (máx. 100).
sort_bystringnãoCampo de ordenação (nome público em snake_case, ex.: due_date).
sort_orderstringnãoDireção da ordenação (asc | desc). Valores: asc, desc.
searchstringnãoBusca por número do documento, descrição, external_id, nome ou documento do cliente.
person_idstringnãoFiltra pelas cobranças de um cliente (UUID).
statusstringnãoFiltra por status. Aceita um valor ou lista separada por vírgula (pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off).
due_date_fromstringnãoVencimento a partir de (inclusive, YYYY-MM-DD ou datetime ISO).
due_date_tostringnãoVencimento até (inclusive, YYYY-MM-DD ou datetime ISO).
includestringnãoRelações a incluir na resposta (person).

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Respostas

HTTPDescrição
200Lista paginada de cobranças.
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges create​

Criar cobrança

kobana dunning charges create [OPÇÕES]

POST /v1/charges

Cria uma cobrança para um cliente. Sem collection_rule_id, a régua padrão da organização é aplicada. current_amount = original + juros + multa − desconto; cobrança já vencida entra como overdue.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
person_idstring (uuid)simCliente (devedor) da cobrança.
original_amountnumbersimValor original do título.
issue_datestringsimData de emissão.
due_datestringsimData de vencimento.
collection_rule_idstring (uuid)nãoRégua de cobrança que acompanha o título. Se omitido na criação, usa a régua padrão da organização.
document_numberstringnãoNúmero do documento de origem (nota fiscal, contrato etc.).
descriptionstringnãoDescrição livre da cobrança.
interest_amountnumbernãoJuros acumulados (padrão 0).
fine_amountnumbernãoMulta (padrão 0).
discount_amountnumbernãoDesconto aplicado (padrão 0).
statusstringnãoStatus (pending | paid | overdue | cancelled | negotiated | protested | negatived | written_off). Valores: pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off.
payment_methodstringnãoMeio de pagamento (boleto | pix | credit_card | transfer). Valores: boleto, pix, credit_card, transfer, null.
barcodestringnãoLinha digitável/código de barras do boleto.
pix_emvstringnãoCódigo Pix copia-e-cola (EMV).
payment_urlstring (uri)nãoURL da página de pagamento.
external_idstringnãoIdentificador no SEU sistema (chave das integrações).
custom_dataobjectnãoMetadados personalizáveis pelo cliente da API. Limites: 64 KB serializado e 16 níveis de aninhamento.
custom_metadataobjectnãoMetadados do usuário (objeto JSON livre, leitura e escrita). Ver custom_data para o campo legado dos recursos núcleo.
tagsarray<string>nãoTags livres.
charge_policyobjectnão

Outros campos e objetos aninhados: kobana schema dunning.charges.create.

Respostas

HTTPDescrição
201Cobrança criada.
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges bulk-assign-rule​

Aplicar régua em massa

kobana dunning charges bulk-assign-rule [OPÇÕES]

POST /v1/charges/bulk-assign-rule

Aplica uma régua de cobrança a até 100 cobranças. A entrada na régua respeita a idempotência do motor: cobrança com enrollment ativo/pausado mantém o enrollment vigente. Só cobranças pending/overdue são elegíveis; as demais voltam em failed com invalid_status.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simIDs dos registros-alvo (1 a 100 por chamada). Duplicados são ignorados.
collection_rule_idstring (uuid)simID da régua de cobrança a aplicar (deve pertencer à organização).

Outros campos e objetos aninhados: kobana schema dunning.charges.bulk-assign-rule.

Respostas

HTTPDescrição
200Resultado por item da aplicação de régua em massa.
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges bulk-cancel​

Cancelar cobranças em massa

kobana dunning charges bulk-cancel [OPÇÕES]

POST /v1/charges/bulk-cancel

Cancela até 100 cobranças numa chamada. Cada cancelamento passa pelo motor da régua (valida a transição de status, encerra o enrollment e suprime envios pendentes). Resultado parcial não é erro: itens não canceláveis voltam em failed com o motivo (not_found, invalid_status).

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simIDs dos registros-alvo (1 a 100 por chamada). Duplicados são ignorados.

Outros campos e objetos aninhados: kobana schema dunning.charges.bulk-cancel.

Respostas

HTTPDescrição
200Resultado por item do cancelamento em massa.
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges get​

Consultar cobrança

kobana dunning charges get [ID] [OPÇÕES]

GET /v1/charges/{id}

Retorna uma cobrança pelo ID. Use include=engine para receber a telemetria do motor (enrollment na régua e execuções de etapa).

Argumentos do caminho: id

Parâmetros de consulta

NomeTipoObrigatórioDescrição
includestringnãoRelações a incluir na resposta (person, engine — telemetria da régua).

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Respostas

HTTPDescrição
200Cobrança encontrada.
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges update​

Atualizar cobrança

kobana dunning charges update [ID] [OPÇÕES]

PUT /v1/charges/{id}

Atualiza os dados de uma cobrança (parcial). status, paid_amount e paid_at são do motor: reenviar o valor gravado passa, mas mudá-los responde 422 ENGINE_MANAGED_FIELD — pagamento entra por POST /charges/{id}/pay. A única transição aceita aqui é status: cancelled (409 se o status atual não permite).

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
person_idstring (uuid)nãoCliente (devedor) da cobrança.
collection_rule_idstring (uuid)nãoRégua de cobrança que acompanha o título. Se omitido na criação, usa a régua padrão da organização.
document_numberstringnãoNúmero do documento de origem (nota fiscal, contrato etc.).
descriptionstringnãoDescrição livre da cobrança.
original_amountnumbernãoValor original do título.
interest_amountnumbernãoJuros acumulados (padrão 0).
fine_amountnumbernãoMulta (padrão 0).
discount_amountnumbernãoDesconto aplicado (padrão 0).
issue_datestringnãoData de emissão.
due_datestringnãoData de vencimento.
statusstringnãoStatus (pending | paid | overdue | cancelled | negotiated | protested | negatived | written_off). Valores: pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off.
payment_methodstringnãoMeio de pagamento (boleto | pix | credit_card | transfer). Valores: boleto, pix, credit_card, transfer, null.
barcodestringnãoLinha digitável/código de barras do boleto.
pix_emvstringnãoCódigo Pix copia-e-cola (EMV).
payment_urlstring (uri)nãoURL da página de pagamento.
external_idstringnãoIdentificador no SEU sistema (chave das integrações).
custom_dataobjectnãoMetadados personalizáveis pelo cliente da API. Limites: 64 KB serializado e 16 níveis de aninhamento.
custom_metadataobjectnãoMetadados do usuário (objeto JSON livre, leitura e escrita). Ver custom_data para o campo legado dos recursos núcleo.
tagsarray<string>nãoTags livres.
charge_policyobjectnão
paid_amountnumbernãoValor efetivamente pago.
paid_atstringnãoData do pagamento.
custom_data_modestringnãoComo aplicar custom_data no update: replace (default) sobrescreve o objeto inteiro; merge mescla (deep) o payload sobre o valor armazenado — objetos aninhados mesclam, escalares/arrays/null sobrescrevem a chave. Valores: replace, merge.
custom_metadata_modestringnãoComo o custom_metadata enviado é reconciliado com o valor gravado: replace (padrão) substitui o objeto inteiro; merge faz deep merge — objetos aninhados mesclam, escalares e arrays substituem a chave, e uma chave enviada com null é gravada como null (não é removida). Só na atualização. Valores: replace, merge.

Outros campos e objetos aninhados: kobana schema dunning.charges.update.

Respostas

HTTPDescrição
200Cobrança atualizada.
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges delete​

Excluir cobrança

kobana dunning charges delete [ID] [OPÇÕES]

DELETE /v1/charges/{id}

Exclui (soft delete) uma cobrança e as tarefas e ofertas relacionadas. Cobrança com notificações, interações, negativações ou protestos associados não pode ser excluída (409).

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Respostas

HTTPDescrição
204Cobrança excluída (retorna mensagem de confirmação).
404Recurso inexistente ou fora da sua organização.
409Conflito com o estado atual do recurso (ou chave de idempotência reusada).
413Corpo da requisição acima de 2 MB.

charges notify​

Notificar cobrança

kobana dunning charges notify [ID] [OPÇÕES]

POST /v1/charges/{id}/notify

Cria uma notificação manual para a cobrança e a envia para a fila de processamento. O destinatário tem de ser um contato cadastrado da pessoa (422 UNKNOWN_RECIPIENT caso contrário). Atualiza last_notification_at; o progresso da régua (current_step) não muda — só o motor o avança.

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Corpo da requisição

NomeTipoObrigatórioDescrição
channelstringsimCanal (email | sms | whatsapp | voice | manual). Valores: email, sms, whatsapp, voice, manual.
recipientstringsimDestinatário: e-mail para email, telefone para sms/whatsapp/voice — sempre um contato cadastrado da pessoa da cobrança; livre para manual.
bodystringsimCorpo da mensagem.
subjectstringnãoAssunto (usado em e-mail).
collection_rule_step_idstring (uuid)nãoEtapa da régua da cobrança a associar à notificação (rótulo; não altera o current_step).

Outros campos e objetos aninhados: kobana schema dunning.charges.notify.

Respostas

HTTPDescrição
201Notificação criada e enfileirada (status queued).
400Requisição inválida (erro de validação).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

charges settlement-pdf​

Carta de quitação (PDF)

kobana dunning charges settlement-pdf [ID] [OPÇÕES]

GET /v1/charges/{id}/settlement-pdf

Gera a carta de quitação da cobrança em PDF (documento jurídico), escopada pela organização. Só é permitida quando a cobrança está paga (status paid); caso contrário retorna 409 (CHARGE_NOT_SETTLED). Responde application/pdf como anexo binário.

Argumentos do caminho: id

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Workspace-IdstringnãoWorkspace em que a chamada age (id ou public_id, listados em GET /v1/workspaces). Opcional enquanto a organização tem um só workspace; com dois ou mais, sem ele a resposta é 400 WORKSPACE_REQUIRED. Um workspace de outra organização é 403 UNKNOWN_WORKSPACE.

Respostas

HTTPDescrição
200PDF da carta de quitação (anexo binário application/pdf).
404Recurso inexistente ou fora da sua organização.
409Cobrança não está quitada — a carta só pode ser gerada para status paid (código CHARGE_NOT_SETTLED).
413Corpo da requisição acima de 2 MB.