コンテンツへスキップ
Wbiztool

メディアAPI

メディアファイルの取得API

メディアライブラリ内の1つのファイルの詳細とダウンロードURLを、IDを指定して取得します。送信前にファイルがまだ存在するかを確認するのに利用できます。

GEThttps://wbiztool.com/api/v1/media/{media_id}/

リクエストボディ: クエリ文字列、またはPOSTの場合はJSONボディ

パスの{media_id}を、メディアのアップロードまたはメディア一覧で返されたidに置き換えてください(例:/api/v1/media/5122/)。

クイック例#

curl -G https://wbiztool.com/api/v1/media/5122/ \
  --data-urlencode client_id=12345 \
  --data-urlencode api_key=YOUR_API_KEY

12345YOUR_API_KEYはご自身の値に置き換えてください。値の確認場所は認証をご覧ください。

リクエストパラメータ#

client_idapi_keyは、GETリクエストのクエリ文字列で送信するか、POSTリクエストのJSONボディで送信します。client_idがクエリ文字列にある場合、JSONボディは無視されます。

パス

media_idinteger必須

メディアファイルのIDです。整数である必要があり、それ以外の値ではJSONではなくHTMLの「page not found」レスポンスが返ります。

認証

client_idinteger必須

設定 → APIキーに表示されるAPIクライアントIDです。

api_keystring必須

同じページにあるAPIキーです。

レスポンス#

{
  "status": 1,
  "message": "Media file retrieved 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",
    "modified_at": "2026-09-16T10:20:31.512961+00:00",
    "uploaded_by": "[email protected]"
  }
}
フィールド説明
statusinteger成功時は1、リクエストが失敗した場合は0
messagestringMedia file retrieved successfully、それ以外はエラー内容。
data.idintegerメディアファイルのID。
data.file_namestringファイルの保存名。
data.original_file_namestringアップロード時のファイル名。
data.file_urlstring直接ダウンロードURL。送信時にimg_urlまたはfile_urlとして使用します。
data.file_typestringimageまたはfile
data.file_sizeintegerサイズ(バイト)。
data.file_size_displaystring小数点以下1桁の読みやすいサイズ(例:242.5 KB)。
data.mime_typestringMIMEタイプ(例:application/pdf)。
data.is_imagebooleanfile_typeimageの場合はtrue
data.file_extensionstringoriginal_file_nameの小文字の拡張子(ドットなし)。
data.created_atstringアップロード日時。+00:00オフセット付きのUTCのISO 8601形式です。
data.modified_atstringファイルのレコードが最後に変更された日時(同じ形式)。
data.uploaded_bystring or nullファイルをアップロードしたチームメンバーのログインユーザー名(通常はメールアドレス)。

エラー#

エラーの場合もHTTP 200が返り、status0になります。

{ "status": 0, "message": "Media file not found" }

例外が1つあります。media_idが数値でない場合、URLがどのエンドポイントにも一致しないため、JSONではなくHTMLの404ページが返ります。

メッセージ対処方法
client_id is requiredclient_idを追加してください。
api_key is requiredapi_keyを追加してください。
client_id must be a valid integerclient_idを数値で送信してください。
Invalid API keyキーが存在し、削除または無効化されていないことを確認してください。
Invalid client_id for this API keyキーが別のclient_idに属しています。
Media file not foundこのIDのファイルがAPIキーのワークスペースに存在しないか、削除されています。
Error retrieving media file: …サーバー側で問題が発生しました。もう一度お試しください。

送信前にファイルを確認する#

IDでファイルを取得し、ファイルが存在しなくなっていれば処理を止めてから、そのfile_urlを送信します。画像の場合はmsg_type 1でimg_urlとして、それ以外の場合はmsg_type 2でfile_urlとして送信します。

保存済みのメディアファイルを送信する
import requests

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

result = requests.get(f"{BASE}/media/5122/", params=AUTH, timeout=60).json()
if result["status"] != 1:
    raise SystemExit("Can't use this file: " + result["message"])

media = result["data"]
message = {
    **AUTH,
    "whatsapp_client": 678,
    "country_code": "91",
    "phone": "9876543210",
    "msg": "Here is the document you asked for.",
}
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"])

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

.doc.ppt.csv.zip.wav.movなどの画像以外のファイルは名前に.pdfが付加されて届き、16 MBを超える画像は送信に失敗します。メディアのアップロード → アップロードして送信するをご覧ください。

ヒント#

  • 削除されたファイルではMedia file not foundが返ります。file_urlからはまだダウンロードできる場合もあります。URLを取得して確認するのではなく、このエンドポイントで確認してください。アップロードしたファイルのURLは公開されており、無期限に有効です。メディアのアップロード → アップロードして送信するをご覧ください。
  • ファイルはワークスペースごとに管理されます。あるワークスペースでアップロードしたファイルは、別のワークスペースのAPIキーでは読み取れません。
  • IDがわからない場合メディア一覧で名前から検索してください。