Pular para o conteúdo principal

kobana billing subscriptions

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

ComandoHTTPDescrição
subscriptions itemsGET /v1/subscriptions/{id}/itemsListar itens da assinatura
subscriptions items createPOST /v1/subscriptions/{id}/itemsAplica mudanças nos itens da assinatura
subscriptions listGET /v1/subscriptionsListar assinaturas
subscriptions createPOST /v1/subscriptionsCriar assinatura
subscriptions updatePUT /v1/subscriptionsCriar ou atualizar assinatura
subscriptions getGET /v1/subscriptions/{id}Obter assinatura
subscriptions deleteDELETE /v1/subscriptions/{id}Cancelar e remover assinatura (soft delete)
subscriptions activatePOST /v1/subscriptions/{id}/activateAtivar assinatura em rascunho/confirmada
subscriptions cancelPOST /v1/subscriptions/{id}/cancelCancelar assinatura
subscriptions change-anniversaryPOST /v1/subscriptions/{id}/change-anniversaryTrocar o aniversário (dia de início do ciclo) da assinatura
subscriptions change-planPOST /v1/subscriptions/{id}/change-planTrocar o plano da assinatura
subscriptions create-invoicePOST /v1/subscriptions/{id}/create-invoiceGerar uma fatura avulsa para a assinatura
subscriptions pausePOST /v1/subscriptions/{id}/pausePausar assinatura
subscriptions resumePOST /v1/subscriptions/{id}/resumeRetomar assinatura pausada
subscriptions revert-to-confirmedPOST /v1/subscriptions/{id}/revert-to-confirmedReverter assinatura para o estado confirmado
subscriptions sync-plan-itemsPOST /v1/subscriptions/{id}/sync-plan-itemsRessincronizar itens com o plano atual

subscriptions items​

Listar itens da assinatura

kobana billing subscriptions items [ID] [OPÇÕES] [COMANDO]

GET /v1/subscriptions/{id}/items

Argumentos do caminho: id

Respostas

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

subscriptions items create​

Aplica mudanças nos itens da assinatura

