Cara Mengirim WhatsApp API menggunakan c#

pengantar

Pada artikel ini, kami akan membuat contoh sederhana untuk mengirim pesan melalui WhatsApp API menggunakan c#.

Awalnya, Anda harus memastikan bahwa pustaka RestSharp Ver terakhir: 108.0.1 sudah siap dan karena kami akan menggunakan pustaka ini dalam artikel ini untuk mengirim pesan ke Ultramsg Gateway.

Contoh cepat untuk WhatsApp API menggunakan C#

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";      
            string message = "WhatsApp API on UltraMsg.com works good";
            var url = "https://api.ultramsg.com/" + instanceId  +  "/messages/chat";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("body", message);


            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Ketika kode sebelumnya dijalankan, dan jika pesan berhasil dikirim, responsnya akan seperti ini:

{"sent":"true","message":"ok","id":497}

Kirim Gambar

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";      
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/image";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("image", "https://file-example.s3-accelerate.amazonaws.com/images/test.jpg");
            request.AddParameter("caption", "caption text");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim Dokumen

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";      
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/document";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("filename", "test.pdf");
            request.AddParameter("document", "https://file-example.s3-accelerate.amazonaws.com/documents/cv.pdf");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim Audio

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";    
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/audio";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("audio", "https://file-example.s3-accelerate.amazonaws.com/audio/2.mp3");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim Suara

Anda dapat mengirim rekaman audio ppt ke nomor telepon atau grup, Tetapi WhatsApp sensitif terhadap ekstensi ini, Anda harus dalam format OGG dan codec harus menjadi opus, Untuk informasi lebih lanjut, Anda dapat melihat artikel ini.

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";    
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/voice";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("audio", "https://file-example.s3-accelerate.amazonaws.com/voice/oog_example.ogg");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Mengirim video

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";      
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/video";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("video", "https://file-example.s3-accelerate.amazonaws.com/video/test.mp4");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";    
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/link";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("link", "https://en.wikipedia.org/wiki/COVID-19");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim Kontak

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";    
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/contact";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("contact", "[email protected]");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim lokasi

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";  
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/location";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("address", "ABC company \n Sixth floor , office 38");
            request.AddParameter("lat", "25.197197");
            request.AddParameter("lng", "55.2721877");

            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Kirim Vcard

using System;
using RestSharp;
using System.Threading.Tasks;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";     
        
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/vcard";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("vcard", " BEGIN:VCARD\nVERSION:3.0\nN:lastname;firstname\nFN:firstname lastname\nTEL;TYPE=CELL;waid=14000000001:14000000002\nNICKNAME:nickname\nBDAY:01.01.1987\nX-GENDER:M\nNOTE:note\nADR;TYPE=home:;;;;;;\nADR;TYPE=work_:;;;;;;\nEND:VCARD");
            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Contoh untuk mengirim gambar sebagai Base64 menggunakan RestSharp

Untuk mengirim gambar dan dokumen dari pc atau server lokal, Anda dapat mengonversi file ke format base64 dan mengirimkannya dengan mudah melalui kode berikut:


using System;
using RestSharp;
using System.Threading.Tasks;
using System.IO;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";   

            byte[] AsBytes = File.ReadAllBytes("test.jpeg");
            String AsBase64String = Convert.ToBase64String(AsBytes);
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/image";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("image", AsBase64String);
            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

Contoh untuk mengirim dokumen sebagai Base64 menggunakan RestSharp

using System;
using RestSharp;
using System.Threading.Tasks;
using System.IO;

namespace test
{
    class Program
    {
        static async Task Main(string[] args)
        {
           
            string instanceId = "instance950"; // your instanceId
            string token = "yourtoken";         //instance Token
            string mobile = "14155552671";   

            byte[] AsBytes = File.ReadAllBytes("test.pdf");
            String AsBase64String = Convert.ToBase64String(AsBytes);
            var url = "https://api.ultramsg.com/" + instanceId  + "/messages/document";
            var client = new RestClient(url);
            var request = new RestRequest(url, Method.Post);
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddParameter("token", token);
            request.AddParameter("to", mobile);
            request.AddParameter("filename", "WhatsApp-API.pdf");
            request.AddParameter("document", AsBase64String);
            RestResponse response = await client.ExecuteAsync(request);
            var output = response.Content;
            Console.WriteLine(output);
        }
    }
}

API WhatsApp menggunakan C# dengan WebClient

itu Tidak disarankan untuk pekerjaan baru tetapi sangat mudah, jika Anda perlu melakukan permintaan http secara sinkron,WebClient masih bisa digunakan.

using System;
using System.Collections.Specialized;
using System.Net;
using System.Text;

public class Program
{
    public static void Main()
    {
        using (var wb = new WebClient())
        {
            var data = new NameValueCollection();
            data["token"] = "95041eyo9eqixrsi";
            data["body"] = "WhatsApp API on UltraMsg.com works good";
            data["to"] = "14155552671";

            var response =
                wb
                    .UploadValues("https://api.ultramsg.com/instance950/messages/chat",
                    "POST",
                    data);
            string responseInString = Encoding.UTF8.GetString(response);
            Console.WriteLine (responseInString);
        }

        ///////////
    }
}

Contoh untuk mengirim dokumen sebagai Base64 menggunakan c# & WebClient

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using System.Text;
using System.Web;

public class Program
{
    public static void Main()
    {
        using (var wb = new WebClient())
        {
            byte[] AsBytes = File.ReadAllBytes("1.pdf");
            String AsBase64String = Convert.ToBase64String(AsBytes);
            var data = new NameValueCollection();
            data["token"] = "95041eyo9eqixrsi";
            data["to"] = "14155552671";
            data["document"] = AsBase64String;
            data["filename"] = "a.pdf";
            var response =
                wb
                    .UploadValues("https://api.ultramsg.com/instance950/messages/document",
                    "POST",
                    data);
            string responseInString = Encoding.UTF8.GetString(response);
            Console.WriteLine (responseInString);
        }

        ///////////
    }
}

akhirnya, Anda dapat melihat Dokumentasi dan FAQ API Whatsapp Lengkap.