Whatsapp belgeleri ve medya göndermek için medya yükleme

Ultramsg, doğrudan bir URL aracılığıyla fotoğraf, video ve belge göndermeyi destekler, ancak yerel bir sunucudan belge göndermeniz gerekiyorsa, dosyaları kullanmanız ve base64 biçimine dönüştürmeniz ve ardından göndermeniz gerekir. Ancak base64 ‘ün dezavantajı, boyutun maksimum 10 milyon karakterle, yaklaşık 6,5M ile sınırlı olmasıdır.

Ultramsg müşterileri için dosyayı yerel sunucudan bir CDN’e ücretsiz olarak yükleyerek bunun için alternatif ve daha iyi bir çözüm sağladık.

Route path : [POST] /media/upload

gerekli parametreler :

  • file: /path/example.pdf gibi dosya adı.
  • token: örnek belirteciniz.

dosya yükleme testi yapmak için postman koleksiyonu

postacı koleksiyonunu buradan içe aktarabilirsiniz.

image

PHP kullanarak belge yükleme örneği

<?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;

Önceki isteği gönderdikten sonra, WhatsApp API’sini gönderirken kullanmanız için dosya bağlantısı size iade edilecektir.

Python kullanarak Belgeleri yüklemek için örnek

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)

c# kullanarak Belgeleri yüklemek için örnek

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);

        }
    }
}

curl kullanarak Belgeleri yüklemek için örnek

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

NodeJs kullanarak Belge yükleme örneği – 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);
});

vb.net kullanarak Belgeleri yüklemek için örnek


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