ValwispDocs
DesarrolladoresAPI RESTReferenceWhatsapp

Adjunta y envía un archivo en una conversación — requiere valchat-inbox:manage

El agente adjunta un archivo desde el Inbox — lo sube, se guarda y se manda. Mismo permiso que `POST conversations/:id/messages` (`valchat-inbox:manage`, ver `whatsapp.controller.ts`): adjuntar un archivo es la misma acción que mandar texto, solo cambia el contenido. Mismo techo duro de `limits.fileSize` que `receiveFromWorker` (el de documento, el más alto) — el chequeo por-tipo real corre después en `WhatsappMediaService.saveFromPath`; esto solo evita escribir a disco un upload desproporcionado antes de llegar ahí. Esta ruta SÍ pasa por `JwtAuthGuard`/`CheckPermission` (no es `@Public()`), así que el riesgo de disco-lleno de un caller no autenticado no aplica acá — igual se limpia el temporal en el único rechazo temprano posible (`!file`, que en la práctica no debería dejar nada escrito).

POST
/api/v1/whatsapp/conversations/{id}/media

El agente adjunta un archivo desde el Inbox — lo sube, se guarda y se manda. Mismo permiso que POST conversations/:id/messages (valchat-inbox:manage, ver whatsapp.controller.ts): adjuntar un archivo es la misma acción que mandar texto, solo cambia el contenido.

Mismo techo duro de limits.fileSize que receiveFromWorker (el de documento, el más alto) — el chequeo por-tipo real corre después en WhatsappMediaService.saveFromPath; esto solo evita escribir a disco un upload desproporcionado antes de llegar ahí. Esta ruta SÍ pasa por JwtAuthGuard/CheckPermission (no es @Public()), así que el riesgo de disco-lleno de un caller no autenticado no aplica acá — igual se limpia el temporal en el único rechazo temprano posible (!file, que en la práctica no debería dejar nada escrito).

AuthorizationBearer <token>

Ingresa tu access token JWT (sin el prefijo Bearer)

In: header

Path Parameters

id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/whatsapp/conversations/string/media"
{}