Как прописать API от timeweb?

Ссылка скопирована
11 апреля 2026 2 ответов

Всем привет!
Пишу "Методы API для виртуального хостинга" на авторизацию в timeweb что бы в будущем взять к себе на сайт инфу по тарифам.

Методы API для виртуального хостинга

$data = array( 'accept' => 'application/json', 'x-app-key' => 'appkey', 'login' => 'parol', );  $ch = curl_init('https://api.timeweb.ru/v1.2/access/'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false);  $res = curl_exec($ch); curl_close($ch);  print_r($res);

$data = array( 'accept' => 'application/json', 'x-app-key' => 'appkey', 'login' => 'parol', ); $ch = curl_init('https://api.timeweb.ru/v1.2/access/'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); curl_close($ch); print_r($res);

Только вот пишет:

{"error_code":"app_key_not_found","error_msg":"Application key not found"}

{"error_code":"app_key_not_found","error_msg":"Application key not found"}

Что я не так пишу, подскажите, пожалуйста.

Дополнительно:

В примерах запросов ключ API передается через -H - то есть заголовками, а не параметрами.

curl -H "x-app-key: {appkey}"
x-app-key нужно передавать в заголовке.

следуйте инструкици

Вообще не должно быть этого в коде приложения. https://api.timeweb.ru/v1.2/access нужен только для получения токена. Последующая аутентификация в api с помощью этого токена.

x-app-key нужно в заголовке передавать, а не в теле, как вы делаете это. Пример:

curl -X POST "https://api.timeweb.ru/v1.2/access"  -H "accept: application/json"  -H "x-app-key: 9d999b163fdc572524028201a02c9999"  -u cn90632:dhasfaGdss8F

curl -X POST "https://api.timeweb.ru/v1.2/access" -H "accept: application/json" -H "x-app-key: 9d999b163fdc572524028201a02c9999" -u cn90632:dhasfaGdss8F

Лучше всего, сначала ознакомится с документацией, прежде чем, что-то пилить:
https://timeweb.com/ru/docs/publichnyj-api-timeweb...

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Алексей Денисов Ответ

Для того чтобы подключить API от Timeweb к своему проекту, вам необходимо выполнить несколько шагов. Во-первых, вам нужно зарегистрироваться на сайте Timeweb и получить ключ API. Этот ключ будет использоваться для аутентификации при каждом запросе к API.

Далее, вы можете использовать различные методы API от Timeweb, такие как получение информации о доменах, хостинге, заказах и т.д. Для каждого метода API есть свой URL, который вы должны использовать при отправке запросов.

Пример использования API от Timeweb с помощью PHP:

Информация доступна только авторизованным пользователям.

В данном примере мы отправляем запрос к методу API "domains/getInfo" для получения информации о домене "example.com". Помните, что перед использованием API от Timeweb вам нужно ознакомиться с их документацией и правилами использования.

Другие ответы (1) Ответить на вопрос
Кирилл JS

Я работаю с Timeweb Cloud API уже более 3 лет, и вижу несколько ключевых ошибок в вашем коде. Проблема именно в авторизации, давайте разберем пошагово:

Основные ошибки:

1. Неправильная передача x-app-key

// ❌ НЕПРАВИЛЬНО (как у вас)
$data = array(
'x-app-key' => 'appkey', // В теле запроса
);

// ✅ ПРАВИЛЬНО
$headers = array(
'accept: application/json',
'x-app-key: ваш_app_key_здесь', // В заголовках
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

2. Неправильная передача логина/пароля
Timeweb использует Basic Auth, а не передачу в теле запроса.

3. Порядок работы с API

Сначала получаем токен через /access

Потом используем этот токен для других запросов

Рабочий код для получения токена:
<?php // Ваши данные из панели Timeweb $appKey = '9d999b163fdc572524028201a02c9999'; // Пример из документации $login = 'cn90632'; // Ваш ID клиента $password = 'dhasfaGdss8F'; // Ваш пароль

// Формируем запрос
$ch = curl_init('https://api.timeweb.ru/v1.2/access');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

// Заголовки
$headers = [
'accept: application/json',
'x-app-key: ' . $appKey,
'Content-Type: application/x-www-form-urlencoded'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// Basic Auth (правильный способ)
curl_setopt($ch, CURLOPT_USERPWD, $login . ':' . $password);

// Выполняем запрос
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// Проверяем ответ
if ($httpCode == 200) {
$data = json_decode($response, true);
$token = $data['access_token'];
echo "Токен получен: " . $token;
} else {
echo "Ошибка: HTTP $httpCode
";
echo "Ответ: " . $response;
}
?>

После получения токена:
Для получения тарифов нужно делать уже другой запрос с токеном:
// Запрос информации об аккаунте (пример) $ch = curl_init('https://api.timeweb.ru/v1.2/account'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = [
'accept: application/json',
'x-app-key: ' . $appKey,
'Authorization: Bearer ' . $token // Токен из первого запроса
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);

Что проверить в первую очередь:

App Key - точно ли он активен в панели Timeweb Cloud → раздел "API-ключи"

Логин - это ID клиента в формате cnXXXXX (находится в правом верхнем углу панели)

Пароль - пароль от аккаунта Timeweb (не от хостинга!)

Для работы с тарифами:
Внимательно изучите документацию, так как эндпоинты для тарифов могут отличаться:

https://api.timeweb.ru/docs

https://timeweb.com/ru/docs/publichnyj-api-timeweb-cloud

Совет по безопасности:
Никогда не храните App Key и пароли в открытом виде в коде. Используйте:

Константы в отдельном конфигурационном файле

Переменные окружения

Базу данных с шифрованием

Если после правки все равно получаете ошибки, проверьте:

Включен ли API доступ в панели Timeweb

Не заблокирован ли IP-адрес сервера

Правильность настроек CURL (таймауты, SSL)

Удачи в интеграции! Timeweb Cloud API довольно стабилен, главное — правильно настроить авторизацию.

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно