Pular para o conteúdo principal

kobana billing products

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

ComandoHTTPDescrição
products bulk deleteDELETE /v1/products/bulkExcluir produtos em lote
products reorder createPOST /v1/products/reorderReordenar produtos
products reorder updatePUT /v1/products/reorderReordenar produtos (PUT /reorder)
products listGET /v1/productsListar produtos
products createPOST /v1/productsCriar produto
products updatePUT /v1/productsCriar ou atualizar produto
products bulk-archivePOST /v1/products/bulk-archiveArquivar produtos em lote
products bulk-change-companyPOST /v1/products/bulk-change-companyTrocar empresa de produtos em lote
products bulk-move-groupPOST /v1/products/bulk-move-groupMover produtos para outro grupo
products bulk-visibilityPOST /v1/products/bulk-visibilityAlterar visibilidade em lote
products getGET /v1/products/{id}Obter produto
products deleteDELETE /v1/products/{id}Excluir produto
products archivePOST /v1/products/{id}/archiveArquivar produto
products publishPOST /v1/products/{id}/publishPublicar produto
products restorePOST /v1/products/{id}/restoreRestaurar produto arquivado

products bulk delete​

Excluir produtos em lote

kobana billing products bulk delete [OPÇÕES]

DELETE /v1/products/bulk

Exclui vários produtos (soft delete: deleted_at, mesmo efeito de DELETE /v1/products/{id} em cada um). IDs em uso por assinaturas ativas são ignorados e reportados na resposta. Exige o nível de acesso delete. Substitui POST /v1/products/bulk-delete, removido.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simIDs dos produtos a excluir.

Outros campos e objetos aninhados: kobana schema billing.products.bulk.delete.

Respostas

HTTPDescrição
200Resultado da operação em lote.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products reorder create​

Reordenar produtos

kobana billing products reorder create [OPÇÕES]

POST /v1/products/reorder

Atualiza a ordem de exibição dos produtos. O índice 0 do array vira o primeiro item da lista.

Corpo da requisição

NomeTipoObrigatórioDescrição
product_idsarray<string (uuid)>simIDs de produtos na nova ordem desejada. Índice 0 vira o primeiro da lista.

Outros campos e objetos aninhados: kobana schema billing.products.reorder.create.

Respostas

HTTPDescrição
200Ordem atualizada.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products reorder update​

Reordenar produtos (PUT /reorder)

kobana billing products reorder update [OPÇÕES]

PUT /v1/products/reorder

Alias PUT para /products/reorder. Mesmo comportamento da versão POST.

Corpo da requisição

NomeTipoObrigatórioDescrição
product_idsarray<string (uuid)>simIDs de produtos na nova ordem desejada. Índice 0 vira o primeiro da lista.

Outros campos e objetos aninhados: kobana schema billing.products.reorder.update.

Respostas

HTTPDescrição
200Ordem atualizada.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products list​

Listar produtos

kobana billing products list [OPÇÕES]

GET /v1/products

Retorna uma lista paginada dos produtos da organização atual.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
pageintegernãoPágina (começa em 1). Padrão: 1.
per_pageintegernãoItens por página. Padrão: 20. Máximo: 100.
sort_bystringnãoCampo de ordenação. Padrão depende do recurso.
sort_orderstringnãoDireção da ordenação. Padrão: desc. Valores: asc, desc.
statusstringnãoFiltra por status do produto. Valores: all, draft, active, archived.
visibilitystringnãoFiltra por visibilidade. Valores: public, private.
product_typestringnãoFiltra por tipo de produto. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
product_group_idstringnãoFiltra por grupo de produto.
company_idstringnãoFiltra por empresa.
parent_product_idstringnãoFiltra por produto pai.
root_onlystringnãoQuando true, retorna apenas produtos raiz (sem pai). Valores: true, false.
searchstringnãoBusca textual livre (nome, slug).
service_item_idstringnãoFiltra por item de serviço vinculado.
is_requiredstringnãoQuando true, retorna apenas produtos marcados como obrigatórios. Valores: true, false.
self_service_editablestringnãoQuando true, retorna apenas produtos que o cliente pode editar no portal. Valores: true, false.
external_idstringnãoFiltra por identificador externo.
slugstringnãoFiltra por slug exato do produto.
created_afterstringnãoData de criação inicial do intervalo (YYYY-MM-DD).
created_beforestringnãoData de criação final do intervalo (YYYY-MM-DD).
updated_afterstringnãoData de atualização inicial do intervalo (YYYY-MM-DD).
updated_beforestringnãoData de atualização final do intervalo (YYYY-MM-DD).

Respostas

HTTPDescrição
200Lista paginada de produtos.
404Recurso não encontrado na organização atual.

products create​

Criar produto

kobana billing products create [OPÇÕES]

POST /v1/products

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringsimNome do produto.
slugstringsimSlug único dentro do grupo. Aceita apenas [a-z0-9_-]+.
descriptionstringnão
product_typestringnãoTipo do produto. Padrão: base. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
visibilitystringnãoVisibilidade no portal. Padrão: public. Valores: public, private.
unit_labelstringnão
incrementintegernãoIncremento mínimo. Padrão: 1.
website_urlstring (uri)não
is_requiredbooleannão
parent_product_idstring (uuid)não
product_group_idstring (uuid)não
company_idstring (uuid)não
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
custom_metadataobjectnão

