cargar medios para enviar documentos y medios de Whatsapp

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.

colección postman para realizar pruebas de carga de archivos

puedes importar la colección de carteros desde aquí.

image

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