Aller au contenu
WbizTool

API v2 (bêta)

Médias

Le Répertoire média contient les fichiers de votre espace de travail : listes de prix, menus, brochures, photos de produits. Téléversez un fichier une fois, puis envoyez-le aussi souvent que vous le souhaitez avec "media": {"media_id": …} dans un message ou un rappel. C'est le même répertoire que la page Répertoire média du tableau de bord : les fichiers téléversés là-bas sont donc aussi listés ici.

OpérationEndpointScope
Téléverser un fichierPOST /api/v2/mediamedia
Lister les fichiersGET /api/v2/mediamedia
Obtenir un fichierGET /api/v2/media/{id}media
Supprimer un fichierDELETE /api/v2/media/{id}media

Téléverser un fichier#

POSThttps://wbiztool.com/api/v2/media

Corps: multipart/form-data

Envoyez un fichier par requête en multipart/form-data, dans le champ file. C'est le seul endpoint v2 qui n'accepte pas de JSON. La réponse est 201 avec l'objet Média.

  • Jusqu'à 64 Mo par fichier.
  • Types : le type est déduit de l'extension à la fin du nom de fichier : conservez-la donc.
CatégorieExtensions
Images.jpg, .jpeg, .jpe, .png, .gif, .webp, .bmp
Documents.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .csv, .txt
Audio.mp3, .m4a, .wav, .ogg, .oga, .aac
Vidéo.mp4, .mov, .avi
Archives.zip, .rar
  • Stockage : l'ensemble des fichiers de l'espace de travail peut occuper ce que son forfait autorise, de 250 Mo à 10 Go (voir Stockage par forfait). Un fichier qui ne tient pas est refusé avec storage_full.
  • Un fichier image (type image) est envoyé comme image par défaut ; tout le reste comme fichier.
  • Envoyez une Idempotency-Key pour qu'une nouvelle tentative après un délai dépassé n'enregistre pas le fichier deux fois.
curl -X POST https://wbiztool.com/api/v2/media \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY" \
  -H "Idempotency-Key: price-list-2026-10" \
  -F "file=@./price list.pdf"

Réponse (201) :

{
  "id": 3301,
  "name": "price list.pdf",
  "type": "file",
  "mime_type": "application/pdf",
  "size": 182344,
  "url": "https://media.wbiztool.com/media/org_5012/media_5012_17608123450000_0.pdf",
  "created_at": "2026-10-18T10:31:40.120Z"
}

Ensuite, envoyez-le :

{
  "to": { "phone": "+919876543210" },
  "text": "Here is our new price list.",
  "media": { "media_id": 3301 }
}

Le destinataire voit le nom avec lequel il a été téléversé (price list.pdf) ; définissez media.file_name dans le message pour en afficher un autre.

Erreurs au téléversement#

HTTPCodeQuand
400validation_failedAucun fichier dans le champ file, ou plus d'un
413file_too_largeLe fichier dépasse 64 Mo
415unsupported_file_typeL'extension ne fait pas partie des types ci-dessus
415unsupported_content_typeLa requête n'est pas en multipart/form-data (du JSON, par exemple)
422storage_fullLe fichier ne tient pas dans le stockage du forfait ; used et limit indiquent combien, en octets
502upload_failedLe fichier n'a pas pu être enregistré. Réessayez (avec la même Idempotency-Key)

Lister les fichiers#

GEThttps://wbiztool.com/api/v2/media

Les fichiers de l'espace de travail, les plus récents d'abord, par pages (limit de 1 à 100, 25 par défaut, et cursor).

curl "https://wbiztool.com/api/v2/media?limit=100" \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"

La réponse est {"data": [Media, …], "next_cursor": "…" or null}.

Obtenir un fichier#

GEThttps://wbiztool.com/api/v2/media/{id}
curl https://wbiztool.com/api/v2/media/3301 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"

Un fichier qui n'existe pas ou a été supprimé répond 404 media_not_found.

Supprimer un fichier#

DELETEhttps://wbiztool.com/api/v2/media/{id}

Supprime le fichier du Répertoire média et du stockage : son url cesse donc de fonctionner. Les messages déjà envoyés gardent leur copie sur le téléphone du destinataire.

La suppression est refusée tant que quelque chose doit encore envoyer le fichier : un message en attente d'envoi (y compris celui d'une campagne), un rappel actif ou un déclencheur Google Sheets actif. La réponse est alors 409 media_in_use, et count indique combien. Annulez-les ou modifiez-les d'abord, ou attendez que les messages soient partis.

curl -X DELETE https://wbiztool.com/api/v2/media/3301 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{ "id": 3301, "deleted": true }
HTTPCodeQuand
404media_not_foundAucun fichier de ce type
409media_in_useUn message en attente, un rappel actif ou un déclencheur Google Sheets l'utilise encore

L'objet Média#

ChampTypeDescription
idintegerL'identifiant du fichier : le media_id avec lequel l'envoyer.
namestringLe nom avec lequel il a été téléversé.
typestringimage pour les fichiers image, file pour tout le reste.
mime_typestringPar exemple application/pdf ou image/jpeg.
sizeintegerTaille en octets.
urlstringUn lien public vers le fichier. Toute personne qui a le lien peut l'ouvrir : ne téléversez donc pas de fichiers qui doivent rester privés.
created_atstringQuand il a été téléversé.

Voir aussi#