Vai al contenuto
WbizTool

API v2 (beta)

File multimediali

La Directory media contiene i file del tuo spazio di lavoro: listini prezzi, menu, brochure, foto dei prodotti. Carica un file una volta, poi invialo tutte le volte che vuoi con "media": {"media_id": …} in un messaggio o in un promemoria. È la stessa directory della pagina Directory media nella dashboard, quindi anche i file caricati lì compaiono qui.

OperazioneEndpointScope
Caricare un filePOST /api/v2/mediamedia
Elencare i fileGET /api/v2/mediamedia
Ottenere un fileGET /api/v2/media/{id}media
Eliminare un fileDELETE /api/v2/media/{id}media

Caricare un file#

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

Corpo: multipart/form-data

Invia un file per richiesta come multipart/form-data, nel campo file. È l'unico endpoint della v2 che non accetta JSON. La risposta è 201 con l'oggetto Media.

  • Fino a 64 MB per file.
  • Tipi: il tipo viene ricavato dall'estensione alla fine del nome del file, quindi mantienila.
TipoEstensioni
Immagini.jpg, .jpeg, .jpe, .png, .gif, .webp, .bmp
Documenti.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .csv, .txt
Audio.mp3, .m4a, .wav, .ogg, .oga, .aac
Video.mp4, .mov, .avi
Archivi.zip, .rar
  • Spazio di archiviazione: tutti i file dello spazio di lavoro insieme possono occupare lo spazio consentito dal piano, da 250 MB a 10 GB (vedi Spazio di archiviazione per piano). Un file che non ci sta viene rifiutato con storage_full.
  • Un file immagine (type image) viene inviato come immagine per impostazione predefinita; tutto il resto come file.
  • Invia un Idempotency-Key così un nuovo tentativo dopo un timeout non salva il file due volte.
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"

Risposta (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"
}

Poi invialo:

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

Il destinatario vede il nome con cui il file è stato caricato (price list.pdf); imposta media.file_name nel messaggio per mostrarne un altro.

Errori durante il caricamento#

HTTPCodiceQuando
400validation_failedNessun file nel campo file, oppure più di uno
413file_too_largeIl file supera i 64 MB
415unsupported_file_typeL'estensione non è uno dei tipi indicati sopra
415unsupported_content_typeLa richiesta non è multipart/form-data (per esempio è JSON)
422storage_fullIl file non rientra nello spazio di archiviazione del piano; used e limit indicano quanto, in byte
502upload_failedNon è stato possibile salvare il file. Riprova (con lo stesso Idempotency-Key)

Elencare i file#

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

I file dello spazio di lavoro, dal più recente, in pagine (limit da 1 a 100, predefinito 25, e cursor).

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

La risposta è {"data": [Media, …], "next_cursor": "…" or null}.

Ottenere un file#

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

Un file che non esiste o è stato eliminato risponde 404 media_not_found.

Eliminare un file#

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

Elimina il file dalla Directory media e dallo spazio di archiviazione, quindi il suo url smette di funzionare. I messaggi già inviati conservano la loro copia sul telefono del destinatario.

L'eliminazione viene rifiutata finché qualcosa deve ancora inviare il file: un messaggio in attesa di partire (anche di una campagna), un promemoria attivo o un trigger Google Sheets attivo. In quel caso la risposta è 409 media_in_use, e count indica quanti sono. Prima annullali o modificali, oppure attendi che i messaggi siano partiti.

curl -X DELETE https://wbiztool.com/api/v2/media/3301 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{ "id": 3301, "deleted": true }
HTTPCodiceQuando
404media_not_foundNessun file di questo tipo
409media_in_useUn messaggio in attesa, un promemoria attivo o un trigger Google Sheets lo usa ancora

L'oggetto Media#

CampoTipoDescrizione
idintegerL'id del file: il media_id con cui inviarlo.
namestringIl nome con cui è stato caricato.
typestringimage per i file immagine, file per tutto il resto.
mime_typestringPer esempio application/pdf o image/jpeg.
sizeintegerDimensione in byte.
urlstringUn link pubblico al file. Chiunque abbia il link può aprirlo, quindi non caricare file che devono rimanere privati.
created_atstringQuando è stato caricato.

Pagine correlate#