Saltar al contenido principal

kobana dunning charges

Comandos de kobana dunning charges. Toda opción global (Opciones globales) vale aquí.

ComandoHTTPDescripción
charges bulk deleteDELETE /v1/charges/bulkEliminar cobros en masa
charges listGET /v1/chargesListar cobros
charges createPOST /v1/chargesCrear cobro
charges bulk-assign-rulePOST /v1/charges/bulk-assign-ruleAplicar regla en masa
charges bulk-cancelPOST /v1/charges/bulk-cancelCancelar cobros en masa
charges getGET /v1/charges/{id}Consultar cobro
charges updatePUT /v1/charges/{id}Actualizar cobro
charges deleteDELETE /v1/charges/{id}Eliminar cobro
charges notifyPOST /v1/charges/{id}/notifyNotificar cobro
charges settlement-pdfGET /v1/charges/{id}/settlement-pdfCarta de finiquito (PDF)

charges bulk delete​

Eliminar cobros en masa

kobana dunning charges bulk delete [OPCIONES]

DELETE /v1/charges/bulk

Elimina (soft delete, irreversible) hasta 100 cobros en una llamada, con los ids en el cuerpo JSON, en cascada hacia tareas y ofertas relacionadas. Un cobro con registros asociados (notificaciones, interacciones, negativaciones, protestos) no se puede eliminar y vuelve en failed con has_related_records. Exige el nivel de acceso delete (o all) — write no basta. Sustituyó a POST /charges/bulk-archive.

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síIDs de los registros objetivo (1 a 100 por llamada). Los duplicados se ignoran.

Otros campos y objetos anidados: kobana schema dunning.charges.bulk.delete.

Respuestas

HTTPDescripción
200Resultado por ítem de la eliminación masiva.
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges list​

Listar cobros

kobana dunning charges list [OPCIONES]

GET /v1/charges

Lista los cobros de la organización con paginación y filtros. Los cobros pendientes vencidos se promueven a overdue en la lectura.

Parámetros de consulta

NombreTipoObligatorioDescripción
pageintegernoNúmero de página (desde 1).
per_pageintegernoElementos por página (máx. 100).
sort_bystringnoCampo de ordenación (nombre público en snake_case, ej.: due_date).
sort_orderstringnoDirección de ordenación (asc | desc). Valores: asc, desc.
searchstringnoBúsqueda por número de documento, descripción, external_id, nombre o documento del cliente.
person_idstringnoFiltra por los cobros de un cliente (UUID).
statusstringnoFiltra por estado. Acepta un valor o una lista separada por comas (pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off).
due_date_fromstringnoVencimiento desde (inclusive, YYYY-MM-DD o datetime ISO).
due_date_tostringnoVencimiento hasta (inclusive, YYYY-MM-DD o datetime ISO).
includestringnoRelaciones a incluir en la respuesta (person).

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Respuestas

HTTPDescripción
200Lista paginada de cobros.
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges create​

Crear cobro

kobana dunning charges create [OPCIONES]

POST /v1/charges

Crea un cobro para un cliente. Sin collection_rule_id, se aplica la regla de cobranza predeterminada de la organización. current_amount = original + intereses + multa − descuento; un cobro ya vencido entra como overdue.

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
person_idstring (uuid)síCliente (deudor) del cobro.
original_amountnumbersíValor original del título.
issue_datestringsíFecha de emisión.
due_datestringsíFecha de vencimiento.
collection_rule_idstring (uuid)noRegla de cobranza que sigue el título. Si se omite al crear, se usa la regla predeterminada de la organización.
document_numberstringnoNúmero del documento de origen (factura, contrato, etc.).
descriptionstringnoDescripción libre del cobro.
interest_amountnumbernoIntereses acumulados (predeterminado 0).
fine_amountnumbernoMulta (predeterminado 0).
discount_amountnumbernoDescuento aplicado (predeterminado 0).
statusstringnoEstado (pending | paid | overdue | cancelled | negotiated | protested | negatived | written_off). Valores: pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off.
payment_methodstringnoMedio de pago (boleto | pix | credit_card | transfer). Valores: boleto, pix, credit_card, transfer, null.
barcodestringnoCódigo de barras/línea digitable del boleto.
pix_emvstringnoCódigo Pix copia y pega (EMV).
payment_urlstring (uri)noURL de la página de pago.
external_idstringnoIdentificador en TU sistema (clave de las integraciones).
custom_dataobjectnoMetadatos personalizables por el consumidor de la API. Límites: 64 KB serializados y 16 niveles de anidamiento.
custom_metadataobjectnoMetadatos del usuario (objeto JSON libre, lectura y escritura). Ver custom_data para el campo legado de los recursos núcleo.
tagsarray<string>noEtiquetas libres.
charge_policyobjectno

