דלגו לתוכן
WbizTool

שליחת הודעות WhatsApp עם PHP

שלחו טקסטים, תמונות וקבצים ב-WhatsApp מהאתר או מהאפליקציה שלכם ב-PHP, מהמספר שלכם שמקושר ל-WbizTool כמו WhatsApp Web. כל מה שצריך הוא הרחבת cURL של PHP ובקשת POST אחת לנקודת קצה מתועדת.

ניסיון חינם: 50 הודעות בכל 30 יום, בלי כרטיס אשראי.

איך זה עובד

  1. קבלו מפתח API וקשרו את המספר שלכם

    הירשמו, ואז קשרו את מספר ה-WhatsApp שלכם בדף מספרי WhatsApp עם קוד QR או קוד צימוד, כמו WhatsApp Web. בהגדרות ← מפתחות API, צרו מפתח והעתיקו את ה-Client ID שלכם (המדריך למפתחות API למטה מראה איפה). המזהה שעל הכרטיס של המספר (כמו מזהה 678) הוא ה-whatsapp_client שלכם.

  2. בנו את הבקשה

    שימו את client_id, api_key, whatsapp_client, מספר הטלפון ו-msg במערך. שלחו אותו כ-JSON עם הרחבת cURL של PHP – או עם כל לקוח HTTP שאתם כבר משתמשים בו, עם אותם שדות.

  3. שלחו את ההודעה

    שלחו אותו ב-POST אל https://wbiztool.com/api/v1/send_msg/. תגובה עם "status": 1 ו-msg_id פירושה שההודעה נכנסה לתור במספר שלכם.

  4. בדקו שההודעה יצאה

    העבירו כתובת webhook כדי לדעת מתי ההודעה נשלחת או נכשלת, או שאלו את נקודת הקצה של סטטוס ההודעה עם ה-msg_id.

דוגמאות קוד: PHP

שליחת טקסט
<?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}
שליחת תמונה מכתובת URL
<?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);
שליחת PDF (העלאת קובץ)
<?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'];
}
קבלת ה-Webhook של הסטטוס
<?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);

מה אפשר לעשות

  • בלי ספרייה להתקנה

    הדוגמאות משתמשות רק בהרחבת cURL של PHP. ה-API מקבל JSON, שדות טופס, או multipart form data כשאתם מעלים קובץ.

  • טקסטים, תמונות וקבצים

    הגדירו msg_type ל-0 לטקסט, ל-1 לתמונה או ל-2 לקובץ. תנו img_url או file_url ציבוריים, או העלו את הקובץ עם CURLFile.

  • תזמון למועד מאוחר יותר

    שלחו POST אל /api/v1/schedule_msg/ עם date (dd/mm/yyyy), time (HH:MM) ו-timezone כמו Asia/Kolkata או America/New_York.

  • Webhooks לכל סטטוס

    העבירו webhook, והסקריפט שלכם יקבל POST מקודד כטופס – קראו את $_POST['msg_id'] ואת $_POST['status'] (SENT, FAILED, CANCELLED או EXPIRED).

  • ב-WordPress? השתמשו בתוסף

    תוסף ה-WordPress של WbizTool שולח הודעות WhatsApp על הזמנות WooCommerce, תורים ב-WP Amelia וטפסי Contact Form 7 בלי קוד.

טוב לדעת

  • "status": 1 פירושו שההודעה נכנסה לתור, לא שהיא הגיעה. „נשלחה” הוא מצב ההצלחה הסופי; ה-API לא מדווח אם ההודעה הגיעה או נקראה.
  • שגיאות של שליחת הודעה חוזרות עם HTTP 400 (429 במגבלה היומית); שגיאות של תזמון הודעה חוזרות בדרך כלל עם HTTP 200 ו-"status": 0, אז תמיד פענחו את הגוף ובדקו את status.
  • בהעלאת קובץ, העבירו מערך ל-CURLOPT_POSTFIELDS, ולא json_encode, כדי ש-cURL ישלח multipart/form-data עם הקובץ בשדה בשם file.
  • שמרו את מפתח ה-API בשרת שלכם, למשל במשתנה סביבה. כל מי שמחזיק בו יכול לשלוח מהמספרים שלכם, אז לעולם אל תשימו אותו ב-JavaScript של הדפדפן, באפליקציה לנייד או בקוד שאתם מפרסמים.
  • בתקופת הניסיון החינמית יש 50 הודעות בכל 30 יום ומספר אחד, בלי כרטיס אשראי. תוכניות בתשלום מתחילות ב-25$ לחודש בארה״ב (המחיר שלכם מופיע בדף המחירים) ושולחות הודעות ללא הגבלה במסגרת שימוש הוגן: עד 1,000 ביום לכל מספר.
  • ההודעות יוצאות ממספר ה-WhatsApp שלכם, ולכן הכללים של WhatsApp עצמה חלים: שלחו הודעות לאנשים שמצפים לשמוע מכם.

שאלות

יש SDK ל-PHP?
אין חבילת PHP רשמית, ולא צריך כזו: כל קריאה היא POST אחד עם הרחבת cURL, כמו שמוצג למעלה. כל לקוח HTTP של PHP עובד עם אותה כתובת ואותם שדות.
איך שולחים חשבונית PDF מ-PHP?
השתמשו ב-msg_type 2. תנו file_url ציבורי, או העלו את הקובץ עם new CURLFile(...) בשדה בשם file. הגדירו file_name עם הסיומת שלו, כמו invoice-4821.pdf.
איך יודעים שההודעה נשלחה?
תגובה עם "status": 1 ו-msg_id פירושה שההודעה נכנסה לתור. העבירו כתובת webhook כדי לקבל POST עם SENT, FAILED, CANCELLED או EXPIRED, או קראו לנקודת הקצה של סטטוס ההודעה עם ה-msg_id. „נשלחה” הוא המצב הסופי: ה-API לא מדווח אם ההודעה הגיעה או נקראה.
באיזה פורמט לשלוח את מספר הטלפון?
שלחו את המספר עם קידומת המדינה (919876543210), או בלעדיה (9876543210) יחד עם country_code (91). רווחים, +, מקפים וסוגריים מוסרים בשבילכם, כך שגם ‎+91 98765-43210 עובד.
צריך את WhatsApp Business API או אישור של Meta?
לא. WbizTool שולחת ממספר ה-WhatsApp או ה-WhatsApp Business שלכם, שמקושר כמו WhatsApp Web. אין אישור של Meta ואין תבניות הודעה שצריך לאשר.
יש תשלום לכל הודעה?
לא. תקופת הניסיון החינמית כוללת 50 הודעות בכל 30 יום. תוכניות בתשלום שולחות הודעות ללא הגבלה במסגרת שימוש הוגן, עד 1,000 ביום לכל מספר: Lite ב-25$, Standard ב-59$ ו-Advanced ב-149$ לחודש בארה״ב; בדף המחירים מופיע המחיר במדינה שלכם.

קראו את המדריכים

עוד בנושא

שלחו היום את הודעת ה-WhatsApp האוטומטית הראשונה שלכם

צרו חשבון, סרקו את קוד ה-QR ושלחו הודעה בפחות מחמש דקות.

התחילו בחינם

תוכניות בתשלום מתחילות ב-25$ לחודש בארה״ב. מחירים