# Códigos de error: Canales: media entrante y enlaces estables

> La media que llega de Meta se baja al bucket de Boost y se sirve por un enlace estable (`constraint.inbound-media-key-and-integrity-transient-stays-pending`). Una falla definitiva deja `media_status = 'failed'`; una transitoria deja `pending` para el barredor.

**Cómo se detecta (toda la familia):** Base: `channel_messages.media_status` (`failed`/`pending`). Render: líneas del servicio de media con el código (`MEDIA_*`). El front ve 404 en el enlace estable.

**Qué hacer (toda la familia):** Transitorias: el barredor reintenta solo. Definitivas: Meta ya no tiene el archivo; pedirle al cliente que lo reenvíe.

Lo que un código no dice lo hereda de la familia.

## `MEDIA_BUCKET_NOT_CONFIGURED`

- **Tipo:** detalle · **HTTP:** — · **Estado:** vigente
- **Qué significa:** La media entrante no se guardó porque el bucket de Boost no está configurado: queda `pending` (transitorio).

## `MEDIA_CHECKSUM_MISMATCH`

- **Tipo:** interno, detalle · **HTTP:** — · **Estado:** vigente
- **Qué significa:** El archivo bajado de Meta no coincide con su SHA-256: se descarta (falla definitiva).

## `MEDIA_EMPTY`

- **Tipo:** interno · **HTTP:** — · **Estado:** vigente
- **Qué significa:** Meta devolvió un archivo vacío (falla definitiva).

## `MEDIA_ID_INVALID`

- **Tipo:** interno · **HTTP:** — · **Estado:** vigente
- **Qué significa:** El id de media de Meta no es válido (falla definitiva).

## `MEDIA_NOT_FOUND`

- **Tipo:** HTTP · **HTTP:** 404 · **Estado:** vigente
- **Qué significa:** No se encontró el archivo.

## `MEDIA_NOT_READY`

- **Tipo:** HTTP · **HTTP:** 404 · **Estado:** vigente
- **Qué significa:** La media todavía se está bajando (`pending`): el enlace estable responde 404 un rato.

## `MEDIA_PENDING_TOO_OLD`

- **Tipo:** detalle · **HTTP:** — · **Estado:** vigente
- **Qué significa:** El barredor se rindió con una media que siguió `pending` más del tiempo máximo: queda `failed`.

## `MEDIA_SOURCE_MISSING`

- **Tipo:** detalle · **HTTP:** — · **Estado:** vigente
- **Qué significa:** El barredor no encontró de dónde bajar la media (sin id de Meta o sin hilo): queda `failed`.

## `MEDIA_TOO_LARGE`

- **Tipo:** interno · **HTTP:** — · **Estado:** vigente
- **Qué significa:** La media entrante supera el tope de tamaño (falla definitiva).

## `MEDIA_UNAVAILABLE`

- **Tipo:** HTTP · **HTTP:** 404 · **Estado:** vigente
- **Qué significa:** La media de ese mensaje no está disponible: falló de forma definitiva.
- **Qué hacer:** Pedirle al cliente que reenvíe el archivo.

## `MEDIA_URL_NOT_ALLOWED`

- **Tipo:** interno · **HTTP:** — · **Estado:** vigente
- **Qué significa:** La URL de la media no es de un CDN de Meta por https: no se baja (falla definitiva).
