Commet
  • Precios
Iniciar SesiónRegistrarse
Introducción

Eventos de Suscripción

subscription.createdsubscription.activatedsubscription.canceledsubscription.updatedsubscription.plan_changedsubscription.cancellation_scheduledsubscription.cancellation_revokedsubscription.plan_change_scheduledsubscription.plan_change_revokedsubscription.past_due

Eventos de Prueba

trial.startedtrial.convertedtrial.expiredtrial.will_endtrial.checkout_ready

Eventos de Checkout

checkout.ready

Eventos de Pago

payment.receivedpayment.failedpayment.recoveredpayment.refundedpayment.disputedpayment.dispute_resolved

Eventos de Recibo

invoice.createdinvoice.upcominginvoice.overdueinvoice.voided

Eventos de Método de Pago

payment_method.attachedpayment_method.updated

Eventos de Cliente

customer.createdcustomer.updatedcustomer.state_changed

Eventos de Créditos y Saldo

credits.grantedcredits.purchasedcredits.lowcredits.depletedcredits.expiredbalance.topped_upbalance.lowbalance.depleted

Eventos de Cuota y Uso

quota.threshold_reachedquota.exceededusage.recorded

Eventos de Asientos

seats.updatedseats.limit_reached

Eventos de Complementos

addon.activatedaddon.deactivated

Eventos de Payout

payout.availablepayout.createdpayout.paidpayout.failed
DocumentaciónRecursosConstruir con AIAPI ReferenceWebhooks

subscription.plan_change_scheduled

Se dispara cuando se programa un downgrade o cambio de intervalo para el fin del período de facturación.

Payload

All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.

subscriptionIdstring

The subscription ID.

customerIdstring

The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.

statusstring

Current status — the subscription stays usable.

currentPlanobject

The plan currently in effect (id and name).

scheduledPlanobject

The plan that takes effect at effectiveAt (id and name).

billingIntervalstring | null

The current billing interval.

scheduledBillingIntervalstring | null

The new billing interval, if the change includes one. Null when only the plan changes.

effectiveAtstring

ISO 8601 datetime when the change executes (the billing period end).

{
  "event": "subscription.plan_change_scheduled",
  "timestamp": "2026-04-15T12:00:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-05-25",
  "data": {
    "subscriptionId": "sub_1a2b3c4d",
    "customerId": "user_123",
    "status": "active",
    "currentPlan": {
      "id": "plan_pro",
      "name": "Pro"
    },
    "scheduledPlan": {
      "id": "plan_starter",
      "name": "Starter"
    },
    "billingInterval": "monthly",
    "scheduledBillingInterval": null,
    "effectiveAt": "2026-04-25T00:00:00.000Z"
  }
}

Ciclo de vida del cambio de plan programado

Commet es justo por defecto: los cambios que benefician al cliente (upgrades) se aplican de inmediato, los cambios que reducen lo que recibe (downgrades, intervalos más cortos) se aplican al final del período que ya pagó.

MomentoEventoQué hacer
Se solicita un downgradesubscription.plan_change_scheduledMostrá "cambia a {scheduledPlan.name} el {effectiveAt}". Mantené el acceso del plan actual.
Un cambio distinto lo reemplazasubscription.plan_change_revoked + subscription.plan_change_scheduledActualizá el aviso al nuevo plan objetivo.
Termina el período de facturaciónsubscription.plan_changedAplicá los permisos del nuevo plan.

Los upgrades inmediatos se saltan este evento por completo: disparan subscription.plan_changed de inmediato.

¿Cómo está esta guía?

subscription.cancellation_revoked

Se dispara cuando una cancelación programada se revierte antes de ejecutarse. La suscripción continúa normalmente.

subscription.plan_change_revoked

Se dispara cuando un cambio de plan programado se reemplaza antes de ejecutarse.