Eventos de webhooks
Los 13 eventos, todos emitidos hoy: cuándo salen, qué trae el campo data y un ejemplo de cada uno.
BannerMotion avisa a tu servidor con una petición POST firmada cada vez que pasa algo importante: un concepto listo, una revisión aprobada, una exportación terminada. Los 13 eventos se emiten hoy: puedes suscribirte a los que quieras.
El sobre de cada evento
El cuerpo siempre es JSON con id (el del evento), event, createdAt y data. Los encabezados y la firma están en la página de Webhooks.
{
"id": "evt_p0q8w2e6r4t1",
"event": "banner.generated",
"createdAt": "2026-01-01T12:00:00.000Z",
"data": {
"jobId": "job_x4k2m9q1a7bz",
"campaignId": "cmp_8f2a1c3d4e5f",
"creativeId": "crt_3a9c0d1e2f4b",
"versionNo": 1,
"source": "api"
}
}Generación
EventoCuándoCampos de data
banner.generatedUn concepto terminó de generarse, con todos sus tamaños e idiomas. Lo emiten las generaciones desde la API y desde la app.
jobId, campaignId, creativeId, versionNo?, sourcebanner.updatedUna corrección o la adición de tamaños (hechas por la API) terminó y guardó una versión nueva.
change es edit o sizes.jobId, creativeId, change, versionNo, sourcegeneration.failedFalló una generación, una corrección o una adición de tamaños. Los créditos se devuelven.
jobId, campaignId?, creativeId?, change?, errortranslation.completedTerminó la traducción de un banner al agregar un idioma a una campaña por la API. Llega un evento por banner.
jobId, campaignId, creativeId, locale, translated, pending, sourceRevisión y aprobación
EventoCuándoCampos de data
review.requestedAlguien envió una campaña a revisión.
pieces es cuántas piezas quedaron en revisión.campaignId, pieces, toRolesreview.commentedAlguien comentó sobre una pieza en una revisión.
campaignId, pieceId, commentIdreview.approvedSe aprobaron piezas.
by es member (alguien del equipo) o link (el cliente, desde su enlace).campaignId, pieceIds, by, authorreview.changes_requestedSe pidieron cambios en piezas.
by es member o link.campaignId, pieceIds, by, authorExportación
EventoCuándoCampos de data
export.readyUna exportación está lista para descargar.
status es ready o warnings; artifactSha256 es el sha-256 del .zip.exportId, creativeId, status, bytes, artifactSha256export.failedUna exportación falló y no se pudo armar ninguna pieza.
exportId, creativeId, messageEquipo y uso
EventoCuándoCampos de data
member.invitedSe invitó a una persona al workspace.
email, rolemember.joinedUna persona entró al workspace al aceptar una invitación (
via: invite). El valor via: sso está reservado para el inicio de sesión único, que todavía no está disponible.userId, email, role, viausage.threshold_reachedEl saldo de créditos bajó del 20 % del cupo del plan. Se avisa una sola vez al mes por workspace.
balance, planCredits, percentUsedNota. Los campos con
? no siempre llegan: banner.generated no trae versionNo cuando el concepto se generó desde la app, y generation.failed trae campaignId al crear y creativeId y change al corregir o agregar tamaños.El evento de prueba
webhook.test es el que envía Enviar evento de prueba. Evento de prueba que envía «Enviar evento de prueba» en la app. No cuenta para la pausa automática. Su data es { "message", "workspace" }.
WebhooksRecibe avisos firmados en tu servidor: cómo crear el endpoint, verificar la firma y manejar reintentos.Estado de un trabajoConsulta un trabajo de generación o síguelo en vivo con eventos SSE.
¿Te sirvió esta página?