İçeriğe geç
WbizTool

API v2 (beta)

Medya

Medya klasörü, çalışma alanınızın dosyalarını tutar: fiyat listeleri, menüler, broşürler, ürün fotoğrafları. Bir dosyayı bir kez yükleyin, ardından bir mesajda veya bir hatırlatıcıda "media": {"media_id": …} ile istediğiniz kadar gönderin. Paneldeki Medya klasörü sayfasıyla aynı klasördür; orada yüklenen dosyalar burada da listelenir.

İşlemEndpointKapsam
Dosya yükleyinPOST /api/v2/mediamedia
Dosyaları listeleyinGET /api/v2/mediamedia
Bir dosyayı alınGET /api/v2/media/{id}media
Bir dosyayı silinDELETE /api/v2/media/{id}media

Dosya yükleyin#

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

Gövde: multipart/form-data

Her istekte bir dosyayı multipart/form-data olarak, file alanında gönderin. JSON almayan tek v2 endpoint'i budur. Yanıt, Media nesnesiyle birlikte 201 olur.

  • Dosya başına en fazla 64 MB.
  • Türler: tür, dosya adının sonundaki uzantıdan belirlenir; bu yüzden uzantıyı koruyun.
TürUzantılar
Görseller.jpg, .jpeg, .jpe, .png, .gif, .webp, .bmp
Belgeler.pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .csv, .txt
Ses.mp3, .m4a, .wav, .ogg, .oga, .aac
Video.mp4, .mov, .avi
Arşivler.zip, .rar
  • Depolama: çalışma alanının tüm dosyaları birlikte planının izin verdiği kadar yer kaplayabilir; bu 250 MB ile 10 GB arasındadır (bkz. Plana göre depolama). Sığmayan bir dosya storage_full ile reddedilir.
  • Bir görsel dosyası (type image) varsayılan olarak görsel olarak, diğer her şey dosya olarak gönderilir.
  • Zaman aşımından sonraki bir yeniden deneme dosyayı iki kez kaydetmesin diye bir Idempotency-Key gönderin.
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"

Yanıt (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"
}

Ardından gönderin:

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

Alıcı, dosyanın yüklendiği adı (price list.pdf) görür; başka bir ad göstermek için mesajda media.file_name değerini ayarlayın.

Yüklerken oluşan hatalar#

HTTPKodNe zaman
400validation_failedfile alanında dosya yok veya birden fazla dosya var
413file_too_largeDosya 64 MB'tan büyük
415unsupported_file_typeUzantı yukarıdaki türlerden biri değil
415unsupported_content_typeİstek multipart/form-data değil (örneğin JSON)
422storage_fullDosya planın depolama alanına sığmıyor; used ve limit bayt cinsinden ne kadar olduğunu söyler
502upload_failedDosya kaydedilemedi. Yeniden deneyin (aynı Idempotency-Key ile)

Dosyaları listeleyin#

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

Çalışma alanının dosyaları, en yeniler önce, sayfalar hâlinde (limit 1 ile 100 arası, varsayılan 25, ve cursor).

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

Yanıt {"data": [Media, …], "next_cursor": "…" or null} biçimindedir.

Bir dosyayı alın#

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

Var olmayan veya silinmiş bir dosya 404 media_not_found döndürür.

Bir dosyayı silin#

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

Dosyayı Medya klasöründen ve depolamadan siler; böylece url bağlantısı çalışmayı durdurur. Önceden gönderilmiş mesajların kopyası alıcının telefonunda kalır.

Bir şey dosyayı hâlâ gönderecekse silme reddedilir: gönderilmeyi bekleyen bir mesaj (bir kampanyanınkiler dahil), etkin bir hatırlatıcı veya etkin bir Google Sheets tetikleyicisi. Bu durumda yanıt 409 media_in_use olur ve count kaç tane olduğunu söyler. Önce bunları iptal edin veya değiştirin ya da mesajlar gönderilene kadar bekleyin.

curl -X DELETE https://wbiztool.com/api/v2/media/3301 \
  -H "Authorization: Bearer $WBIZTOOL_API_KEY"
{ "id": 3301, "deleted": true }
HTTPKodNe zaman
404media_not_foundBöyle bir dosya yok
409media_in_useBekleyen bir mesaj, etkin bir hatırlatıcı veya bir Google Sheets tetikleyicisi dosyayı hâlâ kullanıyor

Media nesnesi#

AlanTürAçıklama
idintegerDosyanın kimliği: dosyayı göndermek için kullanılan media_id.
namestringDosyanın yüklendiği ad.
typestringGörsel dosyaları için image, diğer her şey için file.
mime_typestringÖrneğin application/pdf veya image/jpeg.
sizeintegerBayt cinsinden boyut.
urlstringDosyaya giden herkese açık bir bağlantı. Bağlantıya sahip herkes dosyayı açabilir; bu yüzden gizli kalması gereken dosyaları yüklemeyin.
created_atstringDosyanın yüklendiği zaman.

İlgili sayfalar#