'error', 'message' => 'No phone number']); exit; } // Формируем текст СМС-сообщения по вашему шаблону $message = "Ваша бронь подтверждена\n"; $message .= ($name ? $name : "Клиент") . "\n"; $message .= ($date ? $date : date('d.m.Y')) . "\n"; $message .= ($time ? $time : "") . "\n"; $message .= ($guests ? $guests . " чел." : ""); $message = trim($message); // Отправка запроса в API SMS-Ассистента $url = 'https://sms-assistent.by'; $api_data = [ 'login' => SMS_LOGIN, 'password' => SMS_PASSWORD, 'command' => 'send_sms', 'sms' => [ [ 'sender' => SMS_SENDER, 'recipient' => $phone, 'text' => $message ] ] ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($api_data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); $response = curl_exec($ch); curl_close($ch); // Анализируем ответ СМС-сервиса $res_data = json_decode($response, true); if (!isset($res_data['status']) || $res_data['status'] !== 'success') { // Если СМС-ассистент вернул ошибку, записываем её в лог-файл file_put_contents('sms_error_log.txt', "[" . date('Y-m-d H:i:s') . "] Ошибка СМС-Ассистента: " . $response . " | Текст сообщения: " . $message . "\n", FILE_APPEND); } // Всегда отдаем Тильде статус ok, чтобы форма на сайте завершалась успешно для пользователя echo json_encode(['status' => 'ok']); ?>
Made on
Tilda