API відхиляє токен
Section titled “API відхиляє токен”- Переконайтеся, що заголовок починається з
Bearerі не містить лапок. - Перевірте, що секрет належить потрібному обліковому запису LTESocks.
- Якщо токен скинуто в кабінеті, замініть кожну розгорнуту копію.
- Перевірте його за допомогою операції
GET /user, що не змінює дані.
Еквівалентний діагностичний запит через офіційний SDK:
import { LTESocksClient } from '@ltesocks/sdk';
const client = LTESocksClient.withBearerToken( process.env.LTESOCKS_API_TOKEN, { language: 'en' },);const user = await client.user.get();
console.log(user.login);import os
from ltesocks_sdk import Client
with Client.with_bearer_token( os.environ["LTESOCKS_API_TOKEN"], language="en",) as client: user = client.user.get() print(user.login)<?php
use LTESocks\Client;
require __DIR__ . '/vendor/autoload.php';
$client = Client::builder() ->withBearerToken((string) getenv('LTESOCKS_API_TOKEN')) ->withLanguage('en') ->build();$user = $client->user()->get();
echo $user->getLogin();Запит завершується помилкою до виклику операції
Section titled “Запит завершується помилкою до виклику операції”Вилучіть Accept-Language або вкажіть локаль, яку підтримує API, наприклад en чи ru. Перевірте Content-Type: application/json і коректність синтаксису JSON. Не використовуйте uk, доки підтримку цього значення не буде додано до контракту API.
Порт не знайдено
Section titled “Порт не знайдено”Ідентифікатори портів діють у межах авторизованого облікового запису. Отримайте список портів цього облікового запису й передайте точне значення Port.port як {id}. Не передавайте внутрішній ObjectID, ID послуги, токен скидання або ідентифікатор тарифу. resetToken використовується лише в GET /tokens/{token}.
Скидання відхилено або здається завислим
Section titled “Скидання відхилено або здається завислим”- Залишайте щонайменше 60 секунд між користувацькими скиданнями; пул порту може вимагати довшого cooldown.
- Якщо присутні
Retry-AfterіRetry-At, дотримуйтеся їх замість негайного повтору. - Вважайте HTTP
200підтвердженням запиту, а не завершенням зміни IP. - Порівнюйте поле
ipпорту або обробляйте вебхукport.ip_changed; запис у журналі підтверджує лише реєстрацію дії.
Повну послідовність описано в розділі Скидання та готовність порту.
Запити отримують 429
Section titled “Запити отримують 429”Зменште паралельність, використовуйте більші сторінки й повторюйте запити після експоненційної затримки з випадковим відхиленням. Стандартні ліміти для методів, що змінюють дані, нижчі, ніж для GET-запитів.
Не вдається обробити VPN-відповідь
Section titled “Не вдається обробити VPN-відповідь”VPN-операції повертають двійковий архів. Не викликайте response.json(). Запишіть потік у захищений файл, перевірте статус і Content-Type, а потім перевірте архів перед використанням.
Запит на зміну даних завершився таймаутом
Section titled “Запит на зміну даних завершився таймаутом”Для операцій із підтримкою Idempotency-Key повторіть точний запит із тим самим ключем. В інших випадках не повторюйте відразу: прочитайте стан порту або історію платежів, щоб визначити результат першої спроби. Не створюйте новий ключ лише тому, що першу відповідь було втрачено.
Перелік підтримуваних операцій наведено на сторінці Ідемпотентність і безпечні повтори.
Звертаючись до підтримки, вкажіть час UTC, метод, шаблон шляху, HTTP-статус і очищену відповідь. Ніколи не додавайте bearer-токен, повні облікові дані або VPN-архів.