كيفية التعامل مع الأخطاء الشائعة في WhatsApp API من موقع Whats360
في عالم الأعمال الحديث، أصبحت تطبيقات المراسلة الفورية مثل WhatsApp أداة أساسية للتواصل مع العملاء. سواء كنت ترغب في إرسال إشعارات، تأكيدات طلبات، أو حتى عروض ترويجية، فإن WhatsApp API يوفر طريقة فعالة لأتمتة هذه العملية. في هذا المقال، سنتعلم كيفية التعامل مع الأخطاء الشائعة مثل 400 Bad Request
، 401 Unauthorized
، و500 Internal Server Error
عند استخدام WhatsApp API من موقع Whats360، مع أمثلة برمجية بلغات مختلفة مثل Node.js، Python، PHP، وC#.
ما هي الأخطاء الشائعة في WhatsApp API؟
عند إرسال رسالة عبر WhatsApp API، قد تواجه أخطاءً مختلفة تعيق عملية الإرسال. هذه الأخطاء يمكن أن تكون ناتجة عن:
- مشاكل في البيانات: مثل إدخال بيانات غير صحيحة (مثل رقم هاتف غير صحيح أو API Key غير صالح).
- مشاكل في المصادقة: مثل استخدام API Key غير صحيح أو منتهي الصلاحية.
- مشاكل في الخادم: مثل تعطل الخادم أو صيانته.
المتطلبات الأساسية
قبل البدء، تأكد من أن لديك:
- حساب WhatsApp Business API: يمكنك الحصول عليه من خلال مزودي خدمات WhatsApp API مثل Whats360.
- API Keys: المفتاح الخاص بك للوصول إلى API.
- Client ID: معرف العميل الخاص بك.
- Endpoint URL: عنوان URL الخاص بـ API (مثل
https://toggaar.whats360.live/api/user/v2/send_message
).
شرح الأخطاء الشائعة
1. `400 Bad Request`
هذا الخطأ يحدث عندما تكون البيانات المرسلة غير صحيحة أو ناقصة. على سبيل المثال، إذا كان رقم الهاتف غير صحيح أو النص المرسل فارغًا.
2. `401 Unauthorized`
هذا الخطأ يحدث عندما تكون عملية المصادقة فاشلة. على سبيل المثال، إذا كان API Key غير صحيح أو منتهي الصلاحية.
3. `500 Internal Server Error`
هذا الخطأ يحدث عندما يكون هناك مشكلة في الخادم. على سبيل المثال، إذا كان الخادم معطلًا أو تحت الصيانة.
الكود البرمجي للتعامل مع الأخطاء الشائعة
سنقدم أمثلة برمجية بلغات مختلفة لإرسال رسالة والتعامل مع الأخطاء الشائعة.
باستخدام Node.js
const fetch = require('node-fetch');
async function sendMessage() {
const url = 'https://toggaar.whats360.live/api/user/v2/send_message';
const clientId = 'CLIENT_ID'; // استبدل بمعرف العميل الخاص بك
const mobile = '919999999999'; // استبدل برقم الهاتف المستلم
const text = 'Hello world'; // النص المراد إرساله
const token = 'YOUR_API_KEYS'; // استبدل بمفتاح API الخاص بك
const body = {
client_id: clientId,
mobile: mobile,
text: text
};
const headers = {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
};
try {
const response = await fetch(url, {
method: 'POST',
headers: headers,
body: JSON.stringify(body)
});
if (!response.ok) {
if (response.status === 400) {
console.error('Error 400: Bad Request - تحقق من البيانات المرسلة.');
} else if (response.status === 401) {
console.error('Error 401: Unauthorized - تحقق من API Key.');
} else if (response.status === 500) {
console.error('Error 500: Internal Server Error - الخادم معطل.');
} else {
console.error('Error:', response.statusText);
}
return;
}
const data = await response.json();
console.log('Success:', data.message);
} catch (error) {
console.error('Network Error:', error);
}
}
sendMessage();
باستخدام Python
import requests
import json
def send_message():
url = 'https://toggaar.whats360.live/api/user/v2/send_message'
client_id = 'CLIENT_ID' # استبدل بمعرف العميل الخاص بك
mobile = '919999999999' # استبدل برقم الهاتف المستلم
text = 'Hello world' # النص المراد إرساله
token = 'YOUR_API_KEYS' # استبدل بمفتاح API الخاص بك
body = {
'client_id': client_id,
'mobile': mobile,
'text': text
}
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {token}'
}
try {
response = requests.post(url, headers=headers, json=body)
if response.status_code == 400:
print('Error 400: Bad Request - تحقق من البيانات المرسلة.')
elif response.status_code == 401:
print('Error 401: Unauthorized - تحقق من API Key.')
elif response.status_code == 500:
print('Error 500: Internal Server Error - الخادم معطل.')
else:
response.raise_for_status() # يرفع استثناء إذا كان هناك خطأ في الطلب
data = response.json()
print('Success:', data.get('message'))
except requests.exceptions.RequestException as error:
print('Network Error:', error)
send_message()
باستخدام PHP
function sendMessage() {
$url = 'https://toggaar.whats360.live/api/user/v2/send_message';
$clientId = 'CLIENT_ID'; // استبدل بمعرف العميل الخاص بك
$mobile = '919999999999'; // استبدل برقم الهاتف المستلم
$text = 'Hello world'; // النص المراد إرساله
$token = 'YOUR_API_KEYS'; // استبدل بمفتاح API الخاص بك
$body = [
'client_id' => $clientId,
'mobile' => $mobile,
'text' => $text
];
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
];
$options = [
'http' => [
'header' => implode("\r\n", $headers),
'method' => 'POST',
'content' => json_encode($body)
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response === FALSE) {
echo 'Network Error: Unable to send message.';
} else {
$http_response_header = $http_response_header ?? [];
$status_line = $http_response_header[0] ?? 'HTTP/1.1 200 OK';
preg_match('{HTTP\/\S*\s(\d{3})}', $status_line, $match);
$status = $match[1] ?? 200;
if ($status == 400) {
echo 'Error 400: Bad Request - تحقق من البيانات المرسلة.';
} elseif ($status == 401) {
echo 'Error 401: Unauthorized - تحقق من API Key.';
} elseif ($status == 500) {
echo 'Error 500: Internal Server Error - الخادم معطل.';
} else {
$data = json_decode($response, true);
echo 'Success: ' . $data['message'];
}
}
}
sendMessage();
باستخدام C#
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
await SendMessage();
}
static async Task SendMessage()
{
var url = "https://toggaar.whats360.live/api/user/v2/send_message";
var clientId = "CLIENT_ID"; // استبدل بمعرف العميل الخاص بك
var mobile = "919999999999"; // استبدل برقم الهاتف المستلم
var text = "Hello world"; // النص المراد إرساله
var token = "YOUR_API_KEYS"; // استبدل بمفتاح API الخاص بك
var body = new
{
client_id = clientId,
mobile = mobile,
text = text
};
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
var response = await client.PostAsJsonAsync(url, body);
if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
{
Console.WriteLine("Error 400: Bad Request - تحقق من البيانات المرسلة.");
}
else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
Console.WriteLine("Error 401: Unauthorized - تحقق من API Key.");
}
else if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
{
Console.WriteLine("Error 500: Internal Server Error - الخادم معطل.");
}
else
{
response.EnsureSuccessStatusCode(); // يرفع استثناء إذا كان هناك خطأ في الطلب
}
var data = await response.Content.ReadAsAsync();
Console.WriteLine("Success: " + data.message);
}
catch (Exception error)
{
Console.WriteLine("Network Error: " + error.Message);
}
}
}
}
نصائح للتعامل مع الأخطاء الشائعة
- تحقق من صحة البيانات: تأكد من أن جميع الحقول المطلوبة (مثل
client_id
,mobile
,text
) صحيحة وقبل إرسال الطلب. - تحقق من API Key: تأكد من أن API Key صحيح وغير منتهي الصلاحية.
- سجل الاستجابات: قم بتسجيل الاستجابات لأغراض التحليل والمراجعة لاحقًا.
- اختبار النماذج: تأكد من أن النماذج معتمدة من قبل WhatsApp قبل استخدامها.
الخاتمة
التعامل مع الأخطاء الشائعة في WhatsApp API من Whats360 هو جزء أساسي من عملية أتمتة التواصل مع العملاء. من خلال فهم كيفية تفسير الاستجابات وأخذ الإجراءات المناسبة، يمكنك تحسين تجربة العملاء وضمان نجاح عمليات الإرسال.
إذا كنت تبحث عن مزيد من التفاصيل أو لديك أسئلة، فلا تتردد في التواصل مع فريق دعم Whats360 أو استشارة الوثائق الرسمية.