Skip to main content
Todo lo que le pasa a un documento es un evento. Los mismos eventos sirven para tres cosas:
  • el modo stream de POST /documents;
  • reengancharse o seguir un documento con GET /documents/{id}/events;
  • los webhooks (solo los eventos finales).

Forma de un evento

Tipos

Ciclo de vida ⏹ = evento final: después de él no llega nada más. Contenido (se pinta en vivo) Proceso Progreso Mientras Doconda decide y hace el archivo llegan otros tipos: request.understood, quality.chosen, route.chosen, design.chosen, deck.reviewed, artifact.checked y, en standard y best, agent.started, agent.step, agent.checked, agent.delivered y agent.failed. Son avisos de progreso: muestra su display si lo traen, o ignóralos.

Orden típico

Crear desde una frase
  • Entre medias llegan los eventos de progreso.
  • Crear desde texto: igual, pero los bloques llegan casi de golpe.
  • Al crear o editar, la revisión (validation.completed, repair.*) solo se hace en Word.
  • Revisar: sin content.*: revisión, arreglos, render, páginas y final.
  • Editar: en fast y con .doc, .ppt y .xls, edit.planned y un edit.operation_applied (o _rejected) por cada cambio, y después como revisar. En standard y best no hay edit.*: lo que cambió está en el informe (changes).
Cómo pintarlo en el cliente: con style.resolved preparas los estilos; con content.* vas construyendo la vista (aproximada, sin páginas); con preview.page_ready la sustituyes por las páginas reales.

SSE (stream y /events)

  • Reengancharse: GET /documents/{id}/events con la cabecera Last-Event-ID: 13 (o ?after=13). Primero se reenvían los eventos guardados posteriores (los bloques completos) y después se sigue en vivo. El documento se sigue haciendo aunque el cliente se desconecte.
  • Latido (: heartbeat) cada 15 s para que ningún proxy corte la conexión.
  • Tras el evento final, el servidor cierra.
  • Los eventos se guardan 7 días. Pasado ese tiempo, GET /documents/{id}/events responde 410 events_expired, aunque la ficha del documento sigue disponible.

Webhooks

Para los eventos finales (document.ready, document.failed, document.canceled) puedes recibir un aviso firmado en tu servidor, sin el contenido del documento: mira Webhooks.