carregar suportes para enviar documentos e suportes Whatsapp

Ultramsg suporta o envio de fotos, vídeos e documentos através de uma URL directa, mas se precisar de enviar documentos a partir de um servidor local, deve utilizar e converter os ficheiros para o formato base64 e depois enviá-los. Mas a desvantagem da base64 é que o tamanho é limitado a um máximo de 10 milhões de caracteres, cerca de 6,5M.

Fornecemos uma solução alternativa e melhor para isto, carregando o ficheiro do servidor local para um CDN a um custo gratuito para os clientes Ultramsg.

Route path : [POST]

/media/upload
/media/upload

parâmetros necessários :

  • ficheiro: nome de ficheiro como /caminho/exemplo.pdf.
  • token: o seu token de instância.

colecção de carteiros para fazer o upload de ficheiros de teste

pode importar daqui a colecção dos carteiros.

image

exemplo para o carregamento de documentos usando PHP

<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.ultramsg.com/instance950/media/upload', 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('file' => new CURLFILE('sample.pdf'), 'token' => 'Yourtoken'), )); $response = curl_exec($curl); curl_close($curl); echo $response;
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.ultramsg.com/instance950/media/upload', 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('file' => new CURLFILE('sample.pdf'), 'token' => 'Yourtoken'), )); $response = curl_exec($curl); curl_close($curl); echo $response;

Após o envio do pedido anterior, o link do ficheiro ser-lhe-á devolvido para utilização no envio da API WhatsApp.

exemplo para o carregamento de documentos usando Python

import requests url = "https://api.ultramsg.com/instance950/media/upload" payload={'token': 'Yourtoken'} files=[ ('file',('sample.pdf',open('/folder/sample.pdf','rb'),'application/pdf')) ] headers = {} response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)
import requests url = "https://api.ultramsg.com/instance950/media/upload" payload={'token': 'Yourtoken'} files=[ ('file',('sample.pdf',open('/folder/sample.pdf','rb'),'application/pdf')) ] headers = {} response = requests.request("POST", url, headers=headers, data=payload, files=files) print(response.text)

exemplo para carregamento de documentos usando c#

using System.Net; using System.Text; namespace FileUploadExample { class Program { static void Main(string[] args) { var token = "Yourtoken"; var instance = "instance950"; var filePath = "/folder/sample.pdf"; var url = "https://api.ultramsg.com/" + instance + "/media/upload/?token=" + token; var client = new WebClient(); var response = client.UploadFile(url, "POST", filePath); string responseInString = Encoding.UTF8.GetString(response); Console.WriteLine(responseInString); } } }
using System.Net; using System.Text; namespace FileUploadExample { class Program { static void Main(string[] args) { var token = "Yourtoken"; var instance = "instance950"; var filePath = "/folder/sample.pdf"; var url = "https://api.ultramsg.com/" + instance + "/media/upload/?token=" + token; var client = new WebClient(); var response = client.UploadFile(url, "POST", filePath); string responseInString = Encoding.UTF8.GetString(response); Console.WriteLine(responseInString); } } }

exemplo para carregamento de documentos usando o encaracolamento

curl --location --request POST 'https://api.ultramsg.com/instance950/media/upload' \ --form 'file=@"/folder/sample.pdf"' \ --form 'token="Yourtoken"'
curl --location --request POST 'https://api.ultramsg.com/instance950/media/upload' \ --form 'file=@"/folder/sample.pdf"' \ --form 'token="Yourtoken"'

exemplo para carregamento de documentos usando NodeJs – Pedir libertação

var request = require('request'); var fs = require('fs'); var options = { 'method': 'POST', 'url': 'https://api.ultramsg.com/instance950/media/upload', 'headers': { }, formData: { 'file': { 'value': fs.createReadStream('/folder/sample.pdf'), 'options': { 'filename': 'sample.pdf', 'contentType': null } }, 'token': 'Yourtoken' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });
var request = require('request'); var fs = require('fs'); var options = { 'method': 'POST', 'url': 'https://api.ultramsg.com/instance950/media/upload', 'headers': { }, formData: { 'file': { 'value': fs.createReadStream('/folder/sample.pdf'), 'options': { 'filename': 'sample.pdf', 'contentType': null } }, 'token': 'Yourtoken' } }; request(options, function (error, response) { if (error) throw new Error(error); console.log(response.body); });

exemplo para carregamento de documentos usando o vb.net

Imports System.Net Imports System.Text Module Program Sub Main(args As String()) Const token As String = "Yourtoken" Const instance = "instance950" Const filePath = "test.jpg" const url = "https://api.ultramsg.com/" & instance & "/media/upload/?token=" & token Dim client = New WebClient() Dim response = client.UploadFile(url, "POST", filePath) Dim documentUrl As String = Encoding.UTF8.GetString(response) Console.WriteLine(documentUrl) End Sub End Module
Imports System.Net Imports System.Text Module Program Sub Main(args As String()) Const token As String = "Yourtoken" Const instance = "instance950" Const filePath = "test.jpg" const url = "https://api.ultramsg.com/" & instance & "/media/upload/?token=" & token Dim client = New WebClient() Dim response = client.UploadFile(url, "POST", filePath) Dim documentUrl As String = Encoding.UTF8.GetString(response) Console.WriteLine(documentUrl) End Sub End Module