Saltar al contenido principal

kobana billing plan-changes

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

ComandoHTTPDescripción
plan-changes configGET /v1/plan_changes/configObtener configuración de cambio de plan
plan-changes config updatePATCH /v1/plan_changes/configActualizar configuración de cambio de plan
plan-changes rules listGET /v1/plan_changes/rulesListar reglas de cambio de plan
plan-changes rules createPOST /v1/plan_changes/rulesCrear regla de cambio de plan
plan-changes rules getGET /v1/plan_changes/rules/{id}Obtener regla de cambio de plan
plan-changes rules updatePATCH /v1/plan_changes/rules/{id}Actualizar regla de cambio de plan
plan-changes rules deleteDELETE /v1/plan_changes/rules/{id}Eliminar regla de cambio de plan
plan-changes statsGET /v1/plan_changes/statsEstadísticas de cambios de plan
plan-changes listGET /v1/plan_changesListar cambios de plan
plan-changes createPOST /v1/plan_changesEjecutar cambio de plan
plan-changes getGET /v1/plan_changes/{id}Obtener cambio de plan

plan-changes config​

Obtener configuración de cambio de plan

kobana billing plan-changes config [OPCIONES] [COMANDO]

GET /v1/plan_changes/config

Devuelve la configuración por defecto de la organización para upgrades y downgrades — comportamiento de prorrateo, timing y generación de crédito/refund.

Respuestas

HTTPDescripción
200Configuración actual.
404Recurso no encontrado en la organización actual.

plan-changes config update​

Actualizar configuración de cambio de plan

kobana billing plan-changes config update [OPCIONES]

PATCH /v1/plan_changes/config

Actualiza parcialmente (PATCH) la configuración de cambio de plan de la organización. Todos los campos son opcionales.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
allow_upgradebooleannoHabilita upgrades de plan para la organización.
allow_downgradebooleannoHabilita downgrades de plan para la organización.
upgrade_prorationstringnoMétodo de prorrateo por defecto para upgrades: full_proration, no_proration o partial_proration. Valores: full_proration, no_proration, partial_proration.
downgrade_prorationstringnoMétodo de prorrateo por defecto para downgrades. Valores: full_proration, no_proration, partial_proration.
upgrade_timingstringnoCuándo aplicar upgrades: immediate o end_of_period. Valores: immediate, end_of_period.
downgrade_timingstringnoCuándo aplicar downgrades: immediate o end_of_period. Valores: immediate, end_of_period.
refund_on_downgradebooleannoReembolsa la diferencia al hacer downgrade.
credit_on_downgradebooleannoGenera crédito (en lugar de reembolso) al hacer downgrade.
apply_discount_on_changebooleannoMantiene los descuentos activos al cambiar de plan.

Otros campos y objetos anidados: kobana schema billing.plan-changes.config.update.

Respuestas

HTTPDescripción
200Configuración actualizada.
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.

plan-changes rules list​

Listar reglas de cambio de plan

kobana billing plan-changes rules list [OPCIONES]

GET /v1/plan_changes/rules

Lista las reglas personalizadas que sobrescriben el comportamiento por defecto para transiciones específicas entre planes.

Respuestas

HTTPDescripción
200Lista de reglas de cambio de plan.
404Recurso no encontrado en la organización actual.

plan-changes rules create​

Crear regla de cambio de plan

kobana billing plan-changes rules create [OPCIONES]

POST /v1/plan_changes/rules

Crea una nueva regla para una transición entre planes. Permite bloquear/permitir la transición, definir timing, prorrateo, descuentos y días bonus.

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
from_plan_idstring (uuid)noUUID del plan de origen. Cuando se omite, la regla cubre cualquier plan de origen.
to_plan_idstring (uuid)noUUID del plan de destino. Cuando se omite, la regla cubre cualquier plan de destino.
change_typestringnoTipo del cambio: upgrade, downgrade o lateral. Valores: upgrade, downgrade, lateral.
allowedbooleannoCuando es false, bloquea explícitamente la transición.
timingstringnoSobrescribe el timing del cambio: immediate o end_of_period. Valores: immediate, end_of_period.
proration_methodstringnoSobrescribe el método de prorrateo: full_proration, no_proration o partial_proration. Valores: full_proration, no_proration, partial_proration.
discount_percentnumbernoDescuento porcentual aplicado cuando esta regla coincide (0 a 100).
bonus_daysintegernoDías bonus añadidos al período actual cuando se aplica esta regla.
messagestringnoMensaje libre mostrado en el portal/checkout (ej.: motivo del bloqueo).
priorityintegernoPrioridad para la resolución de conflictos cuando múltiples reglas coinciden (mayor gana).

Otros campos y objetos anidados: kobana schema billing.plan-changes.rules.create.

Respuestas

HTTPDescripción
201Regla creada.
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.

plan-changes rules get​

Obtener regla de cambio de plan

kobana billing plan-changes rules get [ID] [OPCIONES]

GET /v1/plan_changes/rules/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Detalle de la regla.
404Recurso no encontrado en la organización actual.

plan-changes rules update​

Actualizar regla de cambio de plan

kobana billing plan-changes rules update [ID] [OPCIONES]

PATCH /v1/plan_changes/rules/{id}

