PHP ile WhatsApp mesajı gönderin
WhatsApp Web gibi WbizTool’a bağlanan kendi numaranızdan, PHP sitenizden veya uygulamanızdan WhatsApp metinleri, görselleri ve dosyaları gönderin. Gereken tek şey PHP’nin cURL eklentisi ve belgelenmiş bir endpoint’e tek bir POST.
Ücretsiz deneme: herhangi bir 30 günde 50 mesaj, kart gerekmez.
Nasıl çalışır
API anahtarınızı alın ve numaranızı bağlayın
Kaydolun, ardından WhatsApp numaranızı WhatsApp numaraları sayfasında, WhatsApp Web’deki gibi bir QR kod veya eşleştirme koduyla bağlayın. Ayarlar → API anahtarları sayfasında bir anahtar oluşturun ve Client ID’nizi kopyalayın (aşağıdaki API anahtarları kılavuzu nerede olduğunu gösterir). Numaranın kartındaki ID (örneğin ID 678) sizin
whatsapp_clientdeğerinizdir.İsteği oluşturun
client_id,api_key,whatsapp_client, telefon numarasını vemsgalanını bir diziye koyun. Diziyi PHP’nin cURL eklentisiyle JSON olarak gönderin – ya da zaten kullandığınız herhangi bir HTTP istemcisiyle, aynı alanlarla.Mesajı gönderin
Diziyi
https://wbiztool.com/api/v1/send_msg/adresine POST edin."status": 1ve birmsg_idiçeren yanıt, mesajın numaranızda sıraya alındığı anlamına gelir.Gittiğini kontrol edin
Mesaj gönderildiğinde veya başarısız olduğunda haber almak için bir
webhookURL’si verin ya damsg_idile Mesaj durumu endpoint’ine sorun.
PHP kod örnekleri
<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 0,
'country_code' => '91',
'phone' => '9876543210',
'msg' => 'Hi Aman, your order #4821 has shipped and will arrive on Thursday.',
];
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? 0) === 1) {
echo 'Queued with msg_id ' . $result['msg_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no response');
}{"status": 1, "message": "Created", "msg_id": 9817263}<?php
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 1,
'country_code' => '91',
'phone' => '9876543210',
'img_url' => 'https://example.com/offers/diwali-sale.jpg',
'msg' => 'Our Diwali sale starts today 🎉',
]),
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);
curl_close($ch);<?php
$ch = curl_init('https://wbiztool.com/api/v1/send_msg/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
// An array body (not json_encode) makes cURL send multipart/form-data.
CURLOPT_POSTFIELDS => [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 2,
'country_code' => '91',
'phone' => '9876543210',
'msg' => 'Your invoice for order #4821 is attached.',
'file_name' => 'invoice-4821.pdf',
'file' => new CURLFile('/path/to/invoice-4821.pdf', 'application/pdf', 'invoice-4821.pdf'),
],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 120,
]);
echo curl_exec($ch);
curl_close($ch);<?php
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
'whatsapp_client' => 678,
'msg_type' => 0,
'country_code' => '91',
'phone' => '9876543210',
'msg' => 'Hi Aman, a reminder that your appointment is today at 11:30 AM.',
'date' => '24/12/2026',
'time' => '09:00',
'timezone' => 'Asia/Kolkata',
];
$ch = curl_init('https://wbiztool.com/api/v1/schedule_msg/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['status'] ?? 0) === 1) {
echo 'Scheduled with msg_id ' . $result['msg_id'];
} else {
echo 'Failed: ' . ($result['message'] ?? 'no message in response');
}<?php
$msgId = 9817263;
$payload = [
'client_id' => 12345,
'api_key' => 'YOUR_API_KEY',
];
$ch = curl_init("https://wbiztool.com/api/v1/message/status/{$msgId}/");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
if (($result['message'] ?? '') === 'Unknown message id') {
echo 'No message with this ID in your workspace';
} elseif (!isset($result['status_text'])) {
echo 'Request failed: ' . ($result['message'] ?? 'no message in response');
} elseif ($result['status'] === 1) {
echo 'Sent';
} elseif ($result['status'] === 2) {
echo 'Failed: ' . $result['error'];
} else {
echo 'Status: ' . $result['status_text'];
}<?php
// webhook.php – WbizTool posts form fields, so they arrive in $_POST.
$msgId = $_POST['msg_id'] ?? '';
$status = $_POST['status'] ?? ''; // SENT, FAILED, CANCELLED or EXPIRED
error_log("WbizTool message $msgId: $status");
http_response_code(200);Neler yapabilirsiniz
Kurulacak kütüphane yok
Örnekler yalnızca PHP’nin cURL eklentisini kullanır. API JSON, form alanları ya da dosya yüklerken multipart form verisi kabul eder.
Metinler, görseller ve dosyalar
msg_typedeğerini metin için 0, görsel için 1, dosya için 2 yapın. Herkese açık birimg_urlveyafile_urlverin ya da dosyayıCURLFileile yükleyin.Sonraya zamanlayın
date(dd/mm/yyyy),time(HH:MM) veAsia/KolkataveyaAmerica/New_Yorkgibi birtimezoneile/api/v1/schedule_msg/adresine POST gönderin.Her durum için webhook’lar
webhookverin; betiğiniz form kodlu bir POST alır –$_POST['msg_id']ve$_POST['status']değerlerini okuyun (SENT,FAILED,CANCELLEDveyaEXPIRED).WordPress mi kullanıyorsunuz? Eklentiyi kullanın
WbizTool WordPress eklentisi, WooCommerce siparişleri, WP Amelia rezervasyonları ve Contact Form 7 formları için kod yazmadan WhatsApp mesajı gönderir.
Bilmeniz gerekenler
"status": 1mesajın teslim edildiği değil, sıraya alındığı anlamına gelir. Sent son başarı durumudur; API mesajın teslim edilip edilmediğini veya okunup okunmadığını bildirmez.- Mesaj gönderme hataları HTTP 400 ile döner (günlük sınırda 429); Mesaj zamanlama hataları ise genellikle HTTP 200 ve
"status": 0ile döner; bu yüzden her zaman gövdeyi çözüpstatusdeğerine bakın. - Dosya yüklerken
CURLOPT_POSTFIELDSiçinjson_encodedeğil bir dizi verin; böylece cURL, dosyafileadlı alanda olacak şekildemultipart/form-datagönderir. - API anahtarını sunucunuzda, örneğin bir ortam değişkeninde tutun. Anahtara sahip olan herkes numaralarınızdan mesaj gönderebilir; bu yüzden onu asla tarayıcıdaki JavaScript’e, bir mobil uygulamaya veya yayımladığınız koda koymayın.
- Ücretsiz deneme herhangi bir 30 günde 50 mesaj ve 1 numara içerir, kart gerekmez. Ücretli planlar ABD’de aylık $25’dan başlar (sizin fiyatınız Fiyatlar sayfasındadır) ve adil kullanım kapsamında sınırsız mesaj gönderir: numara başına günde en fazla 1.000.
- Mesajlar kendi WhatsApp numaranızdan gider, bu yüzden WhatsApp’ın kuralları geçerlidir: sizden haber bekleyen kişilere yazın.
Sık sorulan sorular
- PHP SDK’sı var mı?
- Resmi bir PHP paketi yok, gerek de yok: her çağrı, yukarıda gösterildiği gibi cURL eklentisiyle tek bir POST’tur. Her PHP HTTP istemcisi aynı URL ve alanlarla çalışır.
- PHP’den fatura PDF’si nasıl gönderirim?
msg_type2 kullanın. Herkese açık birfile_urlverin ya da dosyayıfileadlı bir alandanew CURLFile(...)ile yükleyin.file_namedeğerini uzantısıyla, örneğininvoice-4821.pdfolarak ayarlayın.- Mesajın gönderildiğini nasıl anlarım?
"status": 1ve birmsg_idiçeren yanıt, mesajın sıraya alındığı anlamına gelir.SENT,FAILED,CANCELLEDveyaEXPIREDiçeren bir POST almak için birwebhookURL’si verin ya damsg_idile Mesaj durumu endpoint’ini çağırın. Sent son durumdur: API teslim edildi veya okundu bilgisi vermez.- Telefon numarasını hangi biçimde göndermeliyim?
- Numarayı ülke koduyla (919876543210) ya da ülke kodu olmadan (9876543210)
country_code(91) ile birlikte gönderin. Boşluklar, +, tireler ve parantezler sizin için kaldırılır; yani +91 98765-43210 da çalışır. - WhatsApp Business API’ye veya Meta onayına ihtiyacım var mı?
- Hayır. WbizTool, WhatsApp Web gibi bağlanan kendi WhatsApp veya WhatsApp Business numaranızdan gönderir. Meta onayı yoktur ve onaylatılması gereken mesaj şablonu yoktur.
- Mesaj başına mı ücret alınıyor?
- Hayır. Ücretsiz deneme herhangi bir 30 günde 50 mesaj içerir. Ücretli planlar adil kullanım kapsamında, numara başına günde en fazla 1.000 olmak üzere sınırsız mesaj gönderir: ABD’de aylık Lite $25, Standard $59 ve Advanced $149; Fiyatlar sayfası ülkenizin fiyatını gösterir.
Kılavuzları okuyun
- Mesaj gönderme API’si
- Mesaj zamanlama API’si
- Mesaj durumu API’si
- WordPress eklentisi
- API anahtarları ve Client ID
- WhatsApp numaranızı bağlayın
İlgili sayfalar
- WordPressWooCommerce siparişleri, Contact Form 7 ve WP Amelia için WhatsApp mesajları.
- cURLTek bir cURL komutuyla WhatsApp mesajı gönderin, zamanlayın ve takip edin.
- PythonResmi istemciyle veya düz requests ile Python’dan WhatsApp mesajı gönderin.
- Ödeme hatırlatmalarıKendi numaranızdan aylık veya tek seferlik ödeme hatırlatmaları, fatura PDF olarak ekli.
İlk otomatik WhatsApp mesajınızı bugün gönderin
Bir hesap oluşturun, QR kodu okutun ve beş dakikadan kısa sürede mesaj gönderin.
Ücretsiz başlayınÜcretli planlar ABD’de aylık $25’dan başlar. Fiyatlar
