Pular para o conteúdo
Wbiztool

API de mídia

API para obter arquivo de mídia

Obtenha os detalhes e a URL de download de um arquivo da sua biblioteca de mídia pelo ID. Use-a para verificar se um arquivo ainda existe antes de enviá-lo.

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

Corpo: Query string, ou corpo JSON com POST

Substitua {media_id} no caminho pelo id retornado por Upload de mídia ou Listar mídia, por exemplo /api/v1/media/5122/.

Exemplo rápido#

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

Substitua 12345 e YOUR_API_KEY pelos seus próprios valores. Veja em Autenticação onde encontrá-los.

Parâmetros da requisição#

Envie client_id e api_key na query string de uma requisição GET, ou como corpo JSON em uma requisição POST. Se client_id estiver na query string, o corpo JSON é ignorado.

Caminho

media_idintegerobrigatório

ID do arquivo de mídia. Precisa ser um número inteiro; qualquer outro valor retorna uma resposta HTML de «página não encontrada» em vez de JSON.

Autenticação

client_idintegerobrigatório

Seu ID do Cliente da API, em Configurações → Chaves API.

api_keystringobrigatório

Sua chave de API, na mesma página.

Resposta#

{
  "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]"
  }
}
CampoTipoDescrição
statusinteger1 em caso de sucesso, 0 se a requisição falhou.
messagestringMedia file retrieved successfully; caso contrário, o erro.
data.idintegerID do arquivo de mídia.
data.file_namestringNome com o qual o arquivo é armazenado.
data.original_file_namestringO nome que o arquivo tinha quando foi enviado.
data.file_urlstringURL de download direto. Use-a como img_url ou file_url ao enviar.
data.file_typestringimage ou file.
data.file_sizeintegerTamanho em bytes.
data.file_size_displaystringTamanho legível com uma casa decimal, por exemplo 242.5 KB.
data.mime_typestringTipo MIME, por exemplo application/pdf.
data.is_imagebooleantrue quando file_type é image.
data.file_extensionstringExtensão de original_file_name em minúsculas, sem o ponto.
data.created_atstringHorário do upload, em ISO 8601, em UTC, com deslocamento +00:00.
data.modified_atstringQuando o registro do arquivo foi alterado pela última vez, no mesmo formato.
data.uploaded_bystring ou nullNome de usuário de login (geralmente o endereço de e-mail) do membro da equipe que enviou o arquivo.

Erros#

Os erros também retornam HTTP 200, com status igual a 0:

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

Uma exceção: se media_id não for um número, a URL não corresponde a nenhum endpoint e você recebe uma página HTML 404 em vez de JSON.

MensagemComo corrigir
client_id is requiredAdicione client_id.
api_key is requiredAdicione api_key.
client_id must be a valid integerEnvie client_id como número.
Invalid API keyVerifique se a chave existe e não foi excluída nem desativada.
Invalid client_id for this API keyA chave pertence a outro client_id.
Media file not foundNão existe nenhum arquivo com este ID no espaço de trabalho da chave de API, ou ele foi excluído.
Error retrieving media file: …Algo deu errado do nosso lado. Tente novamente.

Verificar um arquivo antes de enviá-lo#

Busque o arquivo pelo ID, pare se ele não existir mais e depois envie o file_url dele: como img_url com msg_type 1 para imagens, ou como file_url com msg_type 2 para todo o resto.

Enviar um arquivo de mídia salvo
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())

Arquivos que não são imagens, como .doc, .ppt, .csv, .zip, .wav e .mov, são entregues com .pdf adicionado ao nome, e imagens acima de 16 MB falham no envio. Veja Upload de mídia → Enviar o arquivo e mandar a mensagem.

Dicas#

  • Arquivos excluídos retornam Media file not found, mesmo que o file_url deles ainda possa ser baixado. Verifique com este endpoint em vez de acessar a URL. As URLs dos arquivos enviados são públicas e permanentes; veja Upload de mídia → Enviar o arquivo e mandar a mensagem.
  • Os arquivos são por espaço de trabalho. Um arquivo enviado em um espaço de trabalho não pode ser lido com uma chave de API de outro.
  • Não sabe o ID? Pesquise pelo nome com Listar mídia.