Заказ порта
Заголовок раздела «Заказ порта»Сначала выберите тариф и один из его вариантов тарификации через GET /plans.
/ports/orderСоздать один мобильный прокси-портcurl -X POST "https://api.ltesocks.io/v2/ports/order" \ -H "Authorization: Bearer ${LTESOCKS_API_TOKEN}" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 7c838e2d-7d52-42e7-aed1-528829cbd514" \ -d '{ "plan": "5349b4ddd2781d08c09890f3", "tarification": { "time": 2592000, "traffic": 51200, "price": 14500 } }'Официальный SDK
Заголовок раздела «Официальный SDK»const port = await client.ports.order({ body: { plan: 'PLAN_ID', tarification: { time: 2_592_000, traffic: 51_200, price: 14_500 }, },});
console.log(port.port);from ltesocks_sdk.models import OrderPortsBody, PlanTarification
port = client.ports.order( body=OrderPortsBody( plan="PLAN_ID", tarification=PlanTarification( time=2_592_000, traffic=51_200, price=14_500, ), ))print(port.port)<?php
use LTESocks\Dto\OrderPortsRequest;use LTESocks\Dto\PlanTarification;
$port = $client->ports()->order(new OrderPortsRequest([ 'plan' => 'PLAN_ID', 'tarification' => new PlanTarification([ 'time' => 2592000, 'traffic' => 51200, 'price' => 14500, ]),]));
echo $port->getPort();Ответ содержит созданный Port. Сохраните публичное значение port и используйте его как {id} в маршрутах портов. Создание может завершиться раньше готовности прокси-подключения и IP, поэтому проверьте возвращенный порт и соединение до отправки рабочего трафика.
Если заказ завершился по тайм-ауту, повторите точный запрос с тем же Idempotency-Key, а не отправляйте новый заказ с новым ключом. Подробнее: Идемпотентность и безопасные повторы и Сброс и готовность порта.
Список и фильтрация
Заголовок раздела «Список и фильтрация»GET /ports возвращает первую страницу. Для фильтров и пагинации используйте POST /ports:
{ "plan": "O2", "countryCode": "GB", "tags": ["production"], "page": 1, "pageSize": 100}Официальный SDK
Заголовок раздела «Официальный SDK»const result = await client.ports.filter({ body: { plan: 'PLAN_ID', countryCode: 'US', tags: ['Production1'], page: 1, pageSize: 100, },});from ltesocks_sdk.models import FilterPortsBody
result = client.ports.filter( body=FilterPortsBody( plan="PLAN_ID", country_code="US", tags=["Production1"], page=1, page_size=100, ))<?php
use LTESocks\Dto\FilterPortsRequest;
$result = $client->ports()->filter(new FilterPortsRequest([ 'plan' => 'PLAN_ID', 'countryCode' => 'US', 'tags' => ['Production1'], 'page' => 1, 'pageSize' => 100,]));Просмотр и изменение тарифа
Заголовок раздела «Просмотр и изменение тарифа»GET /ports/{id}возвращает один порт.POST /ports/{id}/extendпродлевает текущий тариф.POST /ports/{id}/planменяет тариф по идентификаторуplanи объектуtarification.
После каждого изменения прочитайте возвращенный порт и обновите сохраненные срок, остаток трафика и статус.
Сброс и удаление
Заголовок раздела «Сброс и удаление»POST /ports/{id}/reset запрашивает сброс мобильного подключения и смену IP. Успешный ответ подтверждает запрос, но не гарантирует готовность нового IP. Учитывайте cooldown и признаки завершения из раздела Сброс и готовность порта.
DELETE /ports/{id} безвозвратно удаляет порт. POST /ports/{id}/delete оставлен для совместимости. В новых интеграциях предпочитайте DELETE.