Reemplazar un activo en la biblioteca de medios
/media_library/replace_file
Utiliza este punto de conexión para reemplazar el archivo de un activo existente en la Biblioteca de medios de Braze conservando su ID de activo y su URL. Puedes proporcionar el archivo de reemplazo mediante una URL alojada externamente (
asset_url) o datos de archivo binario enviados en el cuerpo de la solicitud (asset_file).
Requisitos previos
Para utilizar este punto de conexión, necesitarás una clave de API con el permiso media_library.replace.
Límite de velocidad
Este punto de conexión tiene un límite de velocidad de 100 solicitudes por hora, como se documenta en Límites de velocidad de la API.
Cuerpo de la solicitud
Cuando incluyes asset_url, el punto de conexión descarga el archivo desde la URL. Cuando incluyes asset_file, el punto de conexión utiliza los datos binarios del cuerpo de la solicitud.
Ejemplo de cuerpo de solicitud para asset_url:
1
2
3
4
{
"asset_id": "your-asset-id",
"asset_url": "https://cdn.example.com/assets/cat.jpg"
}
Ejemplo de cuerpo de solicitud para asset_file:
1
2
3
4
{
"asset_id": "your-asset-id",
"asset_file": <BINARY FILE DATA>
}
El cuerpo de la solicitud incluye los siguientes parámetros:
| Parámetro | Obligatorio | Tipo de datos | Descripción |
|---|---|---|---|
asset_id |
Obligatorio | Cadena | El ID del activo que se va a reemplazar. |
asset_url |
Opcional | Cadena | Una URL de acceso público para el archivo de reemplazo. |
asset_file |
Opcional | Binario | Datos de archivo binario para el archivo de reemplazo. |

asset_url y asset_file son mutuamente excluyentes; solo debes incluir uno de ellos en tu solicitud de API.
Requisitos del archivo de reemplazo
- La extensión del archivo de reemplazo debe coincidir exactamente con la extensión del activo existente. Por ejemplo, no puedes reemplazar un activo
.pngcon un archivo.jpg. - El reemplazo de archivos es compatible con imágenes, SVG, documentos, fuentes, tarjetas de contacto y archivos de código. Los activos de video no se pueden reemplazar.
Ejemplo de solicitud
Esta sección incluye dos ejemplos de solicitudes curl, una para reemplazar un activo mediante una URL y otra mediante datos de archivo binario.
Esta solicitud muestra un ejemplo de reemplazo de un activo en la Biblioteca de medios mediante un asset_url.
1
2
3
4
curl -X PUT --location 'https://rest.iad-01.braze.com/media_library/replace_file' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--header 'Content-Type: application/json' \
--data '{"asset_id": "your-asset-id", "asset_url": "https://cdn.example.com/assets/cat.jpg"}'
Esta solicitud muestra un ejemplo de reemplazo de un activo en la Biblioteca de medios mediante un asset_file.
1
2
3
4
curl -X PUT --location 'https://rest.iad-01.braze.com/media_library/replace_file' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--header 'Content-Type: application/json' \
--data '{"asset_id": "your-asset-id", "asset_file":<BINARY FILE DATA>}'
Respuestas de error
Esta sección enumera los posibles errores con sus mensajes y descripciones correspondientes.
Errores de validación
Los errores de validación devuelven una estructura como esta:
1
2
3
{
"message": (String) Human-readable error description
}
Esta tabla enumera los posibles errores de validación.
| Estado HTTP | Mensaje | Descripción |
|---|---|---|
| 400 | “asset_id is required.” | No se proporcionó un ID de activo en la solicitud. |
| 400 | “Either file or asset_url is required.” | No se proporcionó ni asset_file ni asset_url; se requiere uno de los dos. |
Errores de procesamiento
Los errores de procesamiento devuelven una respuesta diferente con códigos de error:
1
2
3
4
5
{
"message": (String) Human-readable error description,
"error_code": (String) error code,
"meta": { }
}
Esta tabla enumera los posibles errores de procesamiento.
| Código de error | Estado HTTP | Descripción |
|---|---|---|
ASSET_NOT_FOUND |
404 | No existe ningún activo con el asset_id proporcionado en este espacio de trabajo. El objeto meta incluye asset_id. |
INVALID_ASSET_URL |
400 | El valor de asset_url no es un URI válido. El objeto meta incluye asset_url. |
EXTENSION_MISMATCH |
400 | La extensión del archivo de reemplazo no coincide con la extensión del activo existente. El objeto meta incluye expected_extension y received_extension. |
UNSUPPORTED_ASSET_TYPE_FOR_REPLACE |
400 | El reemplazo de archivos no es compatible con este tipo de activo (por ejemplo, video). El objeto meta incluye asset_type. |
ASSET_SIZE_EXCEEDS_LIMIT |
400 | El archivo supera el tamaño máximo permitido. El objeto meta incluye size_limit_bytes y file_size_bytes. |
CORRUPT_FILE |
400 | El archivo de imagen está dañado o no se puede leer. El objeto meta incluye file_name. |
GENERIC_ERROR |
500 | Se produjo un error inesperado durante el reemplazo del archivo. El objeto meta incluye original_error para depuración. Inténtalo de nuevo o ponte en contacto con Soporte. |
Respuesta
Hay cinco respuestas de código de estado para este punto de conexión: 200, 400, 404, 429 y 500.
El siguiente JSON muestra la estructura esperada de la respuesta.
1
2
3
4
5
6
7
8
9
{
"info": "Asset file updated successfully.",
"new_image_asset": {
"name": (String) the name of the asset,
"size": (Integer) the byte size of the asset,
"url": (String) the URL to access the asset,
"ext": (String) the file extension (e.g., "png", "jpg", "gif")
}
}