# Multimedia

En esta sección se encuentran los servicios que permiten gestionar archivos multimedia dentro de la plataforma. Puedes subir imágenes, audios, videos y documentos para usarlos en tus mensajes o como ejemplos en tus templates, y también descargar los archivos que tus clientes te envíen a través del webhook.

#### Subir un archivo

Sube un archivo binario a la plataforma y obtén un ID de media que puedes referenciar en tus mensajes, en lugar de usar una URL pública.

Usar un ID de media en lugar de una URL pública es recomendado cuando el archivo no está alojado en un servidor con acceso público, o cuando quieres evitar exponer URLs externas en tus mensajes.

## POST /media/upload

>

```json
{"openapi":"3.0.3","info":{"title":"B2Chat WhatsApp Cloud API","version":"0.0.1"},"tags":[{"name":"Media","description":"Upload and download media files for use in WhatsApp messages"}],"servers":[{"url":"https://wabsp.b2chat.io/","description":"Production environment"}],"security":[{"OAuth2ClientCredentials":[]}],"components":{"securitySchemes":{"OAuth2ClientCredentials":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/auth/token","scopes":{}}}}},"schemas":{"MediaUploadResponse":{"type":"object","properties":{"id":{"type":"string","description":"Media handler ID compatible with WhatsApp Cloud API (Meta)"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad Request – invalid parameters or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized – missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/media/upload":{"post":{"tags":["Media"],"operationId":"uploadMedia","requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Media uploaded successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUploadResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
```

{% hint style="info" %}
*ID del archivo subido. Úsalo en el campo `image.id`, `audio.id`, `document.id`, etc., al enviar un mensaje*
{% endhint %}

#### Subir ejemplo para el encabezado del template

Sube una imagen o archivo que se usará como ejemplo del encabezado al crear o actualizar un template. Devuelve un `header_handle` compatible con Meta, requerido en el campo `example.header_handle` al definir un componente `HEADER` de tipo imagen o video.

Este endpoint es exclusivo para ejemplos de plantillas. No uses este ID para enviar mensajes — para eso usa el endpoint de `/media/upload`

## POST /media/uploadexample

>

```json
{"openapi":"3.0.3","info":{"title":"B2Chat WhatsApp Cloud API","version":"0.0.1"},"tags":[{"name":"Media","description":"Upload and download media files for use in WhatsApp messages"}],"servers":[{"url":"https://wabsp.b2chat.io/","description":"Production environment"}],"security":[{"OAuth2ClientCredentials":[]}],"components":{"securitySchemes":{"OAuth2ClientCredentials":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/auth/token","scopes":{}}}}},"schemas":{"MediaUploadResponse":{"type":"object","properties":{"id":{"type":"string","description":"Media handler ID compatible with WhatsApp Cloud API (Meta)"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Bad Request – invalid parameters or body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized – missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/media/uploadexample":{"post":{"tags":["Media"],"operationId":"uploadMediaExample","requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Media example uploaded successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUploadResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
```

{% hint style="info" %}
*Handler del archivo generado por Meta. Úsalo en `example.header_handle` al crear el template*
{% endhint %}

#### Descargar un archivo

Descarga el archivo multimedia de un mensaje entrante usando el ID de media recibido en el webhook. Esto es útil cuando un cliente te envía una imagen, audio, documento u otro archivo y quieres procesarlo en tu sistema.&#x20;

La respuesta contiene el archivo binario listo para guardar o procesar en tu sistema.

## GET /media/{mediaId}

>

```json
{"openapi":"3.0.3","info":{"title":"B2Chat WhatsApp Cloud API","version":"0.0.1"},"tags":[{"name":"Media","description":"Upload and download media files for use in WhatsApp messages"}],"servers":[{"url":"https://wabsp.b2chat.io/","description":"Production environment"}],"security":[{"OAuth2ClientCredentials":[]}],"components":{"securitySchemes":{"OAuth2ClientCredentials":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/auth/token","scopes":{}}}}},"responses":{"Unauthorized":{"description":"Unauthorized – missing or invalid token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Not Found – resource does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"error_description":{"type":"string"}}}}},"paths":{"/media/{mediaId}":{"get":{"tags":["Media"],"operationId":"downloadMedia","parameters":[{"name":"mediaId","in":"path","required":true,"description":"The ID of the media file to download","schema":{"type":"string"}}],"responses":{"200":{"description":"Media binary content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}}}}
```

{% hint style="info" %}
El `mediaId` lo encuentras dentro del payload del webhook, en el campo correspondiente al tipo de mensaje entrante. Por ejemplo, para un audio: `messages[].audio.id`
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://b2chat.gitbook.io/b2chat-api-mensajeria-whatsapp/nuestros-servicios/multimedia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
