Transloadit
Precios
  • Subida de archivos
  • Importación de archivos
  • Encoding de video
  • Encoding de audio
  • Procesamiento de imágenes
  • Procesamiento de documentos
  • Inteligencia artificial
  • Filtrado y seguridad de archivos
  • Catalogación de medios
  • Compresión de archivos
  • Evaluación de código
  • Exportación de archivos
  • Smart CDN
  • Ver todos los servicios
  • Explora integraciones (English)
  • Explora demos en vivo (English)
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Terraform
  • Conceptos esenciales
  • Prácticas recomendadas
  • FAQ
  • Robots
  • Endpoints de la API
  • Formatos
  • Crea tu primera app
  • Acerca de Transloadit
  • Comparaciones
  • Código abierto
  • Testimonios
  • Empleos (English)
  • Seguridad
  • Entradas
  • Actualidad para desarrolladores (English)
  • Consejos para desarrolladores (English)
  • Prensa (English)
  • Investigación (English)
  • Casos de éxito
  • Soluciones
  • Guías
  • Glosario (English)
  • Legal (English)
  • Herramientas
  • Cómo ayudamos a Coursera a llevar educación a millones de personas en todo el mundo
  • Soporte de Transloadit
  • Soporte para código abierto
  • Acuerdo de nivel de servicio (English)
Conceptos esencialesRobotsFAQEndpoints de la APIFormatosPrácticas recomendadas
Temas
  • Endpoints
  • Códigos de respuesta
  • Autenticación
  • Metadatos
  • Seguridad de la API
  • Limitación de tasa
  • Colas
  • Subidas reanudables
Autenticación
  • Crear un token Bearer
Assemblies
  • Crear una nueva Assembly
  • Recuperar un Assembly Status
  • Transmitir en vivo los cambios de una Assembly
  • Cancelar una Assembly en ejecución
  • Reejecutar una Assembly
  • Recuperar la lista de Assemblies
  • Respuesta de Assembly Status
Webhooks
  • Reenviar una Assembly Notification
Facturación
  • Recuperar la factura de un mes
Colas
  • Recuperar los cupos prioritarios actualmente en uso
Credenciales de Template
  • Crear una nueva credencial de Template
  • Recuperar una credencial de Template
  • Editar una credencial de Template
  • Eliminar una credencial de Template
  • Recuperar la lista de credenciales de Template
Templates
  • Crear un nuevo Template
  • Recuperar un Template
  • Editar un Template
  • Eliminar un Template
  • Recuperar la lista de Templates

Transmitir en vivo los cambios de una Assembly

GET{UPDATE_STREAM_URL}

En la respuesta después de crear una Assembly, encontrarás dos campos para obtener el Assembly Status: assembly_ssl_url y update_stream_url. Puedes obtener el Assembly Status actual desde la URL proporcionada en assembly_ssl_url. Para obtener información sobre el progreso de la Assembly, puedes consultarlo periódicamente o suscribirte al flujo de actualizaciones, que se describe en esta página.

Eventos enviados por el servidor

La propiedad update_stream_url del Assembly Status define una URL en la que está disponible el flujo de actualizaciones de la Assembly correspondiente mediante eventos enviados por el servidor.

Los eventos enviados por el servidor⁠ son una tecnología web para enviar notificaciones en vivo desde el servidor a un cliente mediante HTTP. Es similar a WebSockets, pero solo permite mensajes unidireccionales del servidor al cliente y utiliza un formato sencillo basado en texto⁠.

Mientras la Assembly se encuentre en estado de subida o ejecución, un cliente puede conectarse a este endpoint enviando una solicitud GET con el campo de encabezado Accept: text/event-stream a la URL especificada en update_stream_url y analizar el flujo de respuesta. El servidor puede enviar una combinación de mensajes y eventos al cliente. La diferencia es que los eventos incluyen una carga útil adicional con información, mientras que los mensajes no.

Mensajes

Un mensaje consta de su nombre y no incluye ninguna carga útil adicional. En la transmisión, un mensaje con el nombre assembly_finished se ve así ([NL] indica una línea nueva):

data: assembly_finished[NL]
[NL]

Transloadit envía los siguientes mensajes:

  • assembly_upload_meta_data_extracted se emite cuando todas las subidas han finalizado y se han extraído los metadatos de todas ellas.
  • assembly_uploading_finished se emite cuando todas las subidas de esta Assembly han finalizado y la Assembly pasa del estado de subida al de ejecución.
  • assembly_finished se emite cuando la Assembly está completa y todos los archivos se han procesado. El servidor finalizará el flujo después de este mensaje.
  • ping se emite periódicamente para mantener activa la conexión mientras se procesa la Assembly. Actualmente se envía cada minuto, aunque este intervalo podría cambiar en el futuro.

Eventos

Un evento consta de su nombre y una carga útil adicional. En la transmisión, un evento con el nombre assembly_result_finished se ve así ([NL] indica una línea nueva):

event: assembly_result_finished[NL]
data: {"id":"6bb16f6cd49a44b4ae431f576e016c6d","name":"lesereihe.doc",...}[NL]
[NL]

