Skip to main content
Cuando un contacto te manda un mensaje con media, Waspy descarga el archivo de Meta automáticamente y lo guarda en su storage. Tu bot recibe el mensaje vía webhook (o GET REST) con dos campos útiles:
  • mediaId — UUID estable que podés resolver a URL firmada vía GET /media/:id
  • mediaKey — clave interna del object storage (alternativa)
Scope requerido: media:read.

GET /media/:id

Devuelve una URL firmada de corta duración para descargar el archivo. La URL expira a los pocos minutos — refetch cuando la necesites de nuevo.
Respuesta:
Tenant-scoped: si el mediaId pertenece a otro tenant, devuelve 404.

GET /media/by-key

Variante por GCS object key, útil cuando el payload del mensaje sólo expone mediaKey. Tenant-scoped: la key debe empezar con tu tenantId.

Flujo típico para un bot

  1. Recibís webhook message.received con type: "audio" y mediaId.
  2. (Si mediaId está null al recibirlo, esperás 1-2 segundos y refetcheás el mensaje vía GET /messages/:id.)
  3. GET /media/:id → URL firmada.
  4. Descargás el archivo desde la URL firmada antes de que expire.

Tipos de media soportados

image, video, audio, document, sticker. Para cada tipo, el mimeType del response corresponde al original que envió Meta.