# Eventos de webhook

> Referencia de los eventos que recibe un webhook, generada del catálogo de la API, con los campos de data de cada uno y lo que nunca va en ningún evento.

Cada entrega de [webhook](/api/webhooks) lleva un sobre con `id`, `type`, `version`, `occurredAt`, `community` y `data`. Esta página muestra el `data` de cada evento. Se genera del catálogo público de la API, [`GET /api/integrations/events`](/api/referencia/integrations), que devuelve también el JSON Schema de cada evento.

- Todo evento trae a la persona en `data.member`, con `id` (el miembro en la comunidad), `name` y `email`.
- Los importes vienen en céntimos, como `{ "amount": 9990, "currency": "BRL" }`, siempre lo que pagó la persona.
- Un campo nuevo puede entrar en un evento sin cambiar la `version`; trata los campos desconocidos como opcionales. Un cambio que rompa el formato pasa a ser una `version` nueva.

## Los eventos

| Evento | Familia | Cuándo se envía |
|---|---|---|
| [`member.joined`](#member-joined) | `member` | Una persona pasó a ser miembro de la comunidad (registro, invitación aceptada, compra, creación por el equipo, ingreso por empresa, importación por planilla o aprobación de la solicitud de ingreso). |
| [`member.left`](#member-left) | `member` | Una persona salió de la comunidad o fue eliminada. |
| [`member.returned`](#member-returned) | `member` | Una persona volvió a acceder a la comunidad después de 7 días o más sin acceso (inicio de sesión, app o asistente), con cuántos días estuvo fuera. |
| [`member.role_changed`](#member-role-changed) | `member` | Cambió el rol de una persona en la comunidad. |
| [`purchase.completed`](#purchase-completed) | `purchase` | Se pagó una compra (o se obtuvo un producto gratuito). |
| [`purchase.refunded`](#purchase-refunded) | `purchase` | Se reembolsó una compra, total o parcialmente. |
| [`subscription.created`](#subscription-created) | `subscription` | Comenzó una suscripción (pagada o en prueba gratuita). |
| [`subscription.renewed`](#subscription-renewed) | `subscription` | Se renovó una suscripción con el pago de un nuevo período. |
| [`subscription.canceled`](#subscription-canceled) | `subscription` | Se canceló una suscripción, de inmediato o al final del período. |
| [`subscription.ended`](#subscription-ended) | `subscription` | Terminó una suscripción y su acceso finalizó. |
| [`event.registered`](#event-registered) | `event` | Una persona confirmó asistencia ("voy") a un evento. |
| [`course.enrolled`](#course-enrolled) | `course` | Una persona se inscribió en un curso. |
| [`course.completed`](#course-completed) | `course` | Una persona completó un curso. |
| [`certificate.issued`](#certificate-issued) | `certificate` | Se emitió un certificado de curso o de evento. |
| [`form.submitted`](#form-submitted) | `form` | Un formulario recibió un envío (los campos completados y el consentimiento, sin IP). |
| [`event.checked_in`](#event-checked-in) | `event` | Una persona hizo check-in en un evento (en la puerta, en el quiosco, por cortesía o por la transmisión en vivo). |
| [`event.check_in_undone`](#event-check-in-undone) | `event` | El equipo deshizo el check-in de una persona en un evento. |
| [`lesson.completed`](#lesson-completed) | `lesson` | Una persona completó una clase de un curso. |
| [`comment.created`](#comment-created) | `comment` | Una persona comentó en una publicación, contenido o ítem (sin el texto del comentario). |
| [`reaction.added`](#reaction-added) | `reaction` | Una persona reaccionó a una publicación, comentario o ítem. |
| [`post.created`](#post-created) | `post` | Una persona publicó una publicación (sin el texto). |
| [`member.tag_added`](#member-tag-added) | `member` | Se añadió una etiqueta a una persona. |
| [`member.tag_removed`](#member-tag-removed) | `member` | Se quitó una etiqueta de una persona. |
| [`member.group_joined`](#member-group-joined) | `member` | Una persona entró a un grupo. |
| [`member.group_left`](#member-group-left) | `member` | Una persona salió de un grupo. |
| [`member.field_changed`](#member-field-changed) | `member` | Cambió un campo personalizado de una persona (solo la clave del campo, nunca el valor). |
| [`checkout.started`](#checkout-started) | `checkout` | Una persona con sesión iniciada abrió el checkout de un producto de pago. |
| [`checkout.abandoned`](#checkout-abandoned) | `checkout` | Un checkout quedó abandonado. |
| [`checkout.recovered`](#checkout-recovered) | `checkout` | Un checkout abandonado se convirtió en compra. |
| [`space.first_visit`](#space-first-visit) | `space` | Una persona abrió un espacio por primera vez. |
| [`space.access_granted`](#space-access-granted) | `space` | Una persona obtuvo acceso a un espacio (compra, plan, equipo, badge o nivel). |
| [`quiz.passed`](#quiz-passed) | `quiz` | Una persona aprobó el quiz de una clase (sin la nota ni las respuestas). |
| [`quiz.failed`](#quiz-failed) | `quiz` | Una persona no aprobó el quiz de una clase (sin la nota ni las respuestas). |
| [`lesson.rated`](#lesson-rated) | `lesson` | Una persona calificó una clase por primera vez (sin la nota ni el comentario). |
| [`event.ticket_assigned`](#event-ticket-assigned) | `event` | Se asignó una entrada de un pedido grupal a una persona (sin el código QR). |
| [`event.registration_canceled`](#event-registration-canceled) | `event` | Una persona canceló su propia inscripción a un evento. |
| [`event.waitlist_offered`](#event-waitlist-offered) | `event` | Se abrió un lugar para una persona de la lista de espera de un tipo de entrada (la oferta vale hasta la fecha). |
| [`subscription.plan_changed`](#subscription-plan-changed) | `subscription` | La suscripción de una persona cambió de plan (de/a y cuándo; sin valores). |
| [`subscription.past_due`](#subscription-past-due) | `subscription` | La suscripción de una persona quedó con el pago atrasado. |
| [`subscription.trial_ending`](#subscription-trial-ending) | `subscription` | El período de prueba de la suscripción de una persona termina en los próximos 3 días. |
| [`coupon.redeemed`](#coupon-redeemed) | `coupon` | Se usó un cupón en una compra (el id del cupón, nunca el código). |
| [`survey.answered`](#survey-answered) | `survey` | Una persona respondió una encuesta identificada (sin las respuestas; una encuesta anónima no publica). |
| [`form.submission_reviewed`](#form-submission-reviewed) | `form` | El equipo cambió el estado de un envío de formulario (sin las respuestas). |
| [`proposal.submitted`](#proposal-submitted) | `proposal` | Se envió una propuesta a una convocatoria (sin el título ni el texto). |
| [`proposal.decided`](#proposal-decided) | `proposal` | Una propuesta fue aceptada o rechazada (sin notas ni evaluaciones). |
| [`certificate.revoked`](#certificate-revoked) | `certificate` | Se revocó un certificado (el id y el código público; sin el motivo). |
| [`upvote.topic_created`](#upvote-topic-created) | `upvote` | Se publicó un tema de Upvote (aprobado; sin el título ni la descripción). |
| [`upvote.topic_status_changed`](#upvote-topic-status-changed) | `upvote` | El equipo cambió el estado de un tema de Upvote (sin la nota). |
| [`download.completed`](#download-completed) | `download` | Una persona descargó un archivo de un ítem de Descargas (sin el nombre del archivo ni el enlace). |
| [`classified.published`](#classified-published) | `classified` | Se publicó un anuncio de Clasificados (aprobado; sin el texto ni el valor). |
| [`classified.interest_received`](#classified-interest-received) | `classified` | El autor de un anuncio recibió un interés (sin el mensaje). |
| [`parcel.received`](#parcel-received) | `parcel` | Llegó un paquete para una persona (el tipo; sin remitente, código ni fotos). |
| [`parcel.picked_up`](#parcel-picked-up) | `parcel` | Se retiró un paquete. |
| [`visitor.invited`](#visitor-invited) | `visitor` | Una persona invitó a un visitante (horario previsto; sin los datos del visitante). |
| [`visitor.arrived`](#visitor-arrived) | `visitor` | Llegó el visitante de una persona (sin los datos del visitante). |
| [`attendance.checked_in`](#attendance-checked-in) | `attendance` | Una persona registró su entrada en un lugar de Asistencia. |
| [`attendance.checked_out`](#attendance-checked-out) | `attendance` | Una persona registró su salida de un lugar de Asistencia. |
| [`support_ticket.created`](#support-ticket-created) | `support_ticket` | Una persona abrió un ticket de Soporte (tipo y categoría; sin el texto ni las fotos). |
| [`support_ticket.resolved`](#support-ticket-resolved) | `support_ticket` | Se resolvió un ticket de Soporte. |
| [`booking.created`](#booking-created) | `booking` | Una persona hizo una reserva (recurso, inicio, fin y estado). |
| [`booking.canceled`](#booking-canceled) | `booking` | Se canceló una reserva. |
| [`booking.checked_in`](#booking-checked-in) | `booking` | Una persona hizo el check-in de una reserva. |
| [`booking.no_show`](#booking-no-show) | `booking` | Una reserva se marcó como inasistencia. |
| [`download.item_published`](#download-item-published) | `download` | Se publicó un ítem de Descargas (ids del ítem, del espacio y de la categoría). |
| [`download.item_updated`](#download-item-updated) | `download` | Cambió el título, la descripción o la portada de un ítem publicado de Descargas (cuáles, nunca el texto). |
| [`download.item_moved`](#download-item-moved) | `download` | Un ítem publicado de Descargas cambió de categoría (la nueva y la anterior). |
| [`download.file_added`](#download-file-added) | `download` | Se añadió un archivo a un ítem publicado de Descargas (sin el nombre del archivo ni el enlace). |
| [`download.file_replaced`](#download-file-replaced) | `download` | Un archivo de un ítem publicado de Descargas fue reemplazado por una nueva versión (con el número de versión). |
| [`download.file_removed`](#download-file-removed) | `download` | Se quitó un archivo de un ítem publicado de Descargas. |
| [`download.item_deleted`](#download-item-deleted) | `download` | Se eliminó un ítem publicado de Descargas. |
| [`download.category_created`](#download-category-created) | `download` | Se creó una categoría nueva en un espacio de Descargas. |
| [`post.updated`](#post-updated) | `post` | Se editó una publicación (sin el texto). |
| [`post.moved`](#post-moved) | `post` | Una publicación se movió a otro espacio (el nuevo y el anterior). |
| [`post.deleted`](#post-deleted) | `post` | Se eliminó una publicación, por su autor o por el equipo. |
| [`comment.deleted`](#comment-deleted) | `comment` | Se eliminó un comentario, por su autor o por el equipo (sin el texto). |
| [`reaction.removed`](#reaction-removed) | `reaction` | Una persona quitó una reacción de una publicación, un comentario o un ítem. |
| [`event.created`](#event-created) | `event` | Se creó y publicó un evento. |
| [`event.updated`](#event-updated) | `event` | Se editó un evento publicado. |
| [`event.deleted`](#event-deleted) | `event` | Se eliminó un evento publicado (hoy, eliminar es cancelar). |
| [`event.stream_started`](#event-stream-started) | `event` | Empezó la transmisión en vivo de un evento. |
| [`event.recording_published`](#event-recording-published) | `event` | Se publicó la grabación de un evento. |
| [`event.rescheduled`](#event-rescheduled) | `event` | Cambió la fecha de un evento publicado (con la fecha anterior). |
| [`course.published`](#course-published) | `course` | Se publicó un curso. |
| [`course.updated`](#course-updated) | `course` | Se editó un curso publicado. |
| [`lesson.published`](#lesson-published) | `lesson` | Se añadió una clase nueva a un curso publicado. |
| [`course.left`](#course-left) | `course` | Una persona salió de un curso (el progreso se conserva). |
| [`space.created`](#space-created) | `space` | Se creó un espacio. |
| [`space.updated`](#space-updated) | `space` | Se editó un espacio. |
| [`space.deleted`](#space-deleted) | `space` | Se eliminó un espacio. |
| [`form.published`](#form-published) | `form` | Se publicó un formulario. |
| [`form.closed`](#form-closed) | `form` | El equipo cerró un formulario. |
| [`form.reopened`](#form-reopened) | `form` | Se reabrió un formulario cerrado. |
| [`message.received`](#message-received) | `message` | Un miembro envió un DM a una persona del equipo (sin el texto). |
| [`badge.awarded`](#badge-awarded) | `badge` | Una persona recibió una insignia (a mano, por un curso o evento, por un workflow o una importación). |
| [`badge.revoked`](#badge-revoked) | `badge` | Se retiró una insignia a una persona. |
| [`member.level_changed`](#member-level-changed) | `member` | El nivel de una persona cambió: subió (puntos y requisitos de la semana, al instante) o bajó (puntos quitados, al instante, o requisitos de la semana anterior no cumplidos, el lunes). Trae la dirección y el motivo. |
| [`member.points_changed`](#member-points-changed) | `member` | El total de puntos de una persona cambió (acción, ajuste del equipo o de un workflow, o puntos devueltos). |
| [`ping`](#ping) | `app` | Evento de prueba, enviado con el botón Enviar prueba. |

### `member.joined`

Una persona pasó a ser miembro de la comunidad (registro, invitación aceptada, compra, creación por el equipo, ingreso por empresa, importación por planilla o aprobación de la solicitud de ingreso). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `role` | texto | `owner`, `admin`, `moderator`, `member`, `finance` |
| `source` | texto | `signup`, `invite`, `purchase`, `team`, `company`, `import`, `approval` |

### `member.left`

Una persona salió de la comunidad o fue eliminada. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `reason` | texto | `removed`, `left` |

### `member.returned`

Una persona volvió a acceder a la comunidad después de 7 días o más sin acceso (inicio de sesión, app o asistente), con cuántos días estuvo fuera. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `daysAway` | número entero |  |
| `lastSeenAt` | fecha y hora (ISO 8601, UTC) |  |

### `member.role_changed`

Cambió el rol de una persona en la comunidad. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `from` | texto | `owner`, `admin`, `moderator`, `member`, `finance` |
| `to` | texto | `owner`, `admin`, `moderator`, `member`, `finance` |

### `purchase.completed`

Se pagó una compra (o se obtuvo un producto gratuito). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `purchaseId` | texto |  |
| `orderId` | texto o nulo |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `amount` | objeto: `amount`, `currency` | en céntimos, lo que pagó la persona |
| `discount` | objeto: `amount`, `currency` o nulo | en céntimos |
| `couponCode` | texto o nulo |  |
| `paymentMethod` | texto o nulo |  |
| `installments` | número entero o nulo |  |
| `free` | sí/no |  |
| `ticket` | objeto: `eventId`, `ticketType`, `batch`, `quantity`, `unitPrice` o nulo |  |

### `purchase.refunded`

Se reembolsó una compra, total o parcialmente. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `purchaseId` | texto |  |
| `refundId` | texto o nulo |  |
| `amount` | objeto: `amount`, `currency` | en céntimos, lo que pagó la persona |
| `partial` | sí/no |  |
| `accessRevoked` | sí/no |  |
| `ticketIds` | array |  |

### `subscription.created`

Comenzó una suscripción (pagada o en prueba gratuita). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `plan` | objeto: `id`, `name`, `interval` o nulo |  |
| `status` | texto | `ACTIVE`, `TRIALING` |
| `currentPeriodEnd` | fecha y hora (ISO 8601, UTC) o nulo |  |

### `subscription.renewed`

Se renovó una suscripción con el pago de un nuevo período. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `amount` | objeto: `amount`, `currency` | en céntimos, lo que pagó la persona |
| `currentPeriodEnd` | fecha y hora (ISO 8601, UTC) o nulo |  |

### `subscription.canceled`

Se canceló una suscripción, de inmediato o al final del período. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `endsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `immediate` | sí/no |  |
| `by` | texto | `member`, `team`, `system` |

### `subscription.ended`

Terminó una suscripción y su acceso finalizó. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `endedAt` | fecha y hora (ISO 8601, UTC) |  |

### `event.registered`

Una persona confirmó asistencia ("voy") a un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |
| `registration` | objeto: `fields`, `consent` o nulo |  |
| `ticketType` | objeto: `id`, `name` o nulo |  |

### `course.enrolled`

Una persona se inscribió en un curso. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `title` | texto |  |

### `course.completed`

Una persona completó un curso. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `title` | texto |  |
| `completedAt` | fecha y hora (ISO 8601, UTC) |  |

### `certificate.issued`

Se emitió un certificado de curso o de evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `certificateId` | texto |  |
| `source` | texto | `course`, `event` |
| `sourceId` | texto |  |
| `title` | texto |  |
| `url` | texto o nulo | enlace público de validación |

### `form.submitted`

Un formulario recibió un envío (los campos completados y el consentimiento, sin IP). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `form` | objeto: `id`, `title` |  |
| `submissionId` | texto |  |
| `submittedAt` | fecha y hora (ISO 8601, UTC) |  |
| `origin` | texto | `member`, `visitor` |
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `fields` | array |  |
| `consent` | objeto: `accepted`, `text`, `privacyPolicyUrl`, `at` o nulo |  |

### `event.checked_in`

Una persona hizo check-in en un evento (en la puerta, en el quiosco, por cortesía o por la transmisión en vivo). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `ticketId` | texto |  |
| `event` | objeto: `id`, `title`, `startsAt`, `type` |  |
| `method` | texto | `qr`, `code`, `manual`, `kiosk`, `online` |
| `checkedInAt` | fecha y hora (ISO 8601, UTC) |  |
| `courtesy` | sí/no |  |
| `checkedInBy` | objeto: `id`, `name` o nulo |  |

### `event.check_in_undone`

El equipo deshizo el check-in de una persona en un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `ticketId` | texto |  |
| `event` | objeto: `id`, `title`, `startsAt`, `type` |  |
| `undoneAt` | fecha y hora (ISO 8601, UTC) |  |
| `undoneBy` | objeto: `id`, `name` o nulo |  |
| `previous` | objeto: `method`, `checkedInAt` |  |

### `lesson.completed`

Una persona completó una clase de un curso. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `lessonId` | texto |  |

### `comment.created`

Una persona comentó en una publicación, contenido o ítem (sin el texto del comentario). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `commentId` | texto |  |
| `target` | objeto: `type`, `id` |  |

### `reaction.added`

Una persona reaccionó a una publicación, comentario o ítem. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `target` | objeto: `type`, `id` |  |
| `reaction` | texto |  |

### `post.created`

Una persona publicó una publicación (sin el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `postId` | texto |  |
| `spaceId` | texto o nulo |  |

### `member.tag_added`

Se añadió una etiqueta a una persona. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `tag` | texto |  |

### `member.tag_removed`

Se quitó una etiqueta de una persona. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `tag` | texto |  |

### `member.group_joined`

Una persona entró a un grupo. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `group` | objeto: `id`, `name` |  |

### `member.group_left`

Una persona salió de un grupo. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `group` | objeto: `id`, `name` |  |

### `member.field_changed`

Cambió un campo personalizado de una persona (solo la clave del campo, nunca el valor). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `fieldKey` | texto |  |

### `checkout.started`

Una persona con sesión iniciada abrió el checkout de un producto de pago. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `cartId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |

### `checkout.abandoned`

Un checkout quedó abandonado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `cartId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |

### `checkout.recovered`

Un checkout abandonado se convirtió en compra. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `cartId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `purchaseId` | texto o nulo |  |

### `space.first_visit`

Una persona abrió un espacio por primera vez. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `spaceId` | texto |  |

### `space.access_granted`

Una persona obtuvo acceso a un espacio (compra, plan, equipo, badge o nivel). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `spaceId` | texto |  |
| `source` | texto | `purchase`, `plan`, `team`, `badge`, `level` |

### `quiz.passed`

Una persona aprobó el quiz de una clase (sin la nota ni las respuestas). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `lessonId` | texto |  |
| `attemptId` | texto |  |

### `quiz.failed`

Una persona no aprobó el quiz de una clase (sin la nota ni las respuestas). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `lessonId` | texto |  |
| `attemptId` | texto |  |

### `lesson.rated`

Una persona calificó una clase por primera vez (sin la nota ni el comentario). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `lessonId` | texto |  |

### `event.ticket_assigned`

Se asignó una entrada de un pedido grupal a una persona (sin el código QR). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `ticketId` | texto |  |

### `event.registration_canceled`

Una persona canceló su propia inscripción a un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |

### `event.waitlist_offered`

Se abrió un lugar para una persona de la lista de espera de un tipo de entrada (la oferta vale hasta la fecha). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `ticketTypeId` | texto o nulo |  |
| `expiresAt` | fecha y hora (ISO 8601, UTC) |  |

### `subscription.plan_changed`

La suscripción de una persona cambió de plan (de/a y cuándo; sin valores). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `from` | objeto: `id`, `name`, `type` |  |
| `to` | objeto: `id`, `name`, `type` |  |
| `effectiveAt` | fecha y hora (ISO 8601, UTC) |  |

### `subscription.past_due`

La suscripción de una persona quedó con el pago atrasado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `since` | fecha y hora (ISO 8601, UTC) |  |

### `subscription.trial_ending`

El período de prueba de la suscripción de una persona termina en los próximos 3 días. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `subscriptionId` | texto |  |
| `product` | objeto: `id`, `name`, `type` |  |
| `trialEndsAt` | fecha y hora (ISO 8601, UTC) |  |

### `coupon.redeemed`

Se usó un cupón en una compra (el id del cupón, nunca el código). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `couponId` | texto |  |
| `productId` | texto |  |
| `purchaseId` | texto |  |

### `survey.answered`

Una persona respondió una encuesta identificada (sin las respuestas; una encuesta anónima no publica). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `surveyId` | texto |  |

### `form.submission_reviewed`

El equipo cambió el estado de un envío de formulario (sin las respuestas). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `formId` | texto |  |
| `submissionId` | texto |  |
| `status` | texto | `NEW`, `IN_CONTACT`, `DONE` |

### `proposal.submitted`

Se envió una propuesta a una convocatoria (sin el título ni el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `callId` | texto |  |
| `trackId` | texto o nulo |  |
| `submissionId` | texto |  |

### `proposal.decided`

Una propuesta fue aceptada o rechazada (sin notas ni evaluaciones). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `callId` | texto |  |
| `trackId` | texto o nulo |  |
| `submissionId` | texto |  |
| `status` | texto | `accepted`, `rejected` |

### `certificate.revoked`

Se revocó un certificado (el id y el código público; sin el motivo). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `certificateId` | texto |  |
| `code` | texto |  |

### `upvote.topic_created`

Se publicó un tema de Upvote (aprobado; sin el título ni la descripción). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `topicId` | texto |  |
| `spaceId` | texto |  |

### `upvote.topic_status_changed`

El equipo cambió el estado de un tema de Upvote (sin la nota). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `topicId` | texto |  |
| `spaceId` | texto |  |
| `status` | texto | `OPEN`, `PLANNED`, `IN_PROGRESS`, `DONE`, `ARCHIVED` |

### `download.completed`

Una persona descargó un archivo de un ítem de Descargas (sin el nombre del archivo ni el enlace). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `fileId` | texto |  |

### `classified.published`

Se publicó un anuncio de Clasificados (aprobado; sin el texto ni el valor). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `adId` | texto |  |
| `spaceId` | texto |  |

### `classified.interest_received`

El autor de un anuncio recibió un interés (sin el mensaje). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `adId` | texto |  |
| `interestId` | texto |  |

### `parcel.received`

Llegó un paquete para una persona (el tipo; sin remitente, código ni fotos). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `parcelId` | texto |  |
| `spaceId` | texto |  |
| `kind` | texto | `LETTER`, `PACKAGE`, `OTHER` |

### `parcel.picked_up`

Se retiró un paquete. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `parcelId` | texto |  |
| `spaceId` | texto |  |
| `kind` | texto | `LETTER`, `PACKAGE`, `OTHER` |

### `visitor.invited`

Una persona invitó a un visitante (horario previsto; sin los datos del visitante). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `invitationId` | texto |  |
| `spaceId` | texto |  |
| `expectedStartAt` | fecha y hora (ISO 8601, UTC) |  |

### `visitor.arrived`

Llegó el visitante de una persona (sin los datos del visitante). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `invitationId` | texto |  |
| `spaceId` | texto |  |
| `arrivedAt` | fecha y hora (ISO 8601, UTC) |  |

### `attendance.checked_in`

Una persona registró su entrada en un lugar de Asistencia. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `visitId` | texto |  |
| `spaceId` | texto |  |
| `at` | fecha y hora (ISO 8601, UTC) |  |

### `attendance.checked_out`

Una persona registró su salida de un lugar de Asistencia. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `visitId` | texto |  |
| `spaceId` | texto |  |
| `at` | fecha y hora (ISO 8601, UTC) |  |

### `support_ticket.created`

Una persona abrió un ticket de Soporte (tipo y categoría; sin el texto ni las fotos). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `ticketId` | texto |  |
| `spaceId` | texto |  |
| `kind` | texto | `MAINTENANCE`, `REQUEST` |
| `category` | texto | `FACILITIES`, `CLEANING`, `EQUIPMENT`, `INTERNET`, `ACCESS`, `BILLING`, `OTHER` |

### `support_ticket.resolved`

Se resolvió un ticket de Soporte. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `ticketId` | texto |  |
| `spaceId` | texto |  |
| `kind` | texto | `MAINTENANCE`, `REQUEST` |
| `category` | texto | `FACILITIES`, `CLEANING`, `EQUIPMENT`, `INTERNET`, `ACCESS`, `BILLING`, `OTHER` |

### `booking.created`

Una persona hizo una reserva (recurso, inicio, fin y estado). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `bookingId` | texto |  |
| `resourceId` | texto |  |
| `spaceId` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) |  |
| `endsAt` | fecha y hora (ISO 8601, UTC) |  |
| `status` | texto | `PENDING_APPROVAL`, `PENDING_PAYMENT`, `CONFIRMED` |

### `booking.canceled`

Se canceló una reserva. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `bookingId` | texto |  |
| `resourceId` | texto |  |
| `spaceId` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) |  |
| `endsAt` | fecha y hora (ISO 8601, UTC) |  |

### `booking.checked_in`

Una persona hizo el check-in de una reserva. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `bookingId` | texto |  |
| `resourceId` | texto |  |
| `spaceId` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) |  |
| `endsAt` | fecha y hora (ISO 8601, UTC) |  |

### `booking.no_show`

Una reserva se marcó como inasistencia. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `bookingId` | texto |  |
| `resourceId` | texto |  |
| `spaceId` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) |  |
| `endsAt` | fecha y hora (ISO 8601, UTC) |  |

### `download.item_published`

Se publicó un ítem de Descargas (ids del ítem, del espacio y de la categoría). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `categoryId` | texto o nulo |  |

### `download.item_updated`

Cambió el título, la descripción o la portada de un ítem publicado de Descargas (cuáles, nunca el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `categoryId` | texto o nulo |  |
| `changed` | array |  |

### `download.item_moved`

Un ítem publicado de Descargas cambió de categoría (la nueva y la anterior). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `categoryId` | texto o nulo |  |
| `previousCategoryId` | texto o nulo |  |

### `download.file_added`

Se añadió un archivo a un ítem publicado de Descargas (sin el nombre del archivo ni el enlace). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `fileId` | texto |  |

### `download.file_replaced`

Un archivo de un ítem publicado de Descargas fue reemplazado por una nueva versión (con el número de versión). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `fileId` | texto |  |
| `version` | número entero |  |

### `download.file_removed`

Se quitó un archivo de un ítem publicado de Descargas. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `fileId` | texto |  |

### `download.item_deleted`

Se eliminó un ítem publicado de Descargas. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `itemId` | texto |  |
| `spaceId` | texto |  |
| `categoryId` | texto o nulo |  |

### `download.category_created`

Se creó una categoría nueva en un espacio de Descargas. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `categoryId` | texto |  |
| `spaceId` | texto |  |

### `post.updated`

Se editó una publicación (sin el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `postId` | texto |  |
| `spaceId` | texto o nulo |  |

### `post.moved`

Una publicación se movió a otro espacio (el nuevo y el anterior). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `postId` | texto |  |
| `spaceId` | texto |  |
| `previousSpaceId` | texto o nulo |  |

### `post.deleted`

Se eliminó una publicación, por su autor o por el equipo. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `postId` | texto |  |
| `spaceId` | texto o nulo |  |

### `comment.deleted`

Se eliminó un comentario, por su autor o por el equipo (sin el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `commentId` | texto |  |
| `target` | objeto: `type`, `id` |  |

### `reaction.removed`

Una persona quitó una reacción de una publicación, un comentario o un ítem. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `target` | objeto: `type`, `id` |  |
| `reaction` | texto |  |

### `event.created`

Se creó y publicó un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |

### `event.updated`

Se editó un evento publicado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |

### `event.deleted`

Se eliminó un evento publicado (hoy, eliminar es cancelar). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |

### `event.stream_started`

Empezó la transmisión en vivo de un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |

### `event.recording_published`

Se publicó la grabación de un evento. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |

### `event.rescheduled`

Cambió la fecha de un evento publicado (con la fecha anterior). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `eventId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |
| `startsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |
| `type` | texto o nulo | `online`, `in_person`, `hybrid` |
| `previousStartsAt` | fecha y hora (ISO 8601, UTC) o nulo |  |

### `course.published`

Se publicó un curso. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |

### `course.updated`

Se editó un curso publicado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |

### `lesson.published`

Se añadió una clase nueva a un curso publicado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `lessonId` | texto |  |

### `course.left`

Una persona salió de un curso (el progreso se conserva). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `courseId` | texto |  |
| `title` | texto |  |

### `space.created`

Se creó un espacio. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `spaceId` | texto |  |
| `module` | texto |  |

### `space.updated`

Se editó un espacio. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `spaceId` | texto |  |
| `module` | texto |  |

### `space.deleted`

Se eliminó un espacio. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `spaceId` | texto |  |
| `module` | texto |  |

### `form.published`

Se publicó un formulario. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `formId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |

### `form.closed`

El equipo cerró un formulario. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `formId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |

### `form.reopened`

Se reabrió un formulario cerrado. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `formId` | texto |  |
| `spaceId` | texto o nulo |  |
| `title` | texto |  |

### `message.received`

Un miembro envió un DM a una persona del equipo (sin el texto). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `recipient` | objeto: `id`, `name` |  |
| `conversationId` | texto |  |
| `messageId` | texto |  |
| `newConversation` | sí/no |  |

### `badge.awarded`

Una persona recibió una insignia (a mano, por un curso o evento, por un workflow o una importación). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `badge` | objeto: `id`, `name`, `visibility` |  |
| `grantId` | texto |  |
| `source` | texto | `manual`, `rule`, `workflow`, `import` |
| `sourceRef` | texto o nulo |  |
| `awardedAt` | fecha y hora (ISO 8601, UTC) |  |

### `badge.revoked`

Se retiró una insignia a una persona. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `badge` | objeto: `id`, `name`, `visibility` |  |
| `grantId` | texto |  |
| `revokedAt` | fecha y hora (ISO 8601, UTC) |  |

### `member.level_changed`

El nivel de una persona cambió: subió (puntos y requisitos de la semana, al instante) o bajó (puntos quitados, al instante, o requisitos de la semana anterior no cumplidos, el lunes). Trae la dirección y el motivo. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `direction` | texto | `up`, `down` |
| `cause` | texto | `points`, `activity` |
| `from` | objeto: `id`, `level`, `name` |  |
| `to` | objeto: `id`, `level`, `name` |  |
| `points` | número entero |  |

### `member.points_changed`

El total de puntos de una persona cambió (acción, ajuste del equipo o de un workflow, o puntos devueltos). · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `member` | objeto, la persona: `id`, `name`, `email`, `phone` (E.164 o nulo), `phoneCountry` (ISO 3166-1 alfa-2 o nulo) |  |
| `from` | número entero |  |
| `to` | número entero |  |
| `delta` | número entero |  |
| `source` | texto | `action`, `reversal`, `team`, `workflow` |

### `ping`

Evento de prueba, enviado con el botón Enviar prueba. · `version: 1`

| Campo de `data` | Tipo | Valores |
|---|---|---|
| `message` | texto |  |

Los eventos `event.checked_in` (con `method`: `qr`, `code`, `manual`, `kiosk` u `online`, y `courtesy`) y `event.check_in_undone`. El token de la entrada nunca va. Ver [Eventos › Check-in](/espacos/eventos#check-in).

## Lo que nunca va

Ningún evento lleva, ni llevará en esta versión:

| Nunca | Por qué |
|---|---|
| Comisiones, importe neto, costes | Están en los informes de la app |
| Datos del procesador de pago y de la tarjeta (ni los 4 últimos dígitos) | Seguridad y confidencialidad del pago |
| Documento fiscal, dirección, fecha de nacimiento, campos personalizados (el teléfono va solo en el bloque `member`) | Datos personales más allá de lo necesario |
| Contraseña, token, secreto de cualquier tipo | Seguridad |
| IP, identificadores de navegación, navegador | Privacidad |
| Texto de publicación, comentario, ticket o formulario | Contenido del miembro |
| Notas internas del equipo | Interno |

## Relacionados

- [Webhooks](/api/webhooks)
- [IPs fijas](/api/ips-fixos)
- [Integraciones y APIs](/configuracoes/integracoes-e-apis#webhooks)
