Pular para o conteúdo principal

kobana dunning agreements

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

ComandoHTTPDescrição
agreements installmentsGET /v1/agreements/{id}/installmentsListar parcelas do acordo
agreements installments updatePUT /v1/agreements/{id}/installmentsAtualizar parcela do acordo
agreements listGET /v1/agreementsListar acordos
agreements createPOST /v1/agreementsCriar acordo
agreements getGET /v1/agreements/{id}Consultar acordo
agreements updatePUT /v1/agreements/{id}Atualizar acordo
agreements deleteDELETE /v1/agreements/{id}Excluir acordo
agreements acceptPOST /v1/agreements/{id}/acceptAceitar acordo
agreements cancelPOST /v1/agreements/{id}/cancelCancelar acordo
agreements pdfGET /v1/agreements/{id}/pdfTermo de acordo (PDF)

agreements installments​

Listar parcelas do acordo

kobana dunning agreements installments [ID] [OPÇÕES] [COMANDO]

GET /v1/agreements/{id}/installments

Lista as parcelas de um acordo (ordenadas por número) com um resumo agregado.

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
200Parcelas do acordo com resumo.
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

agreements installments update​

Atualizar parcela do acordo

kobana dunning agreements installments update [ID] [OPÇÕES]

PUT /v1/agreements/{id}/installments

Atualiza uma parcela (pagamento/status). Permitido apenas em acordos accepted ou active; parcelas canceladas não podem ser alteradas (409). Primeiro pagamento ativa o acordo; com todas as parcelas pagas, o acordo é concluído (completed).

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
installment_numberintegersimNúmero da parcela (a partir de 1).
paid_amountnumbernãoValor pago da parcela.
paid_atstringnãoData do pagamento da parcela.
statusstringnãoStatus (pending | paid | overdue | cancelled). Valores: pending, paid, overdue, cancelled.
custom_metadataobjectnãoMetadados do usuário (objeto JSON livre, leitura e escrita). Ver custom_data para o campo legado dos recursos núcleo.
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.agreements.installments.update.

Respostas

HTTPDescrição
200Parcela atualizada (retorna a parcela e o acordo atualizado).
400Requisição inválida (erro de validaçã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.

agreements list​

Listar acordos

kobana dunning agreements list [OPÇÕES]

GET /v1/agreements

Lista os acordos da organização com paginação e filtros.

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.
statusstringnãoFiltra por status do acordo. Valores: proposed, accepted, active, completed, cancelled, defaulted.
person_idstringnãoFiltra pelos acordos de um cliente (UUID).
includestringnãoRelações a incluir na resposta (person, installments, negotiation_offer).

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 acordos.
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

agreements create​

Criar acordo

kobana dunning agreements create [OPÇÕES]

POST /v1/agreements

Cria um acordo com status proposed. final_total = original_total − discount_amount (deve ser maior que zero) e installment_value = final_total / number_of_installments.

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) do acordo.
original_totalnumbersimTotal original da dívida renegociada.
number_of_installmentsintegersimNúmero de parcelas (1 a 120).
first_due_datestringsimVencimento da primeira parcela (as demais vencem mensalmente).
negotiation_offer_idstring (uuid)nãoOferta de negociação que originou o acordo.
discount_amountnumbernãoDesconto concedido (padrão 0).
terms_acceptedstringnãoTermos aceitos pelo devedor (texto/versão).
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.

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

Respostas

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

agreements get​

Consultar acordo

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

GET /v1/agreements/{id}

Retorna um acordo pelo ID (sempre inclui dados resumidos do cliente).

Argumentos do caminho: id

Parâmetros de consulta

NomeTipoObrigatórioDescrição
includestringnãoRelações a incluir na resposta (installments, negotiation_offer).

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
200Acordo encontrado.
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.

agreements update​

Atualizar acordo

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

PUT /v1/agreements/{id}

Atualiza um acordo (parcial). Permitido apenas com status proposed ou accepted (409 nos demais).

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
original_totalnumbernãoTotal original da dívida renegociada.
discount_amountnumbernãoDesconto concedido (padrão 0).
number_of_installmentsintegernãoNúmero de parcelas (1 a 120).
first_due_datestringnãoVencimento da primeira parcela (as demais vencem mensalmente).
terms_acceptedstringnãoTermos aceitos pelo devedor (texto/versão).
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_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_metadataobjectnãoMetadados do usuário (objeto JSON livre, leitura e escrita). Ver custom_data para o campo legado dos recursos núcleo.
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.
tagsarray<string>nãoTags livres.

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

Respostas

HTTPDescrição
200Acordo atualizado.
400Requisição inválida (erro de validaçã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.

agreements delete​

Excluir acordo

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

DELETE /v1/agreements/{id}

Exclui (soft delete) um acordo, marcando-o como cancelled. Acordos completed não podem ser excluídos (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
204Acordo excluído.
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.

agreements accept​

Aceitar acordo

kobana dunning agreements accept [ID] [OPÇÕES]

POST /v1/agreements/{id}/accept

Aceita um acordo proposed (409 nos demais status): registra accepted_at/accepted_ip e cria as parcelas com vencimentos mensais a partir de first_due_date.

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
accepted_ipstringnãoIP registrado no aceite (trilha de auditoria).
terms_acceptedstringnãoTermos aceitos pelo devedor (texto/versão).

Outros campos e objetos aninhados: kobana schema dunning.agreements.accept.

Respostas

HTTPDescrição
200Acordo aceito (retorna o acordo com as parcelas criadas).
400Requisição inválida (erro de validaçã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.

agreements cancel​

Cancelar acordo

kobana dunning agreements cancel [ID] [OPÇÕES]

POST /v1/agreements/{id}/cancel

Cancela um acordo, registrando cancelled_at e o motivo, e cancela as parcelas pendentes/vencidas. Acordos completed ou já cancelados retornam 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.

Corpo da requisição

NomeTipoObrigatórioDescrição
reasonstringsimMotivo do cancelamento (obrigatório; gravado em cancellation_reason).

Outros campos e objetos aninhados: kobana schema dunning.agreements.cancel.

Respostas

HTTPDescrição
200Acordo cancelado (retorna o acordo com as parcelas).
400Requisição inválida (erro de validaçã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.

agreements pdf​

Termo de acordo (PDF)

kobana dunning agreements pdf [ID] [OPÇÕES]

GET /v1/agreements/{id}/pdf

Gera o termo de acordo em PDF (documento jurídico) com credor, devedor, totais e parcelas, escopado pela organização. 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 do termo de acordo (anexo binário application/pdf).
404Recurso inexistente ou fora da sua organização.
413Corpo da requisição acima de 2 MB.