{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"occurred_at": "2023-11-07T05:31:56Z",
"club_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {
"enrollment": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"student": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "jsmith@example.com",
"created_at": "2023-11-07T05:31:56Z"
},
"delivery": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"cohort": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"purchase_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"starts_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"revoked_at": "2023-11-07T05:31:56Z",
"revoke_reason": "<string>"
},
"change": {
"reason": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"occurred_at": "2023-11-07T05:31:56Z"
}
}
}Eventos de webhook
access.*
Uma mudança no acesso de um aluno a uma entrega: ganhou, perdeu, mudou o prazo, voltou ou trocou de turma.
Os seis tipos —
O mesmo acesso, revogado por um reembolso dias depois — o
access.granted, access.revoked, access.extended, access.shortened,
access.restored e access.moved — têm o mesmo corpo. data.enrollment é a matrícula como
está agora; data.change é a mudança que o evento conta, com quem a causou (origin) e a
janela que passou a valer.
Um aluno que comprou:
{
"id": "e1a3c5b7-2d4f-4a6b-8c0e-9f1a3b5c7d9e",
"type": "access.granted",
"occurred_at": "2026-09-14T13:02:41Z",
"club_id": "7a1e9c4b-5d3f-4e2a-8b6c-1f0d9e8a7b65",
"data": {
"enrollment": {
"id": "4c6e8a0b-1d3f-4b5a-9e7c-2a4c6e8b0d1f",
"status": "active",
"source": "purchase",
"student": {
"id": "c3d5e7f9-1a2b-4c6d-8e0f-a1b2c3d4e5f6",
"name": "Maria Silva",
"email": "maria.silva@example.com",
"created_at": "2026-09-14T13:02:40Z"
},
"delivery": {
"id": "9d1f3b5c-7e2a-4c8d-b6f0-3e5a7c9b1d2f",
"name": "Formação completa"
},
"cohort": {
"id": "2b4d6f8a-0c1e-4a3b-9d5f-7e9a1c3b5d7f",
"name": "Turma de setembro"
},
"product": {
"id": "6f8a0c2e-4b1d-4f3a-a5c7-9e1b3d5f7a9c",
"name": "Curso de Marketing"
},
"purchase_id": "8a0c2e4b-6d1f-4a3c-b5e7-1f3a5c7e9b0d",
"subscription_id": null,
"starts_at": "2026-09-14T13:02:41Z",
"expires_at": "2027-09-14T13:02:41Z",
"revoked_at": null,
"revoke_reason": null
},
"change": {
"origin": "sales_platform",
"reason": null,
"expires_at": "2027-09-14T13:02:41Z",
"occurred_at": "2026-09-14T13:02:41Z"
}
}
}
reason é o tipo do evento que a
plataforma mandou:
{
"id": "a7c9e1b3-5d2f-4a4c-8e6b-0d2f4a6c8e1b",
"type": "access.revoked",
"occurred_at": "2026-09-18T10:15:03Z",
"club_id": "7a1e9c4b-5d3f-4e2a-8b6c-1f0d9e8a7b65",
"data": {
"enrollment": {
"id": "4c6e8a0b-1d3f-4b5a-9e7c-2a4c6e8b0d1f",
"status": "revoked",
"source": "purchase",
"student": {
"id": "c3d5e7f9-1a2b-4c6d-8e0f-a1b2c3d4e5f6",
"name": "Maria Silva",
"email": "maria.silva@example.com",
"created_at": "2026-09-14T13:02:40Z"
},
"delivery": {
"id": "9d1f3b5c-7e2a-4c8d-b6f0-3e5a7c9b1d2f",
"name": "Formação completa"
},
"cohort": {
"id": "2b4d6f8a-0c1e-4a3b-9d5f-7e9a1c3b5d7f",
"name": "Turma de setembro"
},
"product": {
"id": "6f8a0c2e-4b1d-4f3a-a5c7-9e1b3d5f7a9c",
"name": "Curso de Marketing"
},
"purchase_id": "8a0c2e4b-6d1f-4a3c-b5e7-1f3a5c7e9b0d",
"subscription_id": null,
"starts_at": "2026-09-14T13:02:41Z",
"expires_at": "2027-09-14T13:02:41Z",
"revoked_at": "2026-09-18T10:15:03Z",
"revoke_reason": "purchase.refunded"
},
"change": {
"origin": "sales_platform",
"reason": "purchase.refunded",
"expires_at": "2027-09-14T13:02:41Z",
"occurred_at": "2026-09-18T10:15:03Z"
}
}
}
Como a ordem de chegada não é garantida, decida pelo
data.enrollment.status e pelo
occurred_at, não pelo type da última mensagem que chegou. Ver
Webhooks de saída.Uma mudança no acesso de um aluno a uma entrega:
access.granted: ganhou acesso (compra, assinatura, concessão, convite, importação, link de cadastro ou entrega gratuita).access.revoked: perdeu (reembolso, cancelamento sem carência, revogação, remoção).access.extended/access.shortened: a data de fim mudou.access.restored: uma revogação foi desfeita.access.moved: a matrícula mudou de turma.
O tipo de uma mensagem entregue — os eventos, mais o webhook.test do botão de teste.
Available options:
student.created, student.updated, student.removed, access.granted, access.revoked, access.extended, access.shortened, access.restored, access.moved, purchase.paid, purchase.refunded, subscription.past_due, subscription.canceled, lesson.completed, course.completed, webhook.test Show child attributes
Show child attributes