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);
}
}
}
Kirim Tautan
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.