Otros campos y objetos anidados: kobana schema dunning.charges.create.

Respuestas

HTTPDescripción
201Cobro creado.
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges bulk-assign-rule​

Aplicar regla en masa

kobana dunning charges bulk-assign-rule [OPCIONES]

POST /v1/charges/bulk-assign-rule

Aplica una regla de cobranza a hasta 100 cobros. La entrada en la regla respeta la idempotencia del motor: un cobro con enrollment activo/pausado mantiene el vigente. Solo los cobros pending/overdue son elegibles; el resto vuelve en failed con invalid_status.

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síIDs de los registros objetivo (1 a 100 por llamada). Los duplicados se ignoran.
collection_rule_idstring (uuid)síID de la regla de cobranza a aplicar (debe pertenecer a la organización).

Otros campos y objetos anidados: kobana schema dunning.charges.bulk-assign-rule.

Respuestas

HTTPDescripción
200Resultado por ítem de la aplicación masiva de regla.
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges bulk-cancel​

Cancelar cobros en masa

kobana dunning charges bulk-cancel [OPCIONES]

POST /v1/charges/bulk-cancel

Cancela hasta 100 cobros en una llamada. Cada cancelación pasa por el motor de la regla (valida la transición de estado, cierra el enrollment y suprime envíos pendientes). Un resultado parcial no es error: los ítems no cancelables vuelven en failed con el motivo (not_found, invalid_status).

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síIDs de los registros objetivo (1 a 100 por llamada). Los duplicados se ignoran.

Otros campos y objetos anidados: kobana schema dunning.charges.bulk-cancel.

Respuestas

HTTPDescripción
200Resultado por ítem de la cancelación masiva.
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges get​

Consultar cobro

kobana dunning charges get [ID] [OPCIONES]

GET /v1/charges/{id}

Devuelve un cobro por ID. Usa include=engine para recibir la telemetría del motor (inscripción en la regla y ejecuciones de etapa).

Argumentos de la ruta: id

Parámetros de consulta

NombreTipoObligatorioDescripción
includestringnoRelaciones a incluir en la respuesta (person, engine — telemetría de la regla).

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Respuestas

HTTPDescripción
200Cobro encontrado.
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges update​

Actualizar cobro

kobana dunning charges update [ID] [OPCIONES]

PUT /v1/charges/{id}

Actualiza los datos de un cobro (parcial). status, paid_amount y paid_at pertenecen al motor: reenviar el valor guardado se acepta, pero cambiarlos responde 422 ENGINE_MANAGED_FIELD — los pagos entran por POST /charges/{id}/pay. La única transición aceptada aquí es status: cancelled (409 si el estado actual no lo permite).

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
person_idstring (uuid)noCliente (deudor) del cobro.
collection_rule_idstring (uuid)noRegla de cobranza que sigue el título. Si se omite al crear, se usa la regla predeterminada de la organización.
document_numberstringnoNúmero del documento de origen (factura, contrato, etc.).
descriptionstringnoDescripción libre del cobro.
original_amountnumbernoValor original del título.
interest_amountnumbernoIntereses acumulados (predeterminado 0).
fine_amountnumbernoMulta (predeterminado 0).
discount_amountnumbernoDescuento aplicado (predeterminado 0).
issue_datestringnoFecha de emisión.
due_datestringnoFecha de vencimiento.
statusstringnoEstado (pending | paid | overdue | cancelled | negotiated | protested | negatived | written_off). Valores: pending, paid, overdue, cancelled, negotiated, protested, negatived, written_off.
payment_methodstringnoMedio de pago (boleto | pix | credit_card | transfer). Valores: boleto, pix, credit_card, transfer, null.
barcodestringnoCódigo de barras/línea digitable del boleto.
pix_emvstringnoCódigo Pix copia y pega (EMV).
payment_urlstring (uri)noURL de la página de pago.
external_idstringnoIdentificador en TU sistema (clave de las integraciones).
custom_dataobjectnoMetadatos personalizables por el consumidor de la API. Límites: 64 KB serializados y 16 niveles de anidamiento.
custom_metadataobjectnoMetadatos del usuario (objeto JSON libre, lectura y escritura). Ver custom_data para el campo legado de los recursos núcleo.
tagsarray<string>noEtiquetas libres.
charge_policyobjectno
paid_amountnumbernoValor efectivamente pagado.
paid_atstringnoFecha del pago.
custom_data_modestringnoCómo se aplica custom_data en el update: replace (default) sobrescribe el objeto entero; merge fusiona (deep) el payload sobre el valor almacenado — los objetos anidados se fusionan, escalares/arrays/null sobrescriben la clave. Valores: replace, merge.
custom_metadata_modestringnoCómo el custom_metadata enviado se concilia con el valor guardado: replace (por defecto) reemplaza el objeto entero; merge hace deep merge — los objetos anidados se mezclan, escalares y arrays reemplazan la clave, y una clave enviada con null se guarda como null (no se elimina). Solo en la actualización. Valores: replace, merge.