kobana billing subscriptions items create [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/items

Executa um lote de até 50 operações sobre os itens: adicionar, remover, alterar quantidade, trocar de preço ou definir um valor unitário avulso. As operações são aplicadas em conjunto e geram um único registro de mudança, com a fatura ou o crédito de proração resultante.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
changesarray<oneOf>simOperações a aplicar, de 1 a 50. Cada item é discriminado por op.
timingstringnãoQuando aplicar: immediate (padrão) ou end_of_period. Valores: immediate, end_of_period.
reasonstringnãoMotivo livre, gravado junto ao registro de mudança.
idempotency_keystringnãoChave de idempotência. O cabeçalho Idempotency-Key tem precedência sobre este campo.

Outros campos e objetos aninhados: kobana schema billing.subscriptions.items.create.

Respostas

HTTPDescrição
200Mudanças aplicadas. item_change_id aponta o registro gerado; invoice_id e credit_id vêm preenchidos quando a proração gerou fatura ou crédito.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

subscriptions list​

Listar assinaturas

kobana billing subscriptions list [OPÇÕES]

GET /v1/subscriptions

Retorna uma lista paginada das assinaturas 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.
person_idstringnãoFiltra por UUID da pessoa associada.
person_document_numberstringnãoFiltra por CPF/CNPJ da pessoa (exato).
person_name_containsstringnãoFiltra por nome da pessoa (busca parcial, sem distinção de maiúsculas).
statusstringnãoFiltra por status da assinatura. Valores: draft, trialing, active, past_due, canceled, paused, suspended.
plan_idstringnãoFiltra por plano.
billing_cyclestringnãoFiltra por periodicidade de cobrança. Valores: monthly, quarterly, semiannual, annual.
billing_account_idstringnãoFiltra por conta de cobrança.
searchstringnãoBusca textual livre.
company_idstringnãoFiltra por empresa (UUID).
collection_methodstringnãoFiltra pelo método de cobrança: charge_automatically, manual_charge ou manual_invoice. Valores: charge_automatically, manual_charge, manual_invoice.
cancel_at_period_endstringnãoFiltra assinaturas com cancelamento agendado para o fim do período (true) ou não (false). Valores: true, false.
external_idstringnãoFiltra pelo identificador externo.
product_group_idstringnãoFiltra por grupo de produto (UUID).
proposal_idstringnãoFiltra por proposta (UUID).
recurring_amount_minnumber,nullnãoValor recorrente mínimo em reais (ex.: 50.00).
recurring_amount_maxnumber,nullnãoValor recorrente máximo em reais (ex.: 500.00).
created_afterstringnãoData de criação inicial do intervalo (YYYY-MM-DD).
created_beforestringnãoData de criação final do intervalo (YYYY-MM-DD).
current_period_start_fromstringnãoInício do período atual a partir desta data (YYYY-MM-DD).
current_period_start_tostringnãoInício do período atual até esta data (YYYY-MM-DD).
current_period_end_fromstringnãoFim do período atual a partir desta data (YYYY-MM-DD).
current_period_end_tostringnãoFim do período atual até esta data (YYYY-MM-DD).
trial_end_fromstringnãoFim do trial a partir desta data (YYYY-MM-DD).
trial_end_tostringnãoFim do trial até esta data (YYYY-MM-DD).
canceled_afterstringnãoCancelado a partir desta data (YYYY-MM-DD).
canceled_beforestringnãoCancelado até esta data (YYYY-MM-DD).
activated_afterstringnãoAtivado a partir desta data (YYYY-MM-DD).
activated_beforestringnãoAtivado até esta data (YYYY-MM-DD).

Respostas

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

subscriptions create​

Criar assinatura

kobana billing subscriptions create [OPÇÕES]

POST /v1/subscriptions

Cria uma assinatura. É obrigatório enviar plan_id ou items.

Corpo da requisição

NomeTipoObrigatórioDescrição
billing_account_idstring (uuid)simUUID da conta de cobrança que receberá esta assinatura.
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
company_idstring (uuid)não
plan_idstring (uuid)nãoUUID do plano. Obrigatório quando items não é enviado.
product_group_idstring (uuid)não
billing_cyclestringnãoValores: monthly, quarterly, semiannual, annual.
collection_methodstringnãoValores: charge_automatically, manual_charge, manual_invoice.
trial_endstring (date-time)nãoData de término do trial (ISO 8601).
trial_period_daysintegernãoAlternativa a trial_end. Dias de trial a partir da criação.
proration_behaviorstringnãoValores: create_prorations, none, always_invoice.
nfe_issuance_policystringnãoValores: disabled, on_finalization, on_full_payment, per_installment.
itemsarray<object>não
commitment_monthsintegernãoFidelidade: número de meses contratados (copiado da proposta aceita). Dentro da janela de fidelidade — início da assinatura + meses — o cliente não consegue cancelar pelo portal. Use null para remover.
notesstringnão
custom_metadataobjectnão

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

Respostas

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

subscriptions update​

Criar ou atualizar assinatura

kobana billing subscriptions update [OPÇÕES]

PUT /v1/subscriptions

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
billing_account_idstring (uuid)nãoUUID da conta de cobrança que receberá esta assinatura.
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
company_idstring (uuid)não
plan_idstring (uuid)nãoUUID do plano. Obrigatório quando items não é enviado.
product_group_idstring (uuid)não
billing_cyclestringnãoValores: monthly, quarterly, semiannual, annual.
collection_methodstringnãoValores: charge_automatically, manual_charge, manual_invoice.
trial_endstring (date-time)nãoData de término do trial (ISO 8601).
trial_period_daysintegernãoAlternativa a trial_end. Dias de trial a partir da criação.
proration_behaviorstringnãoValores: create_prorations, none, always_invoice.
nfe_issuance_policystringnãoValores: disabled, on_finalization, on_full_payment, per_installment.
itemsarray<object>não
commitment_monthsintegernãoFidelidade: número de meses contratados (copiado da proposta aceita). Dentro da janela de fidelidade — início da assinatura + meses — o cliente não consegue cancelar pelo portal. Use null para remover.
notesstringnã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.subscriptions.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.

subscriptions get​

Obter assinatura

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

GET /v1/subscriptions/{id}

Argumentos do caminho: id

Respostas

HTTPDescrição
200Detalhe da assinatura.
404Recurso não encontrado na organização atual.

subscriptions delete​

Cancelar e remover assinatura (soft delete)

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

DELETE /v1/subscriptions/{id}

Argumentos do caminho: id

Respostas

HTTPDescrição
200Confirmação de soft delete.
404Recurso não encontrado na organização atual.

subscriptions activate​

Ativar assinatura em rascunho/confirmada

kobana billing subscriptions activate [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/activate

Argumentos do caminho: id

Respostas

HTTPDescrição
200Assinatura ativada.
404Recurso não encontrado na organização atual.

subscriptions cancel​

Cancelar assinatura

kobana billing subscriptions cancel [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/cancel

Cancela imediatamente, ou agenda para o fim do período quando cancel_at_period_end=true.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
cancel_at_period_endbooleannãoQuando true, agenda o cancelamento para o fim do período atual. Padrão: false (cancela imediatamente).
reasonstringnão

Outros campos e objetos aninhados: kobana schema billing.subscriptions.cancel.

Respostas

HTTPDescrição
200Assinatura cancelada.
404Recurso não encontrado na organização atual.

subscriptions change-anniversary​

Trocar o aniversário (dia de início do ciclo) da assinatura

kobana billing subscriptions change-anniversary [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/change-anniversary

Move o dia do mês em que os ciclos começam. O ciclo em andamento mantém o início e é estendido até a véspera do novo dia; os dias acrescentados são cobrados pro rata (valor do ciclo × dias ÷ dias do ciclo) numa fatura subscription_update. A troca sempre avança a data, nunca a recua. Use dry_run para calcular sem aplicar.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
anniversary_dayintegersimNovo dia do mês (1 a 28) em que os ciclos começam. Use 1 para mês fechado.
charge_prorationbooleannãoCobrar os dias acrescentados. Padrão: true, exceto quando o proration_behavior da assinatura é none.
dry_runbooleannãoQuando true, só calcula e devolve o resultado, sem alterar nada.
reasonstringnãoMotivo da troca (opcional, registrado no audit log).

Outros campos e objetos aninhados: kobana schema billing.subscriptions.change-anniversary.

Respostas

HTTPDescrição
200Resultado da troca (ou da simulação, com dry_run).
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

subscriptions change-plan​

Trocar o plano da assinatura

kobana billing subscriptions change-plan [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/change-plan

Upgrade ou downgrade. A proração segue o proration_behavior da assinatura.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
plan_idstring (uuid)simUUID do novo plano.
timingstringnãoQuando a troca de plano entra em vigor. Padrão: immediate. Valores: immediate, end_of_period.
reasonstringnãoMotivo da troca (opcional, registrado no audit log).

Outros campos e objetos aninhados: kobana schema billing.subscriptions.change-plan.

Respostas

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

subscriptions create-invoice​

Gerar uma fatura avulsa para a assinatura

kobana billing subscriptions create-invoice [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/create-invoice

Argumentos do caminho: id

Respostas

HTTPDescrição
201Fatura gerada.
404Recurso não encontrado na organização atual.

subscriptions pause​

Pausar assinatura

kobana billing subscriptions pause [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/pause

Suspende a cobrança mantendo a assinatura aberta. behavior controla como faturas geradas durante a pausa são tratadas.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
behaviorstringnãoComo tratar faturas geradas durante a pausa. Padrão: mark_uncollectible. Valores: mark_uncollectible, keep_as_draft, void.
resumes_atstring (date-time)nãoData para retomada automática. Omita para retomada manual.

Outros campos e objetos aninhados: kobana schema billing.subscriptions.pause.

Respostas

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

subscriptions resume​

Retomar assinatura pausada

kobana billing subscriptions resume [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/resume

Argumentos do caminho: id

Respostas

HTTPDescrição
200Assinatura retomada.
404Recurso não encontrado na organização atual.

subscriptions revert-to-confirmed​

Reverter assinatura para o estado confirmado

kobana billing subscriptions revert-to-confirmed [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/revert-to-confirmed

Argumentos do caminho: id

Respostas

HTTPDescrição
200Assinatura revertida.
404Recurso não encontrado na organização atual.

subscriptions sync-plan-items​

Ressincronizar itens com o plano atual

kobana billing subscriptions sync-plan-items [ID] [OPÇÕES]

POST /v1/subscriptions/{id}/sync-plan-items

Realinha os itens da assinatura com o template de plan-items (reconciliação manual).

Argumentos do caminho: id

Respostas

HTTPDescrição
200Assinatura sincronizada.
404Recurso não encontrado na organização atual.