
Помогите настроить скрипт по передачи данных из BAS на сервер по URL.
Текущая версия скрипта НЕ передает данные от BAS/Monstro.
Но к примеру с терминала на Windows, по такому запросу:
curl -Uri "http://mywebsite.ru/webhook.php" -Method POST -ContentType "application/json" -Body '{"test": "data", "value": 123}'
данные в скрипт передаются.
Сам код предоставляю ниже (написал мне его ИИ)
<?php
header('Content-Type: application/json');
// Проверка папки для хранения файлов
$dataDir = __DIR__ . '/received_data';
if (!file_exists($dataDir)) {
if (!mkdir($dataDir, 0777, true)) {
error_log("Ошибка: Не удалось создать директорию для хранения данных!"); // Записываем ошибку в лог
echo json_encode(["status" => "error", "message" => "Failed to create data directory"]);
exit;
}
}
// Чтение данных из тела запроса
$data = file_get_contents('php://input');
if (!$data) {
error_log("Ошибка: Получен пустой запрос!"); // Логируем ошибку
echo json_encode(["status" => "error", "message" => "No data received"]);
exit;
}
// Сохраняем данные
try {
$filename = $dataDir . '/data_' . time() . '.json';
file_put_contents($filename, $data);
// Возвращаем успешный ответ
http_response_code(200);
echo json_encode(["status" => "success", "message" => "Data saved"]);
} catch (Exception $e) {
error_log("Ошибка: Не удалось сохранить данные. " . $e->getMessage()); // Логируем ошибку
echo json_encode(["status" => "error", "message" => "Failed to save data"]);
exit;
}
Вопрос, что я делаю не так?
BAS не поддержвиаем вебхуки и POST запросы в формате Json?
P.S. использую Monstro (написан на BAS)