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

invoice.upcoming

Evento predictivo que se dispara una vez, 3 días antes de que se renueve una suscripció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

Always "active" for this event.

planIdstring

The plan ID.

planNamestring

The plan name.

billingIntervalstring | null

The billing interval (monthly, yearly).

currentPeriodEndstring

ISO 8601 datetime when the current period ends and the renewal invoice is issued.

{
  "event": "invoice.upcoming",
  "timestamp": "2026-04-22T06:00:00.000Z",
  "organizationId": "org_abc123",
  "mode": "live",
  "apiVersion": "2026-05-25",
  "data": {
    "subscriptionId": "sub_1a2b3c4d",
    "customerId": "user_123",
    "status": "active",
    "planId": "plan_pro_monthly",
    "planName": "Pro",
    "billingInterval": "monthly",
    "currentPeriodEnd": "2026-04-25T00:00:00.000Z"
  }
}

Cuándo se dispara

Un escaneo diario encuentra suscripciones activas que se renuevan dentro de los próximos 3 días y emite este evento una vez por renovación. La clave de idempotencia se deriva de la suscripción y la fecha de renovación, por lo que volver a ejecutar el escaneo nunca envía un duplicado.

Las suscripciones con una cancelación programada quedan excluidas — no se emitirá ningún recibo de renovación para ellas.

Úsalo para notificar al cliente antes de que se le cobre. El payload intencionalmente no incluye un monto: los cargos basados en consumo solo son definitivos al momento de la renovación, cuando invoice.created entrega el recibo real.

¿Cómo está esta guía?

invoice.created

Se dispara cuando se genera un nuevo recibo

invoice.overdue

Un recibo pendiente pasó su fecha de vencimiento sin pago.