Orders API
Endpoints for creating, managing, and renewing proxy orders including IP provisioning and traffic top-ups.

Для аутентифікації, формату помилок та заголовків дивіться General API Info.
Замовлення
Отримати налаштування каталогу проксі
GET /orders/config
Отримати повну конфігурацію каталогу проксі. Публічно — аутентифікація не потрібна.
Відповідь
{
"proxyTypes": [
{
"id": "residential-giga",
"name": "Residential Giga",
"slug": "residential-giga",
"shortDescription": "Реальні житлові IP-адреси, оплата за Гіга — максимальна довіра.",
"paymentModel": "prepaid",
"unit": "giga",
"pricePerUnit": 1.5,
"hasTraffic": true,
"trafficDiscounts": [
{ "min": 10, "discount": 0.05, "label": "5% знижка" }
],
"countDiscounts": [],
"tags": ["Ротаційний IP", "Реальний ISP"],
"countryMode": "anytime",
"requiresCountry": false,
"supportsCountry": true,
"supportsCity": true,
"supportsState": true,
"supportsChangeCountry": true,
"billingPeriods": [],
"presets": [
{ "label": "Пробний", "trafficGb": 1 }
]
},
...
],
"billingPeriods": [
{ "id": "week", "label": "Щотижня", "multiplier": 0.4167 },
{ "id": "month", "label": "Щомісяця", "multiplier": 1 },
{ "id": "year", "label": "Щорічно", "multiplier": 10.5 }
],
"minOrderAmount": 0.5,
"trafficPricePerGb": 0.10,
"trafficVolumeDiscounts": [
{ "min": 50, "discount": 0.05, "label": "5% знижка на трафік" },
{ "min": 100, "discount": 0.10, "label": "10% знижка на трафік" },
{ "min": 500, "discount": 0.15, "label": "15% знижка на трафік" }
]
}Попередньо переглянути вартість замовлення Auth required
POST /orders/preview
Попередньо перегляньте ціну замовлення перед покупкою.
Тіло запиту
Післяплата за гига:
{
"proxyTypeId": "residential-giga",
"trafficGb": 50
}Післяплата за IP:
{
"proxyTypeId": "private-proxy",
"count": 25,
"trafficGb": 50,
"billingPeriod": "month",
"countries": { "US": 10, "DE": 10, "GB": 5 }
}| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
proxyTypeId | string | ID типу проксі з конфігурації | Так |
trafficGb | number | ГБ трафіку | Для типів Гіга: Так |
count | number | Кількість IP | Для типів IP: Так |
billingPeriod | string | week / month / year | Ні |
countries | object | Карта Країна → кількість | Ні |
Відповідь
{
"proxyType": {
"id": "residential-giga",
"name": "Residential Giga",
"paymentModel": "prepaid",
"unit": "giga"
},
"breakdown": {
"proxyTypeId": "residential-giga",
"count": 0,
"trafficGb": 50,
"subtotal": 63.75,
"discountAmount": 11.25,
"total": 63.75
},
"display": {
"totalDisplay": 2637.19,
"currency": "UAH",
"exchangeRate": 41.37
}
}Створити замовлення Auth required
POST /orders/create
Створіть реальне замовлення. Замовлення як з передоплатою, так і з післяплатою відразу знімають баланс.
Тіло запиту
Післяплата з обраними країнами:
{
"proxyTypeId": "private-proxy",
"count": 25,
"trafficGb": 50,
"billingPeriod": "month",
"countries": { "US": 10, "DE": 10, "GB": 5 }
}Післяплата з випадковими країнами:
{
"proxyTypeId": "private-proxy",
"count": 25,
"trafficGb": 50,
"billingPeriod": "month"
}Якщо
countriesне вказано абоnull, IP-адреси призначаються з випадкових доступних країн. Вибір країни не впливає на ціну.
Відповідь
Об'єкт повного замовлення (такий самий, як GET /orders/:id).
Помилки
{ "message": "order.invalid_proxy_type" }
{ "message": "order.invalid_billing_period" }
{ "message": "order.invalid_count" }
{ "message": "order.invalid_traffic_gb" }
{ "message": "order.countries_required" }
{ "message": "order.insufficient_balance" }Отримати підсумок замовлень Auth required
GET /orders/summary
Легкий підсумок — один агрегуючий запит, без пагінації. Повертає кількість замовлень, загальну кількість IP, куплений трафік і витрачену суму — групується за статусом і типом проксі. Ідеально підходить для бейджів на панелі управління, огляду витрат і лічильників по секціям.
Відповідь
{
"total": {
"orders": 7,
"ips": 35,
"trafficGb": 120.5,
"spentUsd": 89.40
},
"byStatus": {
"pending": { "orders": 1, "ips": 5, "trafficGb": 10.0, "spentUsd": 9.00 },
"paid": { "orders": 0, "ips": 0, "trafficGb": 0, "spentUsd": 0 },
"active": { "orders": 4, "ips": 20, "trafficGb": 100.5, "spentUsd": 68.40 },
"expired": { "orders": 1, "ips": 5, "trafficGb": 10.0, "spentUsd": 9.00 },
"cancelled": { "orders": 1, "ips": 5, "trafficGb": 0, "spentUsd": 3.00 },
"refunded": { "orders": 0, "ips": 0, "trafficGb": 0, "spentUsd": 0 }
},
"byType": {
"private-proxy": {
"orders": 3, "ips": 15, "trafficGb": 0, "spentUsd": 27.00,
"byStatus": {
"active": { "orders": 2, "ips": 10, "trafficGb": 0, "spentUsd": 18.00 },
"expired": { "orders": 1, "ips": 5, "trafficGb": 0, "spentUsd": 9.00 }
}
},
"server-static": {
"orders": 2, "ips": 20, "trafficGb": 20.5, "spentUsd": 36.40,
"byStatus": {
"active": { "orders": 2, "ips": 20, "trafficGb": 20.5, "spentUsd": 36.40 }
}
},
"residential-giga": {
"orders": 2, "ips": 0, "trafficGb": 100.0, "spentUsd": 26.00,
"byStatus": {
"active": { "orders": 1, "ips": 0, "trafficGb": 50.0, "spentUsd": 13.00 },
"pending": { "orders": 1, "ips": 0, "trafficGb": 50.0, "spentUsd": 13.00 }
}
}
}
}Поля агрегату об'єкта
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
orders | number | Кількість замовлень | — |
ips | number | Загальна кількість куплених IP | — |
trafficGb | number | Загальна кількість купленого трафіку в ГБ | — |
spentUsd | number | Загальна витрачена сума в USD | — |
byStatusзавжди включає усі 6 статусів (нуль для статусів без замовлень).byType.*.byStatusвключає лише ті статуси, для яких є принаймні одне замовлення цього типу.
Перелік замовлень Auth required
GET /orders
Перелік замовлень користувача (з пагінацією).
Параметри запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
page | number | Номер сторінки (за замовчуванням: 1) | Ні |
limit | number | Кількість елементів на сторінку (за замовчуванням: 20) | Ні |
type | string | Фільтр за ID типу проксі | Ні |
Відповідь
{
"orders": [ ... ],
"total": 42,
"page": 1,
"pages": 3
}Отримати замовлення за ID Auth required
GET /orders/:id
Отримати одне замовлення за ID.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь
{
"id": "80-472109",
"name": "My US Proxies",
"status": "active",
"proxyType": {
"id": "server-static",
"name": "Server Static",
"paymentModel": "postpaid",
"unit": "ip"
},
"count": 5,
"trafficGb": 10,
"billingPeriod": "month",
"proxyUsername": "u_a1b2c3",
"proxyPassword": "xYz9q2Wp4rT8mN1k",
"peer": {
"host": "us1.fonproxy.com",
"portMin": 10000,
"portMax": 19999
},
"countries": { "US": 3, "DE": 2 },
"usage": { "totalGb": 1.2, "maxGb": 10, "usedPercent": 12.0, "remainingGb": 8.8 },
"provisioning": {
"state": "ok",
"assignedCountries": null,
"missingCountries": null,
"assignedCount": 5,
"missingCount": 0
},
"pricing": { "totalUsd": 4.50 },
"dates": { "createdAt": "2026-04-01T10:00:00.000Z", "activatedAt": "2026-04-01T10:00:05.000Z" }
}Статуси замовлень: pending, paid, active, expired, cancelled, refunded
Поле розподілу
Кожна відповідь на замовлення включає об'єкт provisioning, який відображає стан призначення IP — інтерфейсу не потрібно аналізувати сирі дані meta.
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
state | "ok" | "pending" | "partial" | Поточний стан розподілу | — |
assignedCountries | Record<string,number> | null | Призначені країни з кількістю на країну | — |
missingCountries | Record<string,number> | null | Країни з відсутніми IP, з кількістю необхідних | — |
assignedCount | number | Загальна кількість успішно призначених IP | — |
missingCount | number | Загальна кількість відсутніх IP | — |
Значення станів:
| Стан | Коли | Що показати |
|---|---|---|
"ok" | Повністю розподілено (або не потрібно) | Нічого — замовлення в порядку |
"pending" | Замовлення з післяплатою сплачено, але чекає на IP. Ще не працює. | Банер: "Ваше замовлення налаштовується…" з розподілом по missingCountries |
"partial" | Замовлення з передоплатою активне, але деякі країни не мають достатньої кількості IP. Працює зі частковими IP. | Попередження: "Замовлення активне з частковими IP" + missingCountries |
Приклад — в очікуванні (післяплата, чекає на запас DE):
{
"state": "pending",
"assignedCountries": { "US": 3, "CA": 2 },
"missingCountries": { "DE": 1 },
"assignedCount": 5,
"missingCount": 1
}Приклад — частковий (передоплата, активний, але деякі відсутні):
{
"state": "partial",
"assignedCountries": { "US": 10 },
"missingCountries": { "FR": 3, "IT": 2 },
"assignedCount": 10,
"missingCount": 5
}Поле
stateдостатньо, щоб інтерфейс вирішив, що відображати.
Поля використання
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
uploadBytes | number | Загальна кількість завантажених байтів | — |
downloadBytes | number | Загальна кількість завантажених байтів | — |
totalBytes | number | Завантажити + звантажити | — |
requestCount | number | Загальна кількість оброблених запитів проксі | — |
uploadGb | number | Завантаження в ГБ (3 десяткові знаки) | — |
downloadGb | number | Завантаження в ГБ (3 десяткові знаки) | — |
totalGb | number | Загальний трафік в ГБ | — |
maxBytes | number | null | Максимальна допустима кількість байтів (тільки для замовлень з гіга, null для замовлень з IP) | — |
maxGb | number | null | Максимальні допустимі ГБ (order.trafficGb для гіга, null для IP) | — |
remainingBytes | number | null | Залишкова кількість байтів до вичерпання квоти | — |
remainingGb | number | null | Залишкові ГБ | — |
usedPercent | number | null | Відсоток використаної квоти (0–100, 2 десяткові знаки) | — |
lastReportedAt | string | null | ISO-мітка часу останнього звіту про використання піром | — |
Для замовлень з гіга (
unit: 'giga'):maxGbдорівнює купленимtrafficGb. Інтерфейс може показати індикатор прогресу, використовуючиusedPercent. Для замовлень з IP (unit: 'ip'):maxBytes,maxGb,remainingBytes,remainingGb,usedPercentвсіnull— трафік лише для інформації.
Автоматичне призначення IP
Після створення і оплати замовлення, призначення IP відбувається автоматично за допомогою подієво-орієнтованого фонов
ого процесу:
| Модель оплати | Поведінка |
|---|---|
| prepaid | Баланс знімається негайно. IP автоматично призначаються за країною. Замовлення завжди активується — навіть якщо деякі країни не мали достатньої кількості IP (частково). provisioning.state = "partial" з розподілом по missingCountries. |
| postpaid | Замовлення залишається pending до тих пір, поки всі IP не будуть призначені. Якщо всі країни заповнені → активується негайно (state: "ok"). Якщо будь-яка країна коротка → залишається pending (state: "pending"). Адміністратор заповнює відсутні слоти; замовлення автоматично активується. |
Обробка інтерфейсом в залежності від provisioning.state:
| Стан | Статус | Що показати |
|---|---|---|
"ok" | active | Нормальний вигляд замовлення |
"pending" | pending | Повносторінковий банер "Налаштування вашого замовлення..." з таблицею missingCountries. Замовлення не виконується. |
"partial" | active | Попереджувальний банер "Виконується з частковими IP — деякі місця в очікуванні" + таблиця missingCountries. IP-адреси працюють. |
Адміністратори можуть використовувати
POST /admin/orders/:id/ips/assign-by-countryабоPOST /admin/orders/:id/ips/add-by-countryдля заповнення відсутніх слотів. Коли всі відсутні слоти заповнені, замовлення з післяплатою автоматично активується.
Отримати IP замовлення Auth required
GET /orders/:id/ips
Отримати IP-адреси, призначені замовленню.
- Повертаються лише активні (призначені) та видимі IP — IP, приховані адміністратором (
visible=false), виключаються. - Поле
index— це абсолютна позиція (0 на основі). Можуть бути проміжки, де знаходяться приховані IP — це навмисно. - Інформація про підключення розраховується виходячи з активного пірсу:
host : portMin + index. - Кредити — це власні
proxyUsername/proxyPasswordзамовлення — НЕ оригінальні проксі кредити.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь
{
"orderId": "K4Xb9r",
"credentials": {
"username": "user_a1b2c3d4e5f6",
"password": "xYz9q2Wp4rT8mN1k"
},
"ips": [
{
"index": 0,
"host": "us1.fonproxy.com",
"port": 10000,
"originalIp": "185.123.45.67",
"countryCode": { "geoip": "US" },
"city": { "geoip": "New York" },
"state": { "geoip": "NY" },
"status": "active",
"lastVerifiedAt": "2026-03-23T08:14:00.000Z",
"assignedAt": "2026-03-20T10:01:00.000Z"
},
...
],
"total": 2,
"provisioning": {
"state": "ok",
"assignedCountries": null,
"missingCountries": null,
"assignedCount": 2,
"missingCount": 0
}
}Індекс
1відсутній — цей IP був прихований адміністратором. Користувач бачить 0, 2 з портами 10000, 10002.Використовуйте
credentials.username/credentials.passwordдля аутентифікації зhost:port.Якщо жоден пір не активний,
hostіportбудутьnull.Для очікуючих замовлень (
provisioning.state === "pending"),ipsбуде порожнім або частковим, аprovisioning.missingCountriesпоказує те, що ще виділяється. Покажіть банер 'очікується на IP'.Для часткових замовлень (
provisioning.state === "partial"),ipsмістять виділені IP, аprovisioning.missingCountriesпоказує те, що ще відсутнє. Замовлення виконується — покажіть попередження.
Скинути публічний хеш завантаження Auth required
POST /orders/:id/reset-hash
Скидання публічного хешу завантаження для замовлення.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь
{ "publicHash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6" }Оновити налаштування замовлення Auth required
PATCH /orders/:id/settings
Оновити настойки замовлення, які можна редагувати користувачу. Усі поля необов’язкові.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Тіло запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
name | string | null | Налаштування власної мітки, передайте null, щоб очистити. Використовується як ідентифікатор замовлення у відповідях. | Ні |
proxyUsername | string | Нове ім’я користувача проксі. Лише літери та цифри. Збережено як u_<value>. | Ні |
proxyPassword | string | Новий пароль проксі. Не може бути порожнім. | Ні |
{
"name": "My US Proxies",
"proxyUsername": "myuser",
"proxyPassword": "mySecurePass123"
}Відповідь
Об'єкт повного замовлення (такий самий, як GET /orders/:id).
Помилки
{ "message": "order.username_empty" }
{ "message": "order.password_empty" }Видалити замовлення Auth required
DELETE /orders/:id
М’яке видалення замовлення. Дозволяється для всіх статусів замовлень — очікує, сплачено, активне, завершено, скасовано, відшкодовано.
Каскадне м’яке видалення пов'язаних order_ips, order_usage, і order_renewal_configs. М’яко видалені замовлення зберігаються протягом 30 днів до остаточного видалення.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь
{ "deleted": true }Помилки
{ "message": "order.not_found" }Автоматичне оновлення замовлень і управління трафіком
Отримати опції ціноутворення замовлення Auth required
GET /orders/:id/pricing
Отримати всі параметри ціноутворення для оновлення та поповнення трафіку по існуючому замовленню.
Повертає:
- Оновлення (тільки післяплатні): повний розрахунок ціни для поновлення поточного періоду.
- Поповнення трафіку (усі типи): вибіркові передвстановлені параметри з повним розрахунком.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь (післяплатне замовлення)
{
"orderId": "80-472109",
"proxyTypeId": "private-proxy",
"proxyTypeName": "Private Proxy",
"paymentModel": "postpaid",
"unit": "ip",
"renewal": {
"billingPeriod": "month",
"breakdown": {
"proxyTypeId": "private-proxy",
"count": 25,
"trafficGb": 50,
"period": "month",
"periodLabel": "Monthly",
"subtotal": 21.38,
"trafficCost": 2.50,
"discount": { "min": 25, "discount": 0.05, "label": "5% off" },
"discountAmount": 1.13,
"total": 23.88
},
"discountPercent": 0,
"discountAmount": 0,
"total": 23.88,
"canRenew": true
},
"trafficTopup": {
"options": [
{
"trafficGb": 5,
"pricePerGb": 0.05,
"subtotal": 0.25,
"discount": null,
"discountAmount": 0,
"total": 0.50
},
...
],
"canTopup": true
}
}Відповідь (замовлення з передоплатою гига)
{
"orderId": "80-123456",
"proxyTypeId": "residential-giga",
"proxyTypeName": "Residential Giga",
"paymentModel": "prepaid",
"unit": "giga",
"renewal": null,
"trafficTopup": {
"options": [
{
"trafficGb": 1,
"pricePerGb": 1.5,
"subtotal": 1.50,
"discount": null,
"discountAmount": 0,
"total": 1.50
},
...
],
"canTopup": true
}
}
renewalдорівнюєnullдля типів з передоплатою (немає оновлення — купуйте більше трафіку натомість). Опції поповнення трафіку використовують те саме ціноутворення, що і первісна купівля цього типу. Інтерфейс може використовувати передвстановленіoptions, або викликати нижче показаний кастомний endpoint preview.
Попередньо переглянути поповнення трафіку Auth required
GET /orders/:id/traffic-preview
Попередньо перегляньте ціну на поповнення трафіку для вибраної кількості ГБ.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Параметри запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
trafficGb | number | ГБ, що потрібно переглянути | Так |
Відповідь
{
"trafficGb": 25,
"pricePerGb": 0.05,
"subtotal": 1.25,
"discount": null,
"discountAmount": 0,
"total": 1.25
}Помилки
{ "message": "order.invalid_traffic_gb" }
{ "message": "order.not_found" }Оновити замовлення Auth required
POST /orders/:id/renew
Ручне оновлення замовлення з післяплатою на той самий рахунок. Знімає з балансу.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Тіло запиту
Тіло запиту не потрібне — надсилається оновлення за поточними цінами.
Відповідь
Повний об'єкт замовлення.
Помилки
{ "message": "order.not_postpaid" }
{ "message": "order.not_renewable" }
{ "message": "order.insufficient_balance" }
{ "message": "order.charge_locked" }Поповнити трафік Auth required
POST /orders/:id/topup-traffic
Додайте трафік в ГБ до будь-якого замовлення (з передоплатою чи з післяплатою). Знімає з балансу.
Ціноутворення використовує ту саму модель, що і покупка:
- Передплата за гига:
pricePerUnit× ГБ, з застосуваннямtrafficDiscounts. - Післяплата за IP:
trafficPricePerGb× ГБ, з застосуваннямTRAFFIC_VOLUME_DISCOUNTS.
Використовуйте GET /orders/:id/pricing або GET /orders/:id/traffic-preview, щоб побачити точні ціни перед покупкою.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Тіло запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
trafficGb | number | ГБ, що потрібно додати (має бути > 0) | Так |
{ "trafficGb": 10 }Відповідь
Повний об'єкт замовлення.
Помилки
{ "message": "order.not_active" }
{ "message": "order.insufficient_balance" }
{ "message": "order.charge_locked" }Отримати конфігурацію оновлення Auth required
GET /orders/:id/renewal-config
Отримати налаштування автоматичного управління для замовлення. Повертає налаштування за замовчуванням, якщо ніколи не було налаштовано.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Відповідь
{
"autoRenew": true,
"autoTopupGb": true,
"autoTopupAmount": 10,
"autoTopupThresholdPercent": 80
}| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
autoRenew | boolean | Тільки післяплатні — автооновлення за 24 год до закінчення (за замовчуванням: true) | — |
autoTopupGb | boolean | Автопокупка трафіку, коли використання досягає порогу (за замовчуванням: true) | — |
autoTopupAmount | number | ГБ для покупки на кожне автомастертоплення (за замовчуванням: 10) | — |
autoTopupThresholdPercent | number | Відсоток використання, що викликає автомастертоплення, від 1 до 99 (за замовчуванням: 80) | — |
Оновити конфігурацію оновлення Auth required
PATCH /orders/:id/renewal-config
Оновіть опції автоматичного управління. Усі поля необов’язкові — відправляйте лише те, що хочете змінити. Створює ряд конфігурації з налаштуваннями за замовчуванням під час першого виклику.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:id | string | ID замовлення | Так |
Тіло запиту
{
"autoRenew": true,
"autoTopupGb": true,
"autoTopupAmount": 20,
"autoTopupThresholdPercent": 75
}Відповідь
Той же формат, що і GET /orders/:id/renewal-config.
Помилки
{ "message": "order.not_postpaid" }
{ "message": "order.invalid_topup_amount" }
{ "message": "order.invalid_topup_threshold" }Конфігурація оновлення у відповідях замовлень
Кожен об'єкт замовлення (з GET /orders, GET /orders/:id, тощо) містить поле renewalConfig:
{
"id": "80-472109",
"status": "active",
"renewalConfig": {
"autoRenew": true,
"autoTopupGb": true,
"autoTopupAmount": 10,
"autoTopupThresholdPercent": 80
}
}Резюме автоматичного управління
| Функція | Тригер | Endpoint для налаштування |
|---|---|---|
| Автооновлення | ~24 години до закінчення терміну дії (cron) | PATCH /orders/:id/auto-renew |
| Автоматичне поповнення трафіку | використання ≥ поріг (cron кожні 10 хв) | PATCH /orders/:id/auto-topup |
| Автоматичне поповнення з піром | пір повідомляє про вичерпання | внутрішнє — POST /internal/peer/traffic/exhausted |
Завантаження проксі (публічно)
Перелік форматів експорту
GET /proxy/formats
Перелік доступних форматів експорту. Публічно — аутентифікація не потрібна.
Відповідь
{
"formats": [
{ "id": "txt", "name": "Plain text — host:port:user:pass", "extension": "txt" },
{ "id": "user-pass-at", "name": "user:pass@host:port", "extension": "txt" },
{ "id": "proto-url", "name": "proto://user:pass@host:port", "extension": "txt" },
{ "id": "curl", "name": "cURL commands", "extension": "sh" },
{ "id": "json", "name": "JSON array", "extension": "json" },
{ "id": "csv", "name": "CSV — host,port,user,pass,proto", "extension": "csv" }
]
}Завантажити список проксі
GET /proxy/dl/:hash
Завантажте список проксі за публічним хешем. Публічно — аутентифікація не потрібна.
Параметри
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
:hash | string | Публічний хеш замовлення | Так |
Параметри запиту
| Назва | Тип | Опис | Обов'язково |
|---|---|---|---|
format | string | ID формату експорту з /proxy/formats (за замовчуванням: txt) | Ні |
proto | string | Протокол: http або socks5 (за замовчуванням: http) | Ні |
Повертає завантаження файлу з відповідним типом вмісту.
Приклад відповіді txt:
us1.fonproxy.com:10000:u_a1b2c3:xYz9q2Wp4rT8mN1k
us1.fonproxy.com:10002:u_a1b2c3:xYz9q2Wp4rT8mN1kПриклад відповіді curl:
curl --proxy u_a1b2c3:xYz9q2Wp4rT8mN1k@us1.fonproxy.com:10000 https://httpbin.org/ip
curl --proxy u_a1b2c3:xYz9q2Wp4rT8mN1k@us1.fonproxy.com:10002 https://httpbin.org/ipПриклад curl з socks5 (?proto=socks5):
curl --socks5 u_a1b2c3:xYz9q2Wp4rT8mN1k@us1.fonproxy.com:10000 https://httpbin.org/ipХеш видно у відповіді на замовлення як
publicHash. Скиньте його зPOST /orders/:id/reset-hash, якщо він скомпрометований.