Конечная точка нашего API: https://api.proxy-solutions.net
Для аутентификации используется api-ключ - его можно получить и изменить в личном кабинете.
Ответы сервера и параметры в POST запросах передаются в формате JSON (кодировка UTF-8) При успешном выполнении запроса HTTP-статус ответа будет 200:OK
Если при выполнении запроса произошла ошибка, сервер возвращает один из HTTP-статусов:
400: Этот статус возвращается для большинства ошибок
403: Ошибка аутентификации
404: Для ошибок в URL методов и отсутствующих элементов
5**: Для наших ошибок
При этом тело ответа будет содержать JSON с описанием ошибки:
{ success: false, error: <описание ошибки> }
Справочники
Заметьте: мы никогда не меняем id существующих тарифов и локаций, только добавляем новые, так что
эти данные можно смело сохранять локально.
GET /{api_key}/locations
Возвращает список локаций (стран и городов)
Результат:
{ success: true, countries: [ { id: <int>, // id страны code: <str>, // name: <str>, cities: [ { id: <int>, name: <str> }, ... ] }, ... ] }
GET /{api_key}/services
Возвращает список тарифов
Результат: { success: true, services: [ { id: <int>, name: <str>, Название тарифа location_choiсe: Возможность выбора локации: 'none' | 'country' | 'city' description: <str> Описание }, ... ] }
POST /{api_key}/price
Расчет цены
Параметры:service_id: <int> Тариф location_id: <int> Локация quantity: <int> Количество адресов, по умолчанию 1 period: <int> Период в месяцах, по умолчанию 1 currency: <str> Код валюты, по умолчанию "USD"
Получение списка заказов
Результат:
{ success: true, service_id: <int> Тариф location_id: <int> Локация quantity: <int> Количество адресов period: <int> Период в месяцах price_base: <float> Количество адресов price: <float> Период в месяцах }
Работа с заказами
GET /{api_key}/orders
Получение списка заказов
Результат:
{ success: true, balance: <n.nn> Состояние баланса на момент запроса orders: [ { id: <int>, service_id: <int>, Действующий тариф location_id: <int>, Выбранная локация quantity: <int>, Количество адресов period: <int>, Период, в месяцах created_at: <unix timestamp>, Дата создания заказа auto_continuation: <bool>, Автопродление status: <str>, Текущее состояние заказа 'active'|'suspended'|'closed' activated_at: <unix timestamp>, Дата активации expires_at: <unix timestamp> Дата завершения }, ... ] }
GET /{api_key}/orders/{order_id}
Получение подробной информации по заказу
Результат:
{ success: true, order: { id: <int>, service_id: <int>, // Действующий тариф location_id: <int>, // Выбранная локация quantity: <int>, // Количество адресов period: <int>, // Период, в месяцах created_at: <unix timestamp>, // Дата создания заказа auto_continuation: <bool>, // Автопродление status: <str>, activated_at: <unix timestamp>, // Дата активации expires_at: <unix timestamp>, // Дата завершения credentials: { auth_type: Тип аутентификации на прокси 'login'|'ip' login: <str>, password: <str>, ip_list: [<str>,<str>] }, proxies: [ { ip: <str>, port: <int> }, ... ] } }
POST /{api_key}/orders
Добавление нового заказа
Параметры:
service_id: <int> Тариф location_id: <int> Локация quantity: <int> Количество адресов, по умолчанию 1 period: <int> Период в месяцах, по умолчанию 1 auto_continuation: <bool> Автопродление, по умолчанию true Параметр credentials указывать не обязательно. По умолчанию тип аутентификации 'login', уникальная пара login/password будет сгенерирована сервером. credentials: { auth_type: Тип аутентификации на прокси 'login'|'ip' Для auth_type == 'login' (по логину/паролю) login: <str>, password: <str>, Для auth_type == 'ip' (по белому списку ip) ip_list: [<str>,<str>] }
Результат:
{ success: true, order: { id: <int>, service_id: <int>, Действующий тариф location_id: <int>, Выбранная локация quantity: <int>, Количество адресов period: <int>, Период, в месяцах created_at: <unix timestamp>, Дата создания заказа auto_continuation: <bool>, Автопродление status: <str>, activated_at: <unix timestamp>, Дата активации expires_at: <unix timestamp>, Дата завершения credentials: { auth_type: 'login'|'ip' Тип аутентификации на прокси login: <str>, password: <str>, ip_list: [<str>,<str>] }, proxies: [ { ip: <str>, port: <int> }, ... ] } }
POST /{api_key}/orders/{id}
Изменение завершенного заказа
Параметры
period: <int> Период, в месяцах auto_continuation: <bool> Включить/выключить автопродление credentials: { auth_type: Тип аутентификации на прокси 'login'|'ip' Для auth_type == 'login' (по логину/паролю) login: <str>, password: <str>, Для auth_type == 'ip' (по белому списку ip) ip_list: [<str>,<str>] }
Результат:
{ success: true, order: { id: <int>, service_id: <int>, Действующий тариф location_id: <int>, Выбранная локация quantity: <int>, Количество адресов period: <int>, Период, в месяцах created_at: <unix timestamp>, Дата создания заказа auto_continuation: <bool>, Автопродление status: <str>, activated_at: <unix timestamp>, Дата активации expires_at: <unix timestamp>, Дата завершения credentials: { auth_type: 'login'|'ip' Тип аутентификации на прокси // Для auth_type == 'login' (аутентификация по логину/паролю) login: <str>, password: <str>, // Для auth_type == 'ip' (аутентификация по белому списку ip) ip_list: [<str>,<str>] }, proxies: [ { ip: <str>, port: <int> }, ... ] } }
POST /{api_key}/orders/{id}/continue
Продление заказа
Параметры:
append_addrs: <int> Добавление адресов. remove_addrs: [<int>, ...] Удаление конкретных адресов. Добавлять и удалять адреса можно только после завершения заказа, причем, нельзя делать и то, и другое одновременно. period: <int> Период (в месяцах) на который продлевается заказ auto_continuation: <int> Включить/выключить автопродление
Результат:
{ success: true, order: { id: <int>, service_id: <int>, Действующий тариф location_id: <int>, Выбранная локация quantity: <int>, Количество адресов period: <int>, Период, в месяцах created_at: <unix timestamp>, Дата создания заказа auto_continuation: <bool>, Автопродление status: &str>, activated_at: <unix timestamp>, Дата активации expires_at: <unix timestamp>, Дата завершения credentials: { auth_type: 'login'|'ip' Тип аутентификации на прокси // Для auth_type == 'login' (аутентификация по логину/паролю) login: &str>, password: &str>, // Для auth_type == 'ip' (аутентификация по белому списку ip) ip_list: [&str>,&str>] }, proxies: [ { ip: &str>, port: <int> }, ... ] } }
customer tools api
Прокси-чекер
POST /{api_key}/checker
Запуск проверки
Параметры:
proxies: [ { ip: <str>, port: <int>, // Необязательные параметры login: <str>, password: <str>, proto: "SOCKS4"|"SOCKS5"|"HTTP"|"HTTPS", } ]
Результат:
{ success: true, task_id: <str> // Идентификатор задания }
GET /{api_key}/checker/{task_id}
Возвращает статус проверки и результаты, если проверка завершена
Результат:
{ success: true, status: "pending"|"complete"|"failed" // Статус проверки proxies: [ { ip: <str>, port: <int>, login: <str>, password: <str>, status: "alive"|"dead", proto: "SOCKS4"|"SOCKS5"|"HTTP"|"HTTPS", location: { code: <str> // Код страны name: <str> // Страна }, latency: <int>, // Задержка в милисекундах anonymity: <int> }, ... ] }
Бесплатные прокси
POST /{api_key}/free-proxies
Получение списка прокси
Параметры:
protocols: ["SOCKS4","SOCKS5"...], // Желаемые протоколы countries: ["DE","FR",...], // Желаемые страны latency: <int>, // Максимальная задержка в миллисекундах anonimity: <int>, // Минимальный уровень анонимности
Результат:
{ success: true, proxies: [ { ip: <str>, port: <int>, proto: <str>, location: { code: <str> // Код страны name: <str> // Страна }, latency: <int>, // Задержка в милисекундах (при последней проверке) anonymity: <int> }, ... ] }