Перейти к содержимому
Wbiztool

API медиафайлов

API получения медиафайла

Получите сведения и ссылку для скачивания одного файла из медиатеки по его ID. Используйте этот API, чтобы убедиться, что файл всё ещё существует, прежде чем отправлять его.

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

Тело запроса: Строка запроса или тело JSON с POST

Замените {media_id} в пути значением id, возвращённым API загрузки медиафайлов или API списка медиафайлов, например /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

Замените 12345 и YOUR_API_KEY своими значениями. Где их найти, описано в разделе Аутентификация.

Параметры запроса#

Передавайте client_id и api_key в строке запроса GET или телом JSON в запросе POST. Если client_id есть в строке запроса, тело JSON игнорируется.

Путь

media_idintegerобязательно

ID медиафайла. Он должен быть целым числом; в остальных случаях вместо JSON возвращается HTML-ответ «страница не найдена».

Аутентификация

client_idintegerобязательно

Ваш API Client ID из раздела Настройки → API ключи.

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]"
  }
}
ПолеТипОписание
statusinteger1 при успехе, 0, если запрос не выполнен.
messagestringMedia file retrieved successfully, иначе текст ошибки.
data.idintegerID медиафайла.
data.file_namestringИмя, под которым хранится файл.
data.original_file_namestringИмя файла на момент загрузки.
data.file_urlstringПрямая ссылка для скачивания. Используйте её как img_url или file_url при отправке.
data.file_typestringimage или file.
data.file_sizeintegerРазмер в байтах.
data.file_size_displaystringРазмер в удобном для чтения виде с одним знаком после запятой, например 242.5 KB.
data.mime_typestringMIME-тип, например application/pdf.
data.is_imagebooleantrue, если file_type равен image.
data.file_extensionstringРасширение original_file_name в нижнем регистре, без точки.
data.created_atstringВремя загрузки в формате ISO 8601 в UTC со смещением +00:00.
data.modified_atstringКогда запись файла изменялась в последний раз, в том же формате.
data.uploaded_bystring or nullЛогин (обычно адрес электронной почты) участника команды, загрузившего файл.

Ошибки#

Ошибки тоже возвращаются с HTTP 200 и status, равным 0:

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

Одно исключение: если media_id не является числом, URL не соответствует ни одному endpoint, и вместо JSON вы получите HTML-страницу 404.

СообщениеКак исправить
client_id is requiredДобавьте client_id.
api_key is requiredДобавьте api_key.
client_id must be a valid integerПередайте client_id числом.
Invalid API keyПроверьте, что ключ существует, не удалён и не отключён.
Invalid client_id for this API keyКлюч принадлежит другому client_id.
Media file not foundВ рабочем пространстве API-ключа нет файла с таким ID, или он был удалён.
Error retrieving media file: …Что-то пошло не так на нашей стороне. Повторите попытку.

Проверка файла перед отправкой#

Получите файл по ID, остановитесь, если его больше нет, затем отправьте его file_url: как img_url с msg_type 1 для изображений или как file_url с msg_type 2 для всего остального.

Отправка сохранённого медиафайла
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 МБ не отправляются. См. API загрузки медиафайлов → Загрузка и отправка.

Советы#

  • Для удалённых файлов возвращается Media file not found, хотя их file_url может по-прежнему скачиваться. Проверяйте файлы этим endpoint, а не загрузкой по URL. URL загруженных файлов публичные и постоянные; см. API загрузки медиафайлов → Загрузка и отправка.
  • Файлы привязаны к рабочему пространству. Файл, загруженный в одном рабочем пространстве, нельзя получить с API-ключом из другого.
  • Не знаете ID? Найдите файл по имени через API списка медиафайлов.