Ultramsg admite el envío de fotos, vídeos y documentos a través de una URL directa, pero si necesita enviar documentos desde un servidor local, debe utilizar y convertir los archivos a formato base64 y luego enviarlos. Pero la desventaja de base64 es que el tamaño está limitado a un máximo de 10 millones de caracteres, unos 6,5M.
Hemos proporcionado una solución alternativa y mejor para esto subiendo el archivo desde el servidor local a una CDN de forma gratuita para los clientes de Ultramsg.
Route path : [POST]
/media/upload
parámetros requeridos :
- archivo: nombre de archivo como /ruta/ejemplo.pdf.
- token: tu token de instancia.
Contents
hide
colección postman para realizar pruebas de carga de archivos
puedes importar la colección de carteros desde aquí.
ejemplo para cargar documentos utilizando 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;
Después de enviar la solicitud anterior, se le devolverá el enlace del archivo para que lo utilice en el envío de la API de WhatsApp.
Ejemplo de carga de documentos con 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)
ejemplo para subir 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);
}
}
}
ejemplo de carga de documentos mediante curl
curl --location --request POST 'https://api.ultramsg.com/instance950/media/upload' \
--form 'file=@"/folder/sample.pdf"' \
--form 'token="Yourtoken"'
ejemplo para subir documentos usando NodeJs – Request lib
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);
});
ejemplo para subir documentos usando 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