Данный метод позволяет отправить файл получателю через указанный канал связи без необходимости предоставления публичной ссылки. Файл передается в запросе в формате BASE64. Это особенно удобно, когда вы не можете или не хотите размещать файл в публичном доступе, но необходимо отправить его через мессенджер.
Пример запроса:
POST https://wamm.chat/api2/file_from_base64/{token}/?phone={phone}
или
POST https://wamm.chat/api2/file_from_base64/{token}/{phone}
Параметры запроса
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
token | string | Да | API-токен, полученный в настройках |
phone | string | Да | Номер телефона в международном формате (например, 79001234567). Для Telegram вместо номера можно указывать ID чата или никнейм, для MAX - ID чата |
quote_msg_id | integer | Нет | ID сообщения, на которое отвечаем (GET) |
file_name | string | Да | Имя передаваемого файла (в теле POST-запроса) |
file_base64 | string | Да | Тело файла в кодировке BASE64 (в теле POST-запроса) |
Ответ при успехе
{"err":0,"msg_id":1234567}
Возможные ошибки
Код ошибки | Описание |
---|---|
token fail | Ошибка в токене |
acc not authorized | Подключение к WhatsApp не авторизовано |
phone fail | Ошибка в номере телефона |
no WhatsApp on the number | Нет WhatsApp с таким номером |
phone not checked for WhatsApp, please retry | Не проверен номер на наличие WhatsApp |
url fail | Пустая ссылка или в ней отсутствует http / https |
quote_msg_id fail, not found | Не найдено сообщение для ответа |
Примеры использования
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);