Aller au contenu
Wbiztool

API des médias

API de téléversement de médias

Téléversez une image, un document, un fichier audio ou une vidéo dans la bibliothèque de médias de votre espace de travail et obtenez en retour une URL de téléchargement. Transmettez cette URL à Envoyer un message ou, pour les images uniquement, à Créer un rappel comme img_url, lorsque vous ne disposez pas de votre propre hébergement de fichiers.

POSThttps://wbiztool.com/api/v1/media/upload/

Corps: multipart/form-data

Le fichier est stocké immédiatement et la réponse inclut son file_url. Les fichiers téléversés apparaissent aussi sur la page Répertoire Média de votre tableau de bord.

Exemple rapide#

curl -X POST https://wbiztool.com/api/v1/media/upload/ \
  -F client_id=12345 \
  -F api_key=YOUR_API_KEY \
  -F media_file=@./invoice-4821.pdf

Remplacez 12345 et YOUR_API_KEY par vos propres valeurs. Consultez Authentification pour savoir où les trouver.

Paramètres de la requête#

Envoyez la requête en multipart/form-data. Cet endpoint ne lit ni les corps JSON ni les paramètres de la chaîne de requête.

client_idintegerobligatoire

Votre ID client API, dans Paramètres → Clés API.

api_keystringobligatoire

Votre clé API, sur cette même page.

media_filefileobligatoire

Le fichier à téléverser, jusqu'à 64 Mo. Son type est déterminé par l'extension du nom de fichier : le nom doit donc se terminer par l'une des extensions prises en charge.

Types de fichiers pris en charge#

CatégorieExtensions
Images.jpg, .jpeg, .png, .gif
Documents.pdf, .doc, .xls, .ppt, .txt, .csv
Audio.mp3, .wav
Vidéo.mp4, .mov
Archives.zip

Les images sont stockées avec file_type défini sur image ; tout le reste est défini sur file.

Réponse#

Une requête réussie renvoie le code HTTP 200 :

{
  "status": 1,
  "message": "File uploaded successfully",
  "data": {
    "id": 5122,
    "file_name": "media_12345_17895804001234.pdf",
    "original_file_name": "invoice-4821.pdf",
    "file_url": "https://wbiztool-static.s3.ap-southeast-1.amazonaws.com/media/org_12345/media_12345_17895804001234.pdf",
    "file_type": "file",
    "file_size": 248312,
    "file_size_display": "242.5 KB",
    "mime_type": "application/pdf",
    "is_image": false,
    "file_extension": "pdf",
    "created_at": "2026-09-16T10:20:31.512934+00:00"
  }
}
ChampTypeDescription
statusinteger1 si le fichier a été téléversé, 0 si la requête a échoué.
messagestringFile uploaded successfully, sinon l'erreur.
data.idintegerID du fichier multimédia. Utilisez-le avec Obtenir un fichier multimédia.
data.file_namestringNom sous lequel le fichier est stocké, généré par Wbiztool.
data.original_file_namestringLe nom du fichier que vous avez téléversé.
data.file_urlstringURL de téléchargement direct. Utilisez-la comme img_url ou file_url lors de l'envoi.
data.file_typestringimage ou file.
data.file_sizeintegerTaille en octets.
data.file_size_displaystringTaille lisible avec une décimale, par exemple 242.5 KB.
data.mime_typestringType MIME déduit de l'extension, par exemple application/pdf.
data.is_imagebooleantrue lorsque file_type vaut image.
data.file_extensionstringExtension de original_file_name en minuscules, sans le point.
data.created_atstringDate du téléversement, au format ISO 8601 en UTC avec un décalage +00:00.

Erreurs#

Les erreurs renvoient aussi le code HTTP 200, avec status à 0 :

{ "status": 0, "message": "File is too large. Maximum size is 64MB. Your file: 71.3MB" }
MessageComment corriger
Only POST method is supportedEnvoyez une requête POST.
client_id is requiredAjoutez client_id comme champ de formulaire. Vérifiez que le corps est en multipart/form-data et non en JSON.
api_key is requiredAjoutez api_key comme champ de formulaire.
media_file is requiredEnvoyez le fichier dans un champ nommé media_file.
client_id must be a valid integerEnvoyez client_id sous forme de nombre.
Invalid API keyVérifiez que la clé existe et n'a pas été supprimée ni désactivée.
Invalid client_id for this API keyLa clé appartient à un autre client_id.
File is too large. Maximum size is 64MB. Your file: …MBTéléversez un fichier de 64 Mo maximum.
File type not supported. Type detected: …Utilisez l'une des extensions prises en charge.
Error uploading file: …Le téléversement n'a pas pu aboutir. Réessayez. Vous obtenez aussi cette erreur si la clé API n'est liée à aucun espace de travail ; créez une nouvelle clé dans l'espace de travail que vous souhaitez utiliser.

Téléverser puis envoyer#

Téléversez le fichier, puis transmettez file_url à Envoyer un message : comme img_url avec msg_type 1 pour les images, ou comme file_url avec msg_type 2 pour les autres fichiers.

Téléverser un PDF et l'envoyer
import requests

BASE = "https://wbiztool.com/api/v1"
AUTH = {"client_id": 12345, "api_key": "YOUR_API_KEY"}

with open("invoice-4821.pdf", "rb") as f:
    upload = requests.post(f"{BASE}/media/upload/", data=AUTH, files={"media_file": f}, timeout=120).json()
if upload["status"] != 1:
    raise SystemExit("Upload failed: " + upload["message"])

media = upload["data"]
message = {
    **AUTH,
    "whatsapp_client": 678,
    "country_code": "91",
    "phone": "9876543210",
    "msg": "Your invoice for order #4821 is attached.",
}
if media["is_image"]:
    message.update(msg_type=1, img_url=media["file_url"])
else:
    message.update(msg_type=2, file_url=media["file_url"], file_name=media["original_file_name"])

sent = requests.post(f"{BASE}/send_msg/", json=message, timeout=60).json()
print(sent)

L'API d'envoi de messages a sa propre liste d'extensions de fichiers. Parmi les types acceptés par cette API, les fichiers .doc, .ppt, .csv, .zip, .wav et .mov envoyés avec msg_type 2 sont remis avec .pdf ajouté à leur nom (par exemple brochure.doc.pdf). Convertissez les documents en PDF avant de les envoyer. Consultez Envoyer des images et des fichiers. Le nom est aussi envoyé en minuscules (Invoice-4821.PDF arrive sous le nom invoice-4821.pdf).

Les images envoyées avec msg_type 1 doivent faire 16 Mo ou moins. Les images plus volumineuses se téléversent sans problème ici, mais leur envoi échoue avec File exceeds WhatsApp size limit (16MB max). Compressez-les d'abord, ou envoyez-les comme fichier avec msg_type 2.

Conseils#

  • Réutilisez vos téléversements. Conservez l'id ou le file_url et envoyez le même fichier autant de fois que nécessaire au lieu de le téléverser à nouveau.
  • Gardez un nom d'origine explicite. original_file_name est le nom affiché dans le tableau de bord et une bonne valeur pour file_name lors de l'envoi.
  • Retrouvez vos anciens téléversements avec Lister les médias.