<?php
// File: send_whatsapp_message.php
// هذا السكربت يرسل رسالة واتساب فقط باستخدام RaseelPlus API

require_once __DIR__ . '/../connect.php'; // فقط إذا كنت تحتاج للوصول إلى environment

error_log("--- [send_whatsapp_message.php] Script execution started ---");

// استقبال المعطيات من POST
$receiver = filterRequest("receiver"); // رقم الهاتف
$message = filterRequest("message");  // نص الرسالة

if (empty($receiver) || empty($message)) {
    error_log("[send_whatsapp_message.php] Error: Missing receiver or message.");
    jsonError('Phone number and message are required.');
    exit();
}

// بيانات Raseel
$instanceId   = getenv("RASEEL_DRIVER_INSTANCE_ID");
$accessToken  = getenv("RASEEL_DRIVER_ACCESS_TOKEN");

// API URL
$apiUrl = 'https://raseelplus.com/api/send';

// تجهيز البيانات للإرسال
$payload = [
    "number"      => $receiver,
    "type"        => "text",
    "message"     => $message,
    "instance_id" => $instanceId,
    "access_token"=> $accessToken
];

error_log("[send_whatsapp_message.php] Sending payload: " . json_encode($payload));

// إرسال الطلب
$response = callAPI("POST", $apiUrl, json_encode($payload));
error_log("[send_whatsapp_message.php] Raw response: " . print_r($response, true));

// فحص الاستجابة
if ($response && !isset($response->error) && (isset($response->status) && $response->status == 'success' || isset($response->message))) {
    jsonSuccess(null, "Message sent successfully.");
} else {
    $errorMessage = isset($response->message) ? $response->message : "Unknown error.";
    error_log("[send_whatsapp_message.php] Failed to send: $errorMessage");
    jsonError("Failed to send message: $errorMessage");
}

// دالة cURL
function callAPI($method, $url, $data)
{
    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => $method,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_HTTPHEADER => [
            "Content-Type: application/json",
            "Accept: application/json"
        ],
    ]);
    $response = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);

    if ($err) {
        error_log("[callAPI] cURL Error: $err");
        return null;
    } else {
        return json_decode($response);
    }
}
?>