Outros campos e objetos aninhados: kobana schema billing.products.create.

Respostas

HTTPDescrição
201Produto criado.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products update​

Criar ou atualizar produto

kobana billing products update [OPÇÕES]

PUT /v1/products

Recebe o mesmo corpo do POST, acrescido de id e public_id, e deduplica por id, public_id, external_id e as chaves naturais do recurso, nesta ordem, parando na primeira que encontrar um registro. Se encontrar, atualiza e responde 200; se não, cria e responde 201. Os campos obrigatórios do POST só são exigidos quando nenhum registro é encontrado, e a atualização é parcial: campos ausentes mantêm o valor atual.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringnãoNome do produto.
slugstringnãoSlug único dentro do grupo. Aceita apenas [a-z0-9_-]+.
descriptionstringnão
product_typestringnãoTipo do produto. Padrão: base. Valores: base, addon_quantity, addon_fixed, metered, one_time_fixed, one_time_quantity, credits.
visibilitystringnãoVisibilidade no portal. Padrão: public. Valores: public, private.
unit_labelstringnão
incrementintegernãoIncremento mínimo. Padrão: 1.
website_urlstring (uri)não
is_requiredbooleannão
parent_product_idstring (uuid)não
product_group_idstring (uuid)não
company_idstring (uuid)não
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
custom_metadataobjectnão
idstring (uuid)nãoUUID do registro. Usado apenas para localizá-lo — nunca é gravado.
public_idstring (uuid)nãoUUID público do registro, usado para localizá-lo.

Outros campos e objetos aninhados: kobana schema billing.products.update.

Respostas

HTTPDescrição
200Registro atualizado.
201Registro criado.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products bulk-archive​

Arquivar produtos em lote

kobana billing products bulk-archive [OPÇÕES]

POST /v1/products/bulk-archive

Arquiva múltiplos produtos. IDs em uso por assinaturas ativas ou já arquivados são ignorados e reportados na resposta.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simIDs de produtos a arquivar.

Outros campos e objetos aninhados: kobana schema billing.products.bulk-archive.

Respostas

HTTPDescrição
200Resultado da operação em lote.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products bulk-change-company​

Trocar empresa de produtos em lote

kobana billing products bulk-change-company [OPÇÕES]

POST /v1/products/bulk-change-company

Reatribui múltiplos produtos a outra empresa. Envie company_id: null para limpar o vínculo.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>sim
company_idstring (uuid)simEmpresa de destino. Use null para limpar o vínculo.

Outros campos e objetos aninhados: kobana schema billing.products.bulk-change-company.

Respostas

HTTPDescrição
200Resultado da operação em lote.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products bulk-move-group​

Mover produtos para outro grupo

kobana billing products bulk-move-group [OPÇÕES]

POST /v1/products/bulk-move-group

Move múltiplos produtos para um grupo de produto. Envie product_group_id: null para remover do grupo atual.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>sim
product_group_idstring (uuid)simGrupo de destino. Use null para remover do grupo atual.

Outros campos e objetos aninhados: kobana schema billing.products.bulk-move-group.

Respostas

HTTPDescrição
200Resultado da operação em lote.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products bulk-visibility​

Alterar visibilidade em lote

kobana billing products bulk-visibility [OPÇÕES]

POST /v1/products/bulk-visibility

Atualiza a visibilidade (public ou private) de múltiplos produtos.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>sim
visibilitystringsimNova visibilidade a aplicar em todos os produtos. Valores: public, private.

Outros campos e objetos aninhados: kobana schema billing.products.bulk-visibility.

Respostas

HTTPDescrição
200Resultado da operação em lote.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products get​

Obter produto

kobana billing products get [ID] [OPÇÕES]

GET /v1/products/{id}

Argumentos do caminho: id

Respostas

HTTPDescrição
200Detalhe do produto.
404Recurso não encontrado na organização atual.

products delete​

Excluir produto

kobana billing products delete [ID] [OPÇÕES]

DELETE /v1/products/{id}

Exclui o produto (soft delete: deleted_at, ele some de toda leitura e sai de todos os planos; as assinaturas e faturas que o citam guardam a referência). Exige o nível de acesso delete. Retorna 422 quando o produto está em uso por assinaturas ativas. Até outubro de 2026 esta rota arquivava o produto — arquivar é POST /v1/products/{id}/archive, reversível.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Produto excluído.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products archive​

Arquivar produto

kobana billing products archive [ID] [OPÇÕES]

POST /v1/products/{id}/archive

Arquiva o produto. Retorna 422 quando o produto está em uso por assinaturas ativas ou já está arquivado.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Produto arquivado.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products publish​

Publicar produto

kobana billing products publish [ID] [OPÇÕES]

POST /v1/products/{id}/publish

Promove um produto em rascunho para o status ativo.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Produto publicado.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

products restore​

Restaurar produto arquivado

kobana billing products restore [ID] [OPÇÕES]

POST /v1/products/{id}/restore

Restaura um produto arquivado de volta para o status ativo.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Produto restaurado.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.