APIинтерфейсная документация
1.Базовый информационный интерфейс
1. получать текущую информацию о пользователе
**Метод запроса:GET ** Путь запроса:/api/users/me/info
** Параметры запроса** ни одного
** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"username": "socks5", //имя пользователя
"email": "user@example.com", //почта
"api_key": "string", // ключ api
"set_password_status": 0 //Установить пароль 0: not set, 1: set, default 1
},
"message": "success" //Возвратный результат, тип стр
}2 Получить информацию о кошельке
**Метод запроса:GET ** Путь запроса:/api/users/wallet/info
** Параметры запроса** ни одного
** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"dc_price": 200, //Цена единицы трафика дата-центра (центы)
"res_price": 533, //Стоимость единицы жилого трафика (центы)
"mobile_price": 1104, //Стоимость единицы мобильного трафика (центы)
"total_recharge": 136300, //Полная подзарядка (центы)
"total_consume": 131300, //Общее потребление (центы)
"balance": 5000 //Баланс (центы)
},
"message": "success" //Возвратный результат, тип стр
}2. Интерфейс управления субсчетом
1. Создание субсчета
**Метод запроса:POST ** Путь запроса:/api/users/subuser/create
** Параметры запроса**
{
"username": "string", //Имя субсчета
"password": "string", //Пароль подсчета
"remark": "", //Замечание
"status": "active", //Активный статус субсчета: активированный неактивный: не активированный
"res_traffic_limit": 0, //Используйте ограничение движения в жилых помещениях (GB), 0 означает отсутствие ограничения
"dc_traffic_limit": 0, //Лимит трафика дата-центра (GB), 0 означает отсутствие ограничения
"mobile_traffic_limit": 0 //Использование мобильного лимита данных (GB) 0 означает отсутствие лимита
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}2. Получить список суб-счета
**Метод запроса:GET ** Путь запроса:/api/users/subuser/list
** Параметры запроса**
{
"page": 1, //Индекс подкачки, тип int, опциональный, по умолчанию 1
"page_size": 10, //Количество элементов пагинации, тип int, опционально, по умолчанию 10
"user_name": "", //имя пользователя
"status":"active" //Активный статус субсчета: активированный неактивный: не активированный
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"records": [
{
"id": 0, //Идентификатор субсчета
"username": "string", //Имя субсчета
"password": "string", //Пароль подсчета
"remark": "", //Замечание
"status": "active", //Активный статус субсчета: активированный неактивный: не активированный
"res_traffic_limit": 0, //Используйте ограничение движения в жилых помещениях (GB), 0 означает отсутствие ограничения
"dc_traffic_limit": 0, //Лимит трафика дата-центра (GB), 0 означает отсутствие ограничения
"mobile_traffic_limit": 0, //Использование мобильного лимита данных (GB) 0 означает отсутствие лимита
"used_res_traffic": 0, //Жилой трафик (Byte)
"used_dc_traffic": 0, //Использованный трафик дата-центра (Byte)
"used_mobile_traffic": 0, //Используемые мобильные данные (Byte)
"create_time": "2025-09-14 06:22:26", //Время создания
"update_time": "2025-09-14 06:22:26" //Время модификации
}
],
"total": 0 //Общее количество пунктов
},
"message": "success" //Возвратный результат, тип стр
}3. Обновить субсчет
**Метод запроса:POST ** Путь запроса:/api/users/subuser/update
** Параметры запроса**
{
"id": 0, //Идентификатор субсчета, требуется
"remark": "string", //Замечания, факультативные
"password": "string", //Пароль подсчета, опциональный
"status": "active", //Активный статус субсчета: активированный неактивный: не активированный, необязательный
"res_traffic_limit": 0, //Используйте ограничение движения в жилых помещениях (GB), 0 означает отсутствие ограничения, необязательно
"dc_traffic_limit": 0, //Лимит трафика дата-центра (GB), 0 означает отсутствие ограничения
"mobile_traffic_limit": 0 //Используйте мобильный лимит данных (GB), 0 означает отсутствие ограничения, необязательно
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}4. Получить информацию о субсчете
**Метод запроса:GET ** Путь запроса:/api/users/subuser/{subuser_id}
** Параметры запроса**
{
"subuser_id": 0 //Идентификатор субсчета, требуется
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"id": 0, //Идентификатор субсчета
"username": "string", //Имя субсчета
"password": "string", //Пароль подсчета
"remark": "", //Замечание
"status": "active", //Активный статус субсчета: активированный неактивный: не активированный
"res_traffic_limit": 0, //Используйте ограничение движения в жилых помещениях (GB), 0 означает отсутствие ограничения
"dc_traffic_limit": 0, //Лимит трафика дата-центра (GB), 0 означает отсутствие ограничения
"mobile_traffic_limit": 0, //Использование мобильного лимита данных (GB) 0 означает отсутствие лимита
"used_res_traffic": 0, //Жилой трафик (Byte)
"used_dc_traffic": 0, //Использованный трафик дата-центра (Byte)
"used_mobile_traffic": 0, //Используемые мобильные данные (Byte)
"create_time": "2025-09-14 06:22:26", //Время создания
"update_time": "2025-09-14 06:22:26" //Время модификации
},
"message": "success" //Возвратный результат, тип стр
}3. интерфейс управления белым списком
1. Получить белый список
**Метод запроса:GET ** Путь запроса:/api/users/proxy/whitelist
** Параметры запроса**
{
"page": 1, //Индекс подкачки, тип int, опциональный, по умолчанию 1
"page_size": 10, //Количество элементов пагинации, тип int, опционально, по умолчанию 10
"ip": "127.0.0.1" //IP адрес
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"records": [
{
"id": 0, //белый список id
"ip": "127.0.0.1", //IP адрес
"remark": "string", //Замечание
"create_time": "2025-09-14 06:49:12" //Время создания
}
],
"total": 0 //Общее количество пунктов
},
"message": "success" //Возвратный результат, тип стр
}2 Добавить белый список
**Метод запроса:POST ** Путь запроса:/api/users/proxy/add-whitelist
** Параметры запроса**
{
"ip": "127.0.0.1", //IP адрес, требуется
"remark": "string" //Замечание
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}3.Обновить белый список
**Метод запроса:GET ** Путь запроса:/api/users/proxy/update-whitelist
** Параметры запроса**
{
"id": 1, //Белый список, требуется
"remark": "" //Замечания, необходимые
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}4. Исключить белый список
**Метод запроса:GET ** Путь запроса:/api/users/proxy/delete-whitelist
** Параметры запроса**
{
"id":1, //Белый список, требуется
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}4. Интерфейс управления трафиком
1. Получить список пакетов трафика системы
**Метод запроса:GET ** Путь запроса:/api/users/traffic/packages
** Параметры запроса**
{
"proxy_type":"residential", //Тип трафика: residential — жилой IP, datacenter — IP дата-центра, mobile — мобильный IP
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"additionalProp1": [
{
"id": 0, //Идентификатор транспортного средства
"traffic_gb": 0, //Трафик (GB)
"price": 0, //Единичная цена (центы)
"duration": 0, //Время покупки (дни)
"plan_type": "personal", //Тип пакета трафика, персональный: индивидуальный, предпринимательский: предпринимательский: пользовательский: индивидуальный
"is_hot": false, //Это популярно, ложно: нет, верно: да
"extra_add_traffic": 0, //Дополнительный бесплатный трафик (GB)
"plan_desc": "string", //Описание транспортного пакета
"create_time": "2025-09-14 07:00:23", //Время создания
"update_time": "2025-09-14 07:00:23" //Время обновления
}
],
},
"message": "success" //Возвратный результат, тип стр
}2.Покупка пакета трафика системы
Примечание: Поддерживаются только вычеты из кошелька, пожалуйста, убедитесь, что у вас есть достаточный баланс!
**Метод запроса:GET ** Путь запроса:/api/users/traffic/packages/purchase
** Параметры запроса**
{
"traffic_package_id":100, //Идентификатор транспортного пакета, требуется
"payment_type":"wallet_only" //Способ оплаты, только кошелек: требуется платеж кошелька
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}3. Получить купленный пакет трафика
**Метод запроса:GET ** Путь запроса:/api/users/traffic/packages/current
** Параметры запроса** ни одного
** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"additionalProp1": {
"total_traffic": 0, //Общий трафик пакета трафика (Byte)
"cost_traffic": 0, //Потребление пакетов трафика (Byte)
"status": "active", //Статус пакета трафика, активен: включен, неактивен: отключен
"expire_time": "2025-09-14:32:33", //Срок действия транспортного пакета
"remark": "string", //Замечание
"strategy": {
"auto_remind": "inactive", //Включить ли напоминание, неактивно: выключить, активно: включить
"remind_gb": 1, //Напоминание о оставшемся балансе (GB)
"remind_days": 1, //Напоминание о оставшихся днях
"auto_rebuy": "inactive", //Включить автоматическое обновление, неактивное: выключено, активное: включено
"rebuy_gb": 1, //Сохранение для обновления (GB)
"rebuy_days": 1, //Дни, оставшиеся на обновление
"rebuy_package_id": 0, //Обновление ID пакета трафика
"rebuy_traffic_gb": 0, //Обновление пакета трафика (GB)
"rebuy_plan_type": "personal", //Тип пакета обновления трафика, персональный: индивидуальный, предпринимательский: предпринимательский, пользовательский: индивидуальный
"rebuy_status": "normal" //Обновление статуса, нормальное: нормальное, недостаточное: недостаточное равновесие, неудачное: обновление не удалось
}
}
},
"message": "success" //Возвратный результат, тип стр
}4. Получить тренд трафика основного счета за последние 30 дней
Примечание: принимаются только последние 30 дней данных
**Метод запроса:GET ** Путь запроса:/api/users/traffic/trend
** Параметры запроса**
{
"start_date":"2025-09-14", //Время начала, необходимое
"end_date":"2025-09-14", //Время окончания, необходимое
"proxy_type":"residential" //Тип трафика: residential — жилой IP, datacenter — IP дата-центра, mobile — мобильный IP; необязательное поле
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"residential": [
{
"proxy_type": "residential", //Тип трафика: residential — жилой IP, datacenter — IP дата-центра, mobile — мобильный IP
"package_traffic": 0, //Потребление пакетов трафика (Byte)
"wallet_traffic": 0, //Трафик потребления кошелька (Byte)
"total_traffic": 0, //Потребляемый трафик (Byte)
"day": "2025-09-07", //дата
"remark": "" //Замечание
}
]
},
"message": "success" //Возвратный результат, тип стр
}5. Получение трафика субпользователей за последние 30 дней
Примечание: принимаются только последние 30 дней данных
**Метод запроса:GET ** Путь запроса:/api/users/traffic/{subuser_id}/trend
** Параметры запроса**
{
"subuser_id": 100, //Subuser ID требуется
"start_date":"2025-09-14", //Время начала, необходимое
"end_date":"2025-09-14", //Время окончания, необходимое
"proxy_type":"residential" //Тип трафика: residential — жилой IP, datacenter — IP дата-центра, mobile — мобильный IP; необязательное поле
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"residential": [
{
"proxy_type": "residential", //Тип трафика: residential — жилой IP, datacenter — IP дата-центра, mobile — мобильный IP
"package_traffic": 0, //Потребление пакетов трафика (Byte)
"wallet_traffic": 0, //Трафик потребления кошелька (Byte)
"total_traffic": 0, //Потребляемый трафик (Byte)
"day": "2025-09-07", //дата
"remark": "" //Замечание
}
]
},
"message": "success" //Возвратный результат, тип стр
}5.Статический интерфейс прокси
1. Получить статический список стран проживания
**Метод запроса:GET ** Путь запроса:/api/users/static/res/country
** Параметры запроса** ни одного
** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": [
{
"country_code": "hk", //код страны
"country_name": "Hong Kong" // страна или регион
}
],
"message": "success" //Возвратный результат, тип стр
}2. Получить список стран для стат. IP дата-центра и IPv6
**Метод запроса:GET ** Путь запроса:/api/users/static/dc/country
** Параметры запроса**
{
"ip_type": "ipv4" //Тип IP: ipv4/ipv6, требуемый по умолчанию ipv4
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": [
{
"country_code": "hk", //код страны
"country_name": "Hong Kong" // страна или регион
}
],
"message": "success" //Возвратный результат, тип стр
}3 Получить прайс-лист
**Метод запроса:GET ** Путь запроса:/api/users/static/price/package
** Параметры запроса**
{
"proxy_type": "res" //Тип прокси: res — статический резидентный IP, dc — стат. IP дата-центра, ipv6 — IPv6
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": [
{
"id": 0, //Агент.
"proxy_type": "res", //Тип агента
"count": 0, //количество
"discount": 0, //Скидка (0-100) долго
"period": 0, //Срок действия (единица: дни)
"price": 0, //Цена (единица: центы)
"amount": 0 //Сумма (единица: центы)
}
],
"message": "success" //Возвратный результат, тип стр
}4.Создание статического порядка
Примечание: Поддерживаются только вычеты из кошелька, пожалуйста, убедитесь, что у вас есть достаточный баланс!
**Метод запроса:POST ** Путь запроса:/api/users/static/order/create
** Параметры запроса**
{
"proxy_type": "res", //Тип прокси: res — жилой, dc — дата-центр, ipv6 — IPv6; обязательно
"country": "us", //Требуемый код страны
"protocol": "http", //Протокол, http, socks5, http/socks5
"price_package_id": 0, //Идентификатор ценового пакета, требуется
"payment_type": "wallet_only" //Тип оплаты, только кошелек: платеж кошелька
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}5. Обновление статического порядка
Примечание: Поддерживаются только вычеты из кошелька, пожалуйста, убедитесь, что у вас есть достаточный баланс!
**Метод запроса:POST ** Путь запроса:/api/users/static/order/rebuy
** Параметры запроса**
{
"proxy_type": "res", //Тип прокси: res — жилой, dc — дата-центр, ipv6 — IPv6; обязательно
"proxy_ids": "10000,10001", //Идентификатор агента, требуется
"payment_type": "wallet_only" //Тип оплаты, только кошелек: платеж кошелька
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}6. Получить статический список IP-адресов
**Метод запроса:POST ** Путь запроса:/api/users/static/res/list
** Параметры запроса**
{
"page": 1, //Индекс подкачки, тип int, опциональный, по умолчанию 1
"page_size": 10, //Количество элементов пагинации, тип int, опционально, по умолчанию 10
"protocol": "http", //Протокол,http,socks5,http/socks5
"proxy_address": "127.0.0.1", //IP адрес
"order_no": "16987AE6182", //Номер заказа
"expire_start": "2025-09-1412:50:06.43", //Время начала срока годности
"expire_end": "2025-09-14 12:50:06.43" //Время окончания срока годности
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"records": [
{
"order_no": "16987AE6182", //Номер заказа
"order_status": "16987AE6182", //Статус заказа, ожидание: настройка, завершение: завершение, возврат: возврат, изменение: изменение
"proxy_address": "127.0.0.1", //IP адрес
"proxy_port": "8080", //номер порта
"proxy_user": "socks5", //Имя пользователя
"proxy_password": "socks5", //Пароль агента
"protocol": "http", //Протокол,http,socks5,http/socks5
"country": "us", //код страны
"remark": "string", //Замечание
"auto_rebuy": "inactive", //Автоматическое обновление, неактивное: нет, активное: да:
"rebuy_status": "normal", //Обновление статуса, нормальное: нормальное, недостаточное: недостаточное равновесие, неудачное: обновление не удалось
"expire_time": "2025-09-14 12:57:38.42", //Время истечения
"create_time": "2025-09-14 12:57:38.42" //Время создания
}
],
"total": 0 //Общее количество пунктов
},
"message": "success" //Возвратный результат, тип стр
}7. Получить список прокси для стат. IP дата-центра и IPv6
**Метод запроса:POST ** Путь запроса:/api/users/static/dc/list
** Параметры запроса**
{
"page": 1, //Индекс подкачки, тип int, опциональный, по умолчанию 1
"page_size": 10, //Количество элементов пагинации, тип int, опционально, по умолчанию 10
"protocol": "http", //Протокол,http,socks5,http/socks5
"proxy_address": "127.0.0.1", //IP адрес
"order_no": "16987AE6182", //Номер заказа
"expire_start": "2025-09-14 12:50:06", //Время начала срока годности
"expire_end": "2025-09-14 12:50:06" //Время окончания срока годности
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"data": {
"records": [
{
"order_no": "16987AE6182", //Номер заказа
"order_status": "16987AE6182", //Статус заказа, ожидание: настройка, завершение: завершение, возврат: возврат, изменение: изменение
"proxy_address": "127.0.0.1", //IP адрес
"proxy_port": "8080", //номер порта
"proxy_user": "socks5", //Имя пользователя
"proxy_password": "socks5", //Пароль агента
"protocol": "http", //Протокол,http,socks5,http/socks5
"country": "us", //код страны
"remark": "string", //Замечание
"auto_rebuy": "inactive", //Автоматическое обновление, неактивное: нет, активное: да:
"rebuy_status": "normal", //Обновление статуса, нормальное: нормальное, недостаточное: недостаточное равновесие, неудачное: обновление не удалось
"expire_time": "2025-09-14 12:57:38.42", //Время истечения
"create_time": "2025-09-14 12:57:38.42" //Время создания
}
],
"total": 0 //Общее количество пунктов
},
"message": "success" //Возвратный результат, тип стр
}8. Изменить автоматический переключатель обновления
**Метод запроса:POST ** Путь запроса:/api/users/static/auto-rebuy
** Параметры запроса**
{
"id": 0, //Автоматическое обновление ID, необходимое
"proxy_type": "res", //Тип прокси: res — жилой, dc — дата-центр, ipv6 — IPv6; обязательно
"auto_rebuy": "inactive" //Автоматический переключатель обновления, неактивный: нет, активный: да
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}9. Изменить замечания по ИС
**Метод запроса:POST ** Путь запроса:/api/users/static/remark
** Параметры запроса**
{
"id": 0, //ID, требуется
"proxy_type": "res", //Тип прокси: res — жилой, dc — дата-центр, ipv6 — IPv6; обязательно
"remark": "string" //Замечания, необходимые
}** Возвратный результат**
{
"code": 0, //Код состояния 0: успех, другие числа: неудача, тип int
"message": "success" //Возвратный результат, тип стр
}