Данный метод позволяет отправить файл получателю через указанный канал связи без необходимости предоставления публичной ссылки. Файл передается в запросе в формате BASE64. Это особенно удобно, когда вы не можете или не хотите размещать файл в публичном доступе, но необходимо отправить его через мессенджер.
curl -X POST -d "file_name=example.pdf&file_base64=BASE64_ENCODED_FILE_CONTENT" "https://wamm.chat/api2/file_from_base64/YOUR_TOKEN/?phone=79001234567"
function sendFileBase64($token, $phone, $fileName, $filePath) {
// Читаем файл и конвертируем его в BASE64
$fileContent = file_get_contents($filePath);
$fileBase64 = base64_encode($fileContent);
// Подготавливаем URL запроса
$url = "https://wamm.chat/api2/file_from_base64/$token/?phone=$phone";
// Подготавливаем данные запроса
$postData = [
'file_name' => $fileName,
'file_base64' => $fileBase64
];
// Настраиваем cURL
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Выполняем запрос
$response = curl_exec($ch);
curl_close($ch);
// Обрабатываем ответ
if ($response !== false) {
// Преобразуем ответ в массив
$json_response = json_decode($response, true);
// Проверяем наличие ошибок
if (isset($json_response['err'])) {
if ($json_response['err'] == 0 && isset($json_response['msg_id'])) {
echo "Файл успешно отправлен, ID сообщения: " . $json_response['msg_id'];
} else {
echo "Ошибка: " . $json_response['err'];
}
} else {
echo "Не удалось обработать ответ от сервера";
}
} else {
echo "Не удалось выполнить запрос к серверу";
}
}
// Используем функцию для отправки файла
$token = "YOUR_TOKEN";
$phone = "79001234567";
$fileName = "document.pdf";
$filePath = "/path/to/document.pdf";
sendFileBase64($token, $phone, $fileName, $filePath);