Gửi API WhatsApp
API SMSMobile hỗ trợ hai phương pháp xác thực: sử dụng Khóa API đơn giản hoặc giao thức OAuth2 với ID máy khách và bí mật máy khách.
1. Xác thực khóa API để gửi SMS
Phương pháp này yêu cầu Khóa API có thể được đưa vào làm tham số trong yêu cầu GET hoặc POST. Đây là cách đơn giản để xác thực yêu cầu API của bạn.
https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEY&waonly=yes&recipients=PHONE_NUMBER&message=MESSAGE_TO_SEND
Các thông số:
- apikey: Khóa API duy nhất của bạn.
- recipients: Số điện thoại của người nhận (Số điện thoại phải có trên WhatsApp). Nhập số điện thoại bắt đầu bằng mã quốc gia (không có '+' và không có '00'), theo sau là phần còn lại của số điện thoại của bạn. Ví dụ 191728660
- message: Tin nhắn muốn gửi (Có thể gửi nhiều dòng).
- waonly: phải có giá trị Đúng -> Bắt buộc phải chỉ định rằng chỉ nên gửi một tin nhắn WhatsApp
Ví dụ:
GET https://api.smsmobileapi.com/sendsms?apikey=YOUR_API_KEYY&waonly=yes&recipients=191728660&message=Hello%20World
2. Xác thực OAuth2 để gửi SMS
OAuth2 cung cấp phương pháp xác thực an toàn và có khả năng mở rộng hơn.
Bạn sẽ cần sử dụng ID khách hàng và bí mật khách hàng để có được mã thông báo truy cập, sau đó sẽ được đưa vào yêu cầu API của bạn bằng cách sử dụng Ủy quyền tiêu đề.
client_id và client_secret có sẵn trong bảng điều khiển của bạn, có thể truy cập sau khi cài đặt ứng dụng và tạo tài khoản trên thiết bị di động.
Tải xuống ứng dụng di động ngay bây giờ hoặc
truy cập bảng điều khiển của bạn.
Nhận mã thông báo truy cập
Để lấy mã thông báo truy cập, hãy gửi yêu cầu POST đến điểm cuối mã thông báo với ID máy khách và bí mật máy khách của bạn.
curl -X POST https://api.smsmobileapi.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=1ab0ex4b4c1ef2c800690d" \
-d "client_secret=3ed108a93d0414074b94364290b6a7348475e93a0567005"
Sử dụng Mã thông báo truy cập:
Khi bạn đã có mã thông báo truy cập, hãy đưa nó vào Ủy quyền tiêu đề yêu cầu API của bạn:
curl -X POST https://api.smsmobileapi.com/sendsms?waonly=yes \
-H "Ủy quyền: Người mang abc123xyz456" \
-H "Loại nội dung: application/x-www-form-urlencoded" \
-d "người nhận=+1234567890" \
-d "message=Xin chào"
Bạn nên sử dụng phương pháp nào?
- Sử dụng Xác thực khóa API để tích hợp nhanh chóng và dễ dàng.
- Sử dụng Xác thực OAuth2 để tăng cường bảo mật và khả năng mở rộng trong tích hợp của bạn.
Để biết thêm chi tiết, vui lòng tham khảo tài liệu đầy đủ.
Gửi tin nhắn WhatsApp
URL WSDL
https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl
Các thông số:
- recipients: Số điện thoại di động của người nhận.
- message: Tin nhắn cần gửi.
- apikey: Khóa API bạn có hoặc sẽ nhận được.
- waonly: phải có giá trị Đúng -> Cần phải chỉ rõ rằng chỉ được gửi một tin nhắn WhatsApp.
Ví dụ
require_once "lib/nusoap.php";
$client = new nusoap_client("https://api.smsmobileapi.com/sendsms/wsdl/sendsms.wsdl", true);
$error = $client->getError();
$result = $client->call("sendSms", array("waonly" =>"yes","recipients" =>$_GET['recipients'],"message" =>$_GET['message'],"apikey" =>$_GET['apikey']));
print_r($result);
Gửi WhatsApp
Lệnh cURL cơ bản
Bạn có thể sử dụng lệnh cURL sau để gửi tin nhắn WhatsApp qua SMSmobileAPI:
curl -X POST https://api.smsmobileapi.com/sendsms/?waonly=yes \
-d "recipients=PHONE_NUMBER" \
-d "message=YOUR_MESSAGE" \
-d "apikey=YOUR_API_KEY"
Ví dụ cURL trong PHP
Nếu bạn đang sử dụng PHP, đây là cách bạn có thể gửi tin nhắn WhatsApp bằng cURL:
<?php
$url = 'https://api.smsmobileapi.com/sendsms/?waonly=yes';
$data = array(
'recipients' => 'PHONE_NUMBER',
'message' => 'YOUR_MESSAGE',
'apikey' => 'YOUR_API_KEY'
);
$options = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data),
CURLOPT_RETURNTRANSFER => true,
);
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
Ví dụ PHP này trình bày cách gửi yêu cầu POST bằng cURL đến SMSmobileAPI, truyền các tham số cần thiết dưới dạng một mảng liên kết.
Gửi WhatsApp
Sử dụng Mô-đun Python chính thức của chúng tôi: https://smsmobileapi.com/python/
hoặc sử dụng cách thủ công ...
Sử dụng thư viện `requests`
Thư viện `requests` là một thư viện HTTP phổ biến và đơn giản dành cho Python. Sau đây là cách bạn có thể sử dụng nó để gửi tin nhắn WhatsApp qua SMSmobileAPI:
import requests
url = "https://api.smsmobileapi.com/sendsms/waonly=yes"
payload = {
"recipients": "PHONE_NUMBER",
"message": "YOUR_MESSAGE",
"apikey": "YOUR_API_KEY"
}
response = requests.post(url, data=payload)
print(response.text)
Ví dụ này trình bày một yêu cầu POST đơn giản tới SMSmobileAPI, gửi tin nhắn WhatsApp đến một số điện thoại cụ thể.
Sử dụng thư viện `http.client`
Thư viện `http.client` được bao gồm trong thư viện chuẩn của Python và cũng có thể được sử dụng để tương tác với API của bạn:
import http.client
import urllib.parse
conn = http.client.HTTPSConnection("api.smsmobileapi.com")
params = urllib.parse.urlencode({
"recipients": "PHONE_NUMBER",
"message": "YOUR_MESSAGE",
"apikey": "YOUR_API_KEY"
})
headers = { "Content-type": "application/x-www-form-urlencoded" }
conn.request("POST", "/sendsms/?waonly=yes", params, headers)
response = conn.getresponse()
data = response.read()
print(data.decode("utf-8"))
conn.close()
Ví dụ này cho thấy cách sử dụng thư viện `http.client` để gửi yêu cầu POST đến API. Các tham số được mã hóa URL và được gửi với tiêu đề phù hợp.
Gửi WhatsApp
Sử dụng API `fetch`
API `fetch` là một cách hiện đại và linh hoạt để thực hiện các yêu cầu HTTP trong JavaScript. Sau đây là cách bạn có thể sử dụng nó để gửi tin nhắn WhatsApp qua SMSmobileAPI:
const url = "https://api.smsmobileapi.com/sendsms/?waonly=yes";
const data = {
recipients: "PHONE_NUMBER",
message: "YOUR_MESSAGE",
apikey: "YOUR_API_KEY"
};
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: new URLSearchParams(data)
})
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.error("Error:", error));
Ví dụ này trình bày cách gửi yêu cầu POST bằng API `fetch`, được hỗ trợ trong hầu hết các trình duyệt hiện đại.
Sử dụng `XMLHttpRequest`
Nếu bạn cần hỗ trợ các trình duyệt cũ hơn, bạn có thể sử dụng đối tượng `XMLHttpRequest`:
const xhr = new XMLHttpRequest();
const url = "https://api.smsmobileapi.com/sendsms/?waonly=yes";
const data = "recipients=PHONE_NUMBER&message=YOUR_MESSAGE&apikey=YOUR_API_KEY";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(data);
Ví dụ này cho thấy cách sử dụng `XMLHttpRequest` để gửi yêu cầu POST, đảm bảo khả năng tương thích với các trình duyệt cũ hơn có thể không hỗ trợ `fetch`.
Gửi WhatsApp
Sử dụng thư viện `axios`
Thư viện `axios` là một HTTP client phổ biến cho Node.js. Sau đây là cách bạn có thể sử dụng nó để gửi tin nhắn WhatsApp qua SMSmobileAPI:
const axios = require('axios');
const url = 'https://api.smsmobileapi.com/sendsms/?waonly=yes';
const data = {
recipients: 'PHONE_NUMBER',
message: 'YOUR_MESSAGE',
apikey: 'YOUR_API_KEY'
};
axios.post(url, data)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});
Ví dụ này trình bày cách gửi yêu cầu POST bằng `axios` trong Node.js để tương tác với SMSmobileAPI.
Gửi WhatsApp
Sử dụng thư viện `Net::HTTP`
Bạn có thể sử dụng thư viện `Net::HTTP` trong Ruby để gửi tin nhắn WhatsApp qua SMSmobileAPI:
require 'net/http'
require 'uri'
uri = URI.parse("https://api.smsmobileapi.com/sendsms/?waonly=yes")
request = Net::HTTP::Post.new(uri)
request.set_form_data(
"recipients" => "PHONE_NUMBER",
"message" => "YOUR_MESSAGE",
"apikey" => "YOUR_API_KEY"
)
req_options = {
use_ssl: uri.scheme == "https",
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
puts response.body
Ví dụ này trình bày cách gửi yêu cầu POST bằng `Net::HTTP` trong Ruby đến SMSmobileAPI.