Skip to content

Remplacer une ressource dans la bibliothèque multimédia

put

/media_library/replace_file

Utilisez cet endpoint pour remplacer le fichier d’une ressource existante dans la bibliothèque multimédia de Braze tout en conservant son ID et son URL. Vous pouvez fournir le fichier de remplacement à l’aide d’une URL hébergée en externe (asset_url) ou de données de fichier binaire envoyées dans le corps de la requête (asset_file).

Conditions préalables

Pour utiliser cet endpoint, vous aurez besoin d’une clé API avec la permission media_library.replace.

Limite de débit

Cet endpoint a une limite de débit de 100 requêtes par heure, comme documenté dans Limites de débit de l’API.

Corps de la requête

Lorsque vous incluez asset_url, l’endpoint télécharge le fichier depuis l’URL. Lorsque vous incluez asset_file, l’endpoint utilise les données binaires dans le corps de la requête.

Exemple de corps de requête pour asset_url :

1
2
3
4
{
  "asset_id": "your-asset-id",
  "asset_url": "https://cdn.example.com/assets/cat.jpg"
}

Exemple de corps de requête pour asset_file :

1
2
3
4
{
  "asset_id": "your-asset-id",
  "asset_file": <BINARY FILE DATA>
}

Le corps de la requête inclut les paramètres suivants :

Paramètre Requis Type de données Description
asset_id Requis Chaîne de caractères L’ID de la ressource à remplacer.
asset_url Facultatif Chaîne de caractères Une URL accessible publiquement pour le fichier de remplacement.
asset_file Facultatif Binaire Données de fichier binaire pour le fichier de remplacement.

Exigences relatives au fichier de remplacement

  • L’extension du fichier de remplacement doit correspondre exactement à l’extension de la ressource existante. Par exemple, vous ne pouvez pas remplacer une ressource .png par un fichier .jpg.
  • Le remplacement de fichier est pris en charge pour les images, les SVG, les documents, les polices, les cartes de contact et les fichiers de code. Les ressources vidéo ne peuvent pas être remplacées.

Exemple de requête

Cette section comprend deux exemples de requêtes curl : l’une pour remplacer une ressource à l’aide d’une URL et l’autre à l’aide de données de fichier binaire.

Cette requête montre un exemple de remplacement d’une ressource dans la bibliothèque multimédia à l’aide d’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"}'

Cette requête montre un exemple de remplacement d’une ressource dans la bibliothèque multimédia à l’aide d’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>}'

Réponses d’erreur

Cette section répertorie les erreurs potentielles ainsi que leurs messages et descriptions correspondants.

Erreurs de validation

Les erreurs de validation renvoient une structure comme celle-ci :

1
2
3
{
  "message": (String) Human-readable error description
}

Ce tableau répertorie les erreurs de validation possibles.

État HTTP Message Description
400 “asset_id is required.” Aucun ID de ressource n’a été fourni dans la requête.
400 “Either file or asset_url is required.” Ni asset_file ni asset_url n’a été fourni ; l’un des deux est requis.

Erreurs de traitement

Les erreurs de traitement renvoient une réponse différente avec des codes d’erreur :

1
2
3
4
5
{
  "message": (String) Human-readable error description,
  "error_code": (String) error code,
  "meta": { }
}

Ce tableau répertorie les erreurs de traitement possibles.

Code d’erreur État HTTP Description
ASSET_NOT_FOUND 404 Aucune ressource avec l’asset_id donné n’existe dans cet espace de travail. L’objet meta inclut asset_id.
INVALID_ASSET_URL 400 La valeur asset_url n’est pas un URI valide. L’objet meta inclut asset_url.
EXTENSION_MISMATCH 400 L’extension du fichier de remplacement ne correspond pas à l’extension de la ressource existante. L’objet meta inclut expected_extension et received_extension.
UNSUPPORTED_ASSET_TYPE_FOR_REPLACE 400 Le remplacement de fichier n’est pas pris en charge pour ce type de ressource (par exemple, vidéo). L’objet meta inclut asset_type.
ASSET_SIZE_EXCEEDS_LIMIT 400 Le fichier dépasse la taille maximale autorisée. L’objet meta inclut size_limit_bytes et file_size_bytes.
CORRUPT_FILE 400 Le fichier image est corrompu ou illisible. L’objet meta inclut file_name.
GENERIC_ERROR 500 Une erreur inattendue s’est produite lors du remplacement du fichier. L’objet meta inclut original_error pour le débogage. Réessayez ou contactez l’Assistance.

Réponse

Il existe cinq codes de statut de réponse pour cet endpoint : 200, 400, 404, 429 et 500.

Le JSON suivant montre la structure attendue de la réponse.

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")
  }
}
New Stuff!