API Web Enviar Arquivos
🧩 Enviar uma mensagem com arquivo(s) de mídia (imagem, vídeo, áudio ou documento) para um visitante ativo no widget WebChat. Aceita um ou mais arquivos por requisição via multipart/form-data.
API: WebChat
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://{BACKEND_URL}/api/webchat/messages/send
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
array(
'sessionId' => 'session_1745772400000_abc123',
'body' => 'Segue o documento solicitado',
'medias[0]' => new CURLFile('/caminho/arquivo.pdf'),
'medias[1]' => new CURLFile('/caminho/imagem.png')
)
➡️ “sessionId”: Identificador único da sessão do visitante no widget. É gerado pelo widget e pode ser obtido via webhook, pela mensagem-marcador do ticket ou pela página /visitors-live. ➡️ “body”: Texto opcional. Quando informado, vira a legenda do primeiro arquivo. Os demais arquivos usam “Arquivo: <nome-original>” como legenda padrão. ➡️ “medias”: Arquivo(s) a serem enviados. Pode ser repetido para enviar vários arquivos na mesma requisição. Tamanho máximo de 20 MB por arquivo. O tipo (imagem, vídeo, áudio ou documento) é detectado automaticamente pelo mimetype. ⚠️ Extensões permitidas: .jpg .png .gif .webp .mp4 .webm .mp3 .ogg .pdf .doc .docx .xls .xlsx .csv. MIME types aceitos: image/*, video/*, audio/*, application/pdf, application/msword, entre outros. API Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{BACKEND_URL}/api/webchat/messages/send',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'sessionId' => 'session_1745772400000_abc123',
'body' => 'Segue o documento solicitado',
'medias[0]' => new CURLFile('/caminho/arquivo.pdf'),
'medias[1]' => new CURLFile('/caminho/imagem.png')
),
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;