Как проверить openrouter.ai заблокирован или нет мой аккаунт и ключ
PHP-скрипт для диагностики
Загрузите файл check_openrouter.php в корень сайта и откройте его в браузере<?php $apiKey = 'ВАШ_КЛЮЧ_OPENROUTER'; // замените на ваш ключ echo "<h2>Диагностика OpenRouter</h2>"; echo "<p><b>Проверка:</b> " . date('Y-m-d H:i:s') . "</p>"; echo "<hr>"; // 1. Проверка баланса аккаунта echo "<h3>1. Проверка баланса аккаунта</h3>"; $ch = curl_init('https://openrouter.ai/api/v1/auth/key'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer ' . $apiKey ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $curlError = curl_error($ch); curl_close($ch); echo "<p>HTTP код: <b>$httpCode</b></p>"; if ($curlError) { echo "<p><b>Ошибка CURL:</b> $curlError</p>"; } else { $data = json_decode($response, true); echo "<pre>" . htmlspecialchars($response) . "</pre>"; if ($httpCode == 200 && isset($data['data'])) { echo "<p><b>Аккаунт активен.</b></p>"; echo "<p>Лимит: " . ($data['data']['limit'] ?? 'нет') . "</p>"; echo "<p>Использовано: " . ($data['data']['usage'] ?? 'нет') . "</p>"; } } echo "<hr>"; // 2. Проверка списка доступных моделей echo "<h3>2. Проверка доступа к моделям</h3>"; $ch2 = curl_init('https://openrouter.ai/api/v1/models'); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer ' . $apiKey ]); $response2 = curl_exec($ch2); $httpCode2 = curl_getinfo($ch2, CURLINFO_HTTP_CODE); curl_close($ch2); echo "<p>HTTP код: <b>$httpCode2</b></p>"; if ($httpCode2 == 200) { $models = json_decode($response2, true); $count = isset($models['data']) ? count($models['data']) : 0; echo "<p><b>Доступно моделей:</b> $count</p>"; } else { echo "<pre>" . htmlspecialchars($response2) . "</pre>"; } echo "<hr>"; // 3. Тестовый запрос к модели echo "<h3>3. Тестовый запрос к модели (openai/gpt-4o-mini)</h3>"; $ch3 = curl_init('https://openrouter.ai/api/v1/chat/completions'); curl_setopt($ch3, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch3, CURLOPT_POST, true); curl_setopt($ch3, CURLOPT_POSTFIELDS, json_encode([ 'model' => 'openai/gpt-4o-mini', 'messages' => [ ['role' => 'user', 'content' => 'Скажи OK'] ] ])); curl_setopt($ch3, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'Authorization: Bearer ' . $apiKey, 'HTTP-Referer: https://zaplata.ru', 'X-Title: Test' ]); $response3 = curl_exec($ch3); $httpCode3 = curl_getinfo($ch3, CURLINFO_HTTP_CODE); curl_close($ch3); echo "<p>HTTP код: <b>$httpCode3</b></p>"; echo "<pre>" . htmlspecialchars($response3) . "</pre>"; echo "<hr>"; echo "<h3>Расшифровка кодов ответов:</h3>"; echo "<ul>"; echo "<li><b>200</b> — всё работает, аккаунт и ключ активны</li>"; echo "<li><b>401</b> — неверный ключ или ключ отозван</li>"; echo "<li><b>402</b> — недостаточно средств на балансе</li>"; echo "<li><b>403</b> — доступ запрещён (аккаунт заблокирован, либо IP в чёрном списке)</li>"; echo "<li><b>429</b> — слишком много запросов (временная блокировка)</li>"; echo "<li><b>500/502/503</b> — проблема на стороне OpenRouter</li>"; echo "</ul>"; ?>
Используйте прокси, рабочий вариант на сегодняшний день:
Как подключить прокси proxy к OpenRouter
https://zaplata.ru/forum/ai/wpgrabber-i-openrouter-oshibka-openrouter-api-neizvestnaya-oshibka-api