Saltar al contenido principal

kobana billing products

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

ComandoHTTPDescripción
products bulk deleteDELETE /v1/products/bulkEliminar productos en lote
products reorder createPOST /v1/products/reorderReordenar productos
products reorder updatePUT /v1/products/reorderReordenar productos (PUT /reorder)
products listGET /v1/productsListar productos
products createPOST /v1/productsCrear producto
products updatePUT /v1/productsCrear o actualizar producto
products bulk-archivePOST /v1/products/bulk-archiveArchivar productos en lote
products bulk-change-companyPOST /v1/products/bulk-change-companyCambiar empresa de productos en lote
products bulk-move-groupPOST /v1/products/bulk-move-groupMover productos a otro grupo
products bulk-visibilityPOST /v1/products/bulk-visibilityCambiar visibilidad en lote
products getGET /v1/products/{id}Obtener producto
products deleteDELETE /v1/products/{id}Eliminar producto
products archivePOST /v1/products/{id}/archiveArchivar producto
products publishPOST /v1/products/{id}/publishPublicar producto
products restorePOST /v1/products/{id}/restoreRestaurar producto archivado

products bulk delete​

Eliminar productos en lote

kobana billing products bulk delete [OPCIONES]

DELETE /v1/products/bulk

Elimina varios productos (soft delete: deleted_at, el mismo efecto que DELETE /v1/products/{id} en cada uno). Los IDs en uso por suscripciones activas se ignoran y se reportan en la respuesta. Exige el nivel de acceso delete. Reemplaza POST /v1/products/bulk-delete, eliminado.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síIDs de los productos a eliminar.

Otros campos y objetos anidados: kobana schema billing.products.bulk.delete.

Respuestas

HTTPDescripción
200Resultado de la operación en lote.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products reorder create​

Reordenar productos

kobana billing products reorder create [OPCIONES]

POST /v1/products/reorder

Actualiza el orden de visualización de los productos. El índice 0 del array pasa a ser el primer ítem de la lista.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
product_idsarray<string (uuid)>síIDs de productos en el nuevo orden deseado. El índice 0 pasa a ser el primero de la lista.

Otros campos y objetos anidados: kobana schema billing.products.reorder.create.

Respuestas

HTTPDescripción
200Orden actualizado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products reorder update​

Reordenar productos (PUT /reorder)

kobana billing products reorder update [OPCIONES]

PUT /v1/products/reorder

Alias PUT para /products/reorder. Mismo comportamiento que la versión POST.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
product_idsarray<string (uuid)>síIDs de productos en el nuevo orden deseado. El índice 0 pasa a ser el primero de la lista.

Otros campos y objetos anidados: kobana schema billing.products.reorder.update.

Respuestas

HTTPDescripción
200Orden actualizado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products list​

Listar productos

kobana billing products list [OPCIONES]

GET /v1/products

Devuelve una lista paginada de los productos de la organización actual.

Parámetros de consulta

NombreTipoObligatorioDescripción
pageintegernoPágina (comienza en 1). Por defecto: 1.
per_pageintegernoÍtems por página. Por defecto: 20. Máximo: 100.
sort_bystringnoCampo de ordenación. El valor por defecto depende del recurso.
sort_orderstringnoDirección de ordenación. Por defecto: desc. Valores: asc, desc.
statusstringnoFiltra por estado del producto. Valores: all, draft, active, archived.
visibilitystringnoFiltra por visibilidad. Valores: public, private.
product_typestringnoFiltra por tipo de producto. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
product_group_idstringnoFiltra por grupo de productos.
company_idstringnoFiltra por empresa.
parent_product_idstringnoFiltra por producto padre.
root_onlystringnoCuando es true, devuelve solo productos raíz (sin padre). Valores: true, false.
searchstringnoBúsqueda textual libre (nombre, slug).
service_item_idstringnoFiltra por ítem de servicio vinculado.
is_requiredstringnoCuando es true, devuelve solo productos marcados como obligatorios. Valores: true, false.
self_service_editablestringnoCuando es true, devuelve solo productos que el cliente puede editar en el portal. Valores: true, false.
external_idstringnoFiltra por identificador externo.
slugstringnoFiltra por slug exacto del producto.
created_afterstringnoInicio del rango de fecha de creación (YYYY-MM-DD).
created_beforestringnoFin del rango de fecha de creación (YYYY-MM-DD).
updated_afterstringnoInicio del rango de fecha de actualización (YYYY-MM-DD).
updated_beforestringnoFin del rango de fecha de actualización (YYYY-MM-DD).

Respuestas

HTTPDescripción
200Lista paginada de productos.
404Recurso no encontrado en la organización actual.

products create​

Crear producto

kobana billing products create [OPCIONES]

POST /v1/products

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
namestringsíNombre del producto.
slugstringsíSlug único dentro del grupo. Acepta solo [a-z0-9_-]+.
descriptionstringno
product_typestringnoTipo del producto. Por defecto: base. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
visibilitystringnoVisibilidad en el portal. Por defecto: public. Valores: public, private.
unit_labelstringno
incrementintegernoIncremento mínimo. Por defecto: 1.
website_urlstring (uri)no
is_requiredbooleanno
parent_product_idstring (uuid)no
product_group_idstring (uuid)no
company_idstring (uuid)no
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
custom_metadataobjectno

Otros campos y objetos anidados: kobana schema billing.products.create.

Respuestas

HTTPDescripción
201Producto creado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products update​

Crear o actualizar producto

kobana billing products update [OPCIONES]

PUT /v1/products

Recibe el mismo cuerpo del POST, más id y public_id, y deduplica por id, public_id, external_id y las claves naturales del recurso, en ese orden, deteniéndose en la primera que encuentre un registro. Si lo encuentra, lo actualiza y responde 200; si no, lo crea y responde 201. Los campos obligatorios del POST solo se exigen cuando no se encuentra ningún registro, y la actualización es parcial.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
namestringnoNombre del producto.
slugstringnoSlug único dentro del grupo. Acepta solo [a-z0-9_-]+.
descriptionstringno
product_typestringnoTipo del producto. Por defecto: base. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
visibilitystringnoVisibilidad en el portal. Por defecto: public. Valores: public, private.
unit_labelstringno
incrementintegernoIncremento mínimo. Por defecto: 1.
website_urlstring (uri)no
is_requiredbooleanno
parent_product_idstring (uuid)no
product_group_idstring (uuid)no
company_idstring (uuid)no
external_idstringnoIdentificador en su sistema externo, para idempotencia/sincronización.
custom_metadataobjectno
idstring (uuid)noUUID del registro. Se usa solo para localizarlo — nunca se guarda.
public_idstring (uuid)noUUID público del registro, usado para localizarlo.

Otros campos y objetos anidados: kobana schema billing.products.update.

Respuestas

HTTPDescripción
200Registro actualizado.
201Registro creado.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products bulk-archive​

Archivar productos en lote

kobana billing products bulk-archive [OPCIONES]

POST /v1/products/bulk-archive

Archiva múltiples productos. Los IDs en uso por suscripciones activas o ya archivados se ignoran y se reportan en la respuesta.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>síIDs de productos a archivar.

Otros campos y objetos anidados: kobana schema billing.products.bulk-archive.

Respuestas

HTTPDescripción
200Resultado de la operación en lote.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products bulk-change-company​

Cambiar empresa de productos en lote

kobana billing products bulk-change-company [OPCIONES]

POST /v1/products/bulk-change-company

Reasigna múltiples productos a otra empresa. Envía company_id: null para limpiar el vínculo.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>sí
company_idstring (uuid)síEmpresa de destino. Usa null para limpiar el vínculo.

Otros campos y objetos anidados: kobana schema billing.products.bulk-change-company.

Respuestas

HTTPDescripción
200Resultado de la operación en lote.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products bulk-move-group​

Mover productos a otro grupo

kobana billing products bulk-move-group [OPCIONES]

POST /v1/products/bulk-move-group

Mueve múltiples productos a un grupo de productos. Envía product_group_id: null para quitarlos del grupo actual.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>sí
product_group_idstring (uuid)síGrupo de destino. Usa null para quitar del grupo actual.

Otros campos y objetos anidados: kobana schema billing.products.bulk-move-group.

Respuestas

HTTPDescripción
200Resultado de la operación en lote.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products bulk-visibility​

Cambiar visibilidad en lote

kobana billing products bulk-visibility [OPCIONES]

POST /v1/products/bulk-visibility

Actualiza la visibilidad (public o private) de múltiples productos.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
idsarray<string (uuid)>sí
visibilitystringsíNueva visibilidad a aplicar en todos los productos. Valores: public, private.

Otros campos y objetos anidados: kobana schema billing.products.bulk-visibility.

Respuestas

HTTPDescripción
200Resultado de la operación en lote.
400El cuerpo de la solicitud falló en la validación.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products get​

Obtener producto

kobana billing products get [ID] [OPCIONES]

GET /v1/products/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Detalle del producto.
404Recurso no encontrado en la organización actual.

products delete​

Eliminar producto

kobana billing products delete [ID] [OPCIONES]

DELETE /v1/products/{id}

Elimina el producto (soft delete: deleted_at — desaparece de toda lectura y sale de todos los planes; las suscripciones y facturas que lo citan guardan la referencia). Exige el nivel de acceso delete. Devuelve 422 cuando el producto está en uso por suscripciones activas. Hasta octubre de 2026 esta ruta archivaba el producto — archivar es POST /v1/products/{id}/archive, reversible.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Producto eliminado.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products archive​

Archivar producto

kobana billing products archive [ID] [OPCIONES]

POST /v1/products/{id}/archive

Archiva el producto. Devuelve 422 cuando el producto está en uso por suscripciones activas o ya está archivado.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Producto archivado.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products publish​

Publicar producto

kobana billing products publish [ID] [OPCIONES]

POST /v1/products/{id}/publish

Promueve un producto en borrador al estado activo.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Producto publicado.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.

products restore​

Restaurar producto archivado

kobana billing products restore [ID] [OPCIONES]

POST /v1/products/{id}/restore

Restaura un producto archivado al estado activo.

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Producto restaurado.
404Recurso no encontrado en la organización actual.
422El cuerpo de la solicitud falló en la validación.