Argumentos de la ruta: id

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
allowedbooleannoCuando es false, bloquea explícitamente la transición.
timingstringnoSobrescribe el timing del cambio: immediate o end_of_period. Valores: immediate, end_of_period.
proration_methodstringnoSobrescribe el método de prorrateo: full_proration, no_proration o partial_proration. Valores: full_proration, no_proration, partial_proration.
discount_percentnumbernoDescuento porcentual aplicado cuando esta regla coincide (0 a 100).
bonus_daysintegernoDías bonus añadidos al período actual cuando se aplica esta regla.
messagestringnoMensaje libre mostrado en el portal/checkout (ej.: motivo del bloqueo).
priorityintegernoPrioridad para la resolución de conflictos cuando múltiples reglas coinciden (mayor gana).
is_activebooleannoDesactiva la regla sin eliminarla.

Otros campos y objetos anidados: kobana schema billing.plan-changes.rules.update.

Respuestas

HTTPDescripción
200Regla actualizada.
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.

plan-changes rules delete​

Eliminar regla de cambio de plan

kobana billing plan-changes rules delete [ID] [OPCIONES]

DELETE /v1/plan_changes/rules/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Regla eliminada.
404Recurso no encontrado en la organización actual.

plan-changes stats​

Estadísticas de cambios de plan

kobana billing plan-changes stats [OPCIONES]

GET /v1/plan_changes/stats

Devuelve agregados de cambios de plan (totales por tipo, por estado, créditos y cargos de prorrateo) para una ventana en días.

Parámetros de consulta

NombreTipoObligatorioDescripción
daysintegernoVentana en días para los agregados (por defecto: 30).

Respuestas

HTTPDescripción
200Estadísticas agregadas de cambios de plan.
404Recurso no encontrado en la organización actual.

plan-changes list​

Listar cambios de plan

kobana billing plan-changes list [OPCIONES]

GET /v1/plan_changes

Devuelve el historial paginado de cambios de plan (upgrades, downgrades y laterales) 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.
person_idstringnoFiltra por UUID de la persona asociada.
person_document_numberstringnoFiltra por CPF/CNPJ de la persona (coincidencia exacta).
person_name_containsstringnoFiltra por nombre de la persona (búsqueda parcial, sin distinción de mayúsculas).
subscription_idstringnoFiltra por los cambios de una suscripción.
billing_account_idstringnoFiltra por los cambios de una cuenta de cobro.
from_plan_idstringnoFiltra por el plan de origen (UUID).
to_plan_idstringnoFiltra por el plan de destino (UUID).
change_typestringnoFiltra por tipo: upgrade, downgrade o lateral. Valores: upgrade, downgrade, lateral.
statusstringnoFiltra por estado: pending, scheduled, completed, canceled o failed. Valores: pending, scheduled, completed, canceled, failed.
timingstringnoFiltra por timing: immediate o end_of_period. Valores: immediate, end_of_period.
proration_methodstringnoFiltra por el método de prorrateo (ej.: full_proration, no_proration, partial_proration).
price_difference_minnumber,nullnoDiferencia de precio mínima en R$. Ej.: 10.50.
price_difference_maxnumber,nullnoDiferencia de precio máxima en R$. Ej.: 500.00.
proration_charge_minnumber,nullnoCargo de prorrateo mínimo en R$.
proration_charge_maxnumber,nullnoCargo de prorrateo máximo en R$.
proration_credit_minnumber,nullnoCrédito de prorrateo mínimo en R$.
proration_credit_maxnumber,nullnoCrédito de prorrateo máximo en R$.
effective_date_fromstringnoFecha de vigencia desde (inclusive). Formato: YYYY-MM-DD.
effective_date_tostringnoFecha de vigencia hasta (inclusive). Formato: YYYY-MM-DD.
scheduled_date_fromstringnoFecha programada desde (inclusive). Formato: YYYY-MM-DD.
scheduled_date_tostringnoFecha programada hasta (inclusive). Formato: YYYY-MM-DD.
completed_afterstringnoCompletada desde (inclusive). Formato: YYYY-MM-DD.
completed_beforestringnoCompletada hasta (inclusive). Formato: YYYY-MM-DD.
created_afterstringnoInicio del rango de fecha de creación (YYYY-MM-DD).
created_beforestringnoFin del rango de fecha de creación (YYYY-MM-DD).

Respuestas

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

plan-changes create​

Ejecutar cambio de plan

kobana billing plan-changes create [OPCIONES]

POST /v1/plan_changes

Ejecuta un cambio de plan para una suscripción existente. timing controla si el cambio se aplica de inmediato (con prorrateo) o al final del período actual. En caso de éxito, devuelve los UUIDs del plan_change, la factura de prorrateo (si existe) y el crédito generado (si existe).

Cuerpo de la solicitud

NombreTipoObligatorioDescripción
subscription_idstring (uuid)síUUID de la suscripción que tendrá su plan cambiado.
to_plan_idstring (uuid)síUUID del plan de destino.
timingstringnoCuándo aplicar el cambio: immediate (por defecto para upgrades) o end_of_period (por defecto para downgrades). Valores: immediate, end_of_period.
reasonstringnoMotivo del cambio (registrado en el audit log).

Otros campos y objetos anidados: kobana schema billing.plan-changes.create.

Respuestas

HTTPDescripción
201Cambio de plan ejecutado.
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.

plan-changes get​

Obtener cambio de plan

kobana billing plan-changes get [ID] [OPCIONES]

GET /v1/plan_changes/{id}

Argumentos de la ruta: id

Respuestas

HTTPDescripción
200Detalle del cambio de plan.
404Recurso no encontrado en la organización actual.