Transloadit envía los siguientes eventos:

  • assembly_error se emite cuando ocurre un error durante la ejecución de la Assembly. El servidor finalizará el flujo después de este evento. Se incluye información adicional sobre el error, por ejemplo:

    {
      "error": "DOCUMENT_CONVERT_UNSUPPORTED_CONVERSION",
      "http_code": 400,
      "step": "avatar",
      "previousStep": ":original",
      "worker": "dhor.transloadit.com",
      "msg": "The output format pdf is not supported for the input format pdf. The input format pdf is currently not allowed."
    }
    
  • assembly_upload_finished se emite por cada subida que finaliza. Se incluye información adicional sobre el archivo subido. La estructura es la misma que la de un objeto del arreglo uploads del Assembly Status, por ejemplo:

    {
      "id": "6bb16f6cd49a44b4ae431f576e016c6d",
      "name": "lesereihe.doc",
      "basename": "lesereihe",
      "ext": "doc",
      "size": 61440,
      "mime": "application/msword",
      "type": null,
      "field": "file",
      "md5hash": "154a9349b8f9111865a07ed0a7050f55",
      // …
    }
    
  • assembly_result_finished se emite cuando hay disponible un nuevo resultado de un Step. Se incluyen el nombre del Step e información adicional sobre el resultado. La estructura es la misma que la de un objeto del arreglo results del Assembly Status, por ejemplo:

    [
      "avatar",
      {
        "id": "5789e06b48ad450aa55f9b3721376581",
        "name": "lesereihe.pdf",
        "basename": "lesereihe",
        "ext": "pdf",
        "size": 120456,
        "mime": "application/pdf",
        "type": "pdf",
        "field": "file",
        "md5hash": "e9df77e5ee87e8ec3b4453bcddf191bc",
        "meta": {
          "page_count": 1,
          "width": 1238,
          "height": 1750,
          // …
        },
        // …
      }
    ]
    
  • assembly_execution_progress se emite a intervalos regulares con información sobre el Execution Progress general de la Assembly y sus archivos. La estructura y los mecanismos se detallan en Assembly Execution Progress, por ejemplo:

    {
      "progress_combined": 50,
      "progress_per_original_file": [
        {
          "original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
          "progress": 50
        }
      ]
    }
    

    Nota: progress_per_original_file utiliza original_id como clave. Los archivos importados sin un original_id no aparecerán en esta lista.

Nota

Es posible que se agreguen más mensajes y eventos en el futuro. Por lo tanto, el cliente debe ignorar los mensajes o eventos inesperados y no generar errores.

Ejemplo en JavaScript

Los navegadores modernos ofrecen compatibilidad nativa con los eventos enviados por el servidor mediante el constructor EventSource. Si el Assembly Status está almacenado en la variable assembly_status, el cliente puede escuchar el mensaje assembly_finished, el mensaje assembly_uploading_finished y el evento assembly_result_finished de la siguiente manera:

const stream = new EventSource(assembly_status.update_stream_url)

// Listen for the assembly_finished and assembly_uploading_finished messages
stream.addEventListener('message', (event) => {
  switch (event.data) {
    case 'assembly_finished':
      console.log('Assembly is finished')
      break
    case 'assembly_uploading_finished':
      console.log('All uploads are finished')
      break
  }
})

// Listen for the assembly_result_finished event
stream.addEventListener('assembly_result_finished', (event) => {
  const result = JSON.parse(event.data)
  console.log('Assembly result is available', result)
})

Componentes de consulta de GET

No se requieren componentes de consulta en la solicitud

    Respuesta

    Este es un ejemplo del cuerpo de la respuesta:

    data: assembly_uploading_finished
    
    event: assembly_upload_finished
    data: {"id":"7354d54e9dfa4a47b0f8c451730038b9","name":"lesereihe.doc","basename":"lesereihe","ext":"doc","size":61440,"mime":"application/msword","type":null,"field":"file","md5hash":"154a9349b8f9111865a07ed0a7050f55", [...]
    
    data: assembly_upload_meta_data_extracted
    
    event: assembly_result_finished
    data: ["avatar",{"id":"77d73782d83447c38a87af024e03d329","name":"lesereihe.pdf","basename":"lesereihe","ext":"pdf","size":120456,"mime":"application/pdf","type":"pdf","field":"file","md5hash":"278042dc10ac7a9b583c9467dac8cfda", [...]
    
    event: assembly_execution_progress
    data: {"progress_combined":100,"progress_per_original_file":[]}
    
    data: assembly_finished
    

    Para obtener más información sobre el formato de respuesta, consulta la documentación de Mozilla sobre eventos enviados por el servidor⁠.

    Página anterior ← Recuperar un Assembly StatusPágina siguiente Cancelar una Assembly en ejecución →
    TransloaditVerificando el estado…

    Producto

    • Servicios
    • Precios
    • Demos EN (English)
    • Herramientas
    • Seguridad
    • Soporte

    Empresa

    • Acerca de Transloadit/Prensa EN (English)
    • Blog/Empleos EN (English)
    • Comparaciones/Matriz de cumplimiento EN (English)
    • Investigación EN (English)
    • Código abierto
    • Soluciones

    Documentación

    • Primeros pasos
    • Transcodificación
    • FAQ
    • Endpoints de la API
    • Guías/Consejos para desarrolladores EN (English)
    • Formatos compatibles

    Más

    • Estado de la plataforma⁠
    • Foro de la comunidad⁠
    • StackOverflow⁠
    • Uppy EN (English)
    • tus⁠

    © 2009–2026 Transloadit-II GmbH

    Privacidad EN (English)Términos EN (English)Aviso legal EN (English)
    EnglishDeutschEspañol