Otros campos y objetos anidados: kobana schema dunning.charges.update.

Respuestas

HTTPDescripción
200Cobro actualizado.
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges delete​

Eliminar cobro

kobana dunning charges delete [ID] [OPCIONES]

DELETE /v1/charges/{id}

Elimina (borrado lógico) un cobro junto con las tareas y ofertas relacionadas. Un cobro con notificaciones, interacciones, negativaciones o protestos asociados no puede eliminarse (409).

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Respuestas

HTTPDescripción
204Cobro eliminado (devuelve un mensaje de confirmación).
404Recurso inexistente o fuera de tu organización.
409Conflicto con el estado actual del recurso (o clave de idempotencia reutilizada).
413Cuerpo de la solicitud mayor que 2 MB.

charges notify​

Notificar cobro

kobana dunning charges notify [ID] [OPCIONES]

POST /v1/charges/{id}/notify

Crea una notificación manual para el cobro y la envía a la cola de procesamiento. El destinatario debe ser un contacto registrado de la persona (422 UNKNOWN_RECIPIENT en caso contrario). Actualiza last_notification_at; el progreso de la regla (current_step) no cambia — solo el motor lo avanza.

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
channelstringsíCanal (email | sms | whatsapp | voice | manual). Valores: email, sms, whatsapp, voice, manual.
recipientstringsíDestinatario: correo para email, teléfono para sms/whatsapp/voice — siempre un contacto registrado de la persona del cobro; libre para manual.
bodystringsíCuerpo del mensaje.
subjectstringnoAsunto (usado en correo).
collection_rule_step_idstring (uuid)noEtapa de la regla del cobro a asociar a la notificación (etiqueta; no cambia el current_step).

Otros campos y objetos anidados: kobana schema dunning.charges.notify.

Respuestas

HTTPDescripción
201Notificación creada y encolada (estado queued).
400Solicitud inválida (error de validación).
404Recurso inexistente o fuera de tu organización.
413Cuerpo de la solicitud mayor que 2 MB.

charges settlement-pdf​

Carta de finiquito (PDF)

kobana dunning charges settlement-pdf [ID] [OPCIONES]

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

Genera la carta de finiquito del cobro en PDF (documento jurídico), delimitada por la organización. Solo se permite cuando el cobro está pagado (estado paid); de lo contrario devuelve 409 (CHARGE_NOT_SETTLED). Responde application/pdf como adjunto binario.

Argumentos de la ruta: id

Encabezados

NombreTipoObligatorioDescripción
X-Workspace-IdstringnoWorkspace en el que actúa la llamada (id o public_id, listados en GET /v1/workspaces). Opcional mientras la organización tenga un solo workspace; con dos o más, sin él la respuesta es 400 WORKSPACE_REQUIRED. Un workspace de otra organización es 403 UNKNOWN_WORKSPACE.

Respuestas

HTTPDescripción
200PDF de la carta de finiquito (adjunto binario application/pdf).
404Recurso inexistente o fuera de tu organización.
409El cobro no está finiquitado — la carta solo puede generarse para el estado paid (código CHARGE_NOT_SETTLED).
413Cuerpo de la solicitud mayor que 2 MB.