Инструкция по API

Конечная точка нашего 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>
            },

            ...
         ]
      }
   

Welcome to the Personal Account!


All your orders and information about them are stored here.

You can use the wide functionality of the service without leaving your personal account.

If you are making a purchase on our site for the first time, the access code to the personal account will be sent to the email that was specified when making the order. The process of registering an account is completely automatic, you just need to place an order.