API для розробників
Купувати проксі та керувати ними можна зі свого коду: оформлювати замовлення, читати пакети, продовжувати,
стежити за подіями. Усе, що ви купуєте, стає пакетом.
Пакети бувають двох видів, їх розрізняє поле family:
| Residential | IPv4 | |
|---|---|---|
family | traffic_gateway | dedicated |
| Що купуєте | обсяг трафіку в гігабайтах | N виділених адрес на термін |
| За що платите | за гігабайти, трафік не згорає | за адресу за період: тиждень, 2 тижні, місяць, 2 або 3 місяці |
| Підключення | збираєте скільки завгодно рядків із будь-яким гео | фіксований список адрес з одним логіном і паролем |
| Зміна IP | ротація або посилання зміни IP | заміна всіх адрес пакета раз на 30 днів |
| Продукт | Residential | IPv4 |
Купівля, список пакетів і картка пакета - спільні маршрути для обох видів. Операції, які є тільки в одного виду, описано окремо: трафік і фіксовані адреси.
База та автентифікація
Section titled “База та автентифікація”https://ipv.rentcurl https://ipv.rent/api/v1/balance \ -H 'Authorization: Bearer YOUR_API_KEY'Реєстрація - на app.ipv.rent, після неї підтвердьте пошту: без підтвердження вхід не відкриється.
Ключ випускається в кабінеті: Профіль → API-ключі → Створити ключ. Секрет показується один раз, активних ключів на акаунт - до 20.
Відкликаний ключ перестає прийматися одразу, і в журнал потрапляє подія api_key.revoked.
401 invalid_api_key - ключ не прийнято. 403 insufficient_scope - у ключа немає права, якого
вимагає маршрут.
Схеми запитів і відповідей з усіма полями та прикладами - у довіднику OpenAPI.
Права ключа
Section titled “Права ключа”Ключ, випущений без зазначення прав, отримує всі. Змінити набір у випущеного ключа не можна.
| Право | Що відкриває |
|---|---|
catalog:read | продукти та їхні параметри, гео-каталог, розрахунок ціни |
packages:read | список пакетів, картка пакета, варіанти продовження |
packages:write | купівля та всі операції з пакетами: доливання, підключення, пароль, продовження, заміна адрес, відбиток, автопродовження |
orders:read | замовлення |
orders:write | зарезервовано - сьогодні його не вимагає жоден маршрут |
billing:read | баланс і транзакції |
events:read | журнал подій |
Маршрути
Section titled “Маршрути”Каталог і купівля - для обох видів:
| Маршрут | Право | Idempotency-Key |
|---|---|---|
GET /api/v1/products | catalog:read | - |
GET /api/v1/products/{product}/options | catalog:read | - |
POST /api/v1/quote | catalog:read | ні |
POST /api/v1/packages | packages:write | обов’язковий |
GET /api/v1/packages | packages:read | - |
GET /api/v1/packages/{id} | packages:read | - |
POST /api/v1/packages/{id}/password | packages:write | ні |
Тільки Residential:
| Маршрут | Право | Idempotency-Key |
|---|---|---|
GET /api/v1/geo/countries, /states, /cities, /asns | catalog:read | - |
POST /api/v1/packages/{id}/proxies | packages:write | ні |
POST /api/v1/packages/{id}/topup | packages:write | обов’язковий |
POST /api/v1/packages/{id}/rotation-secret | packages:write | ні |
Тільки IPv4:
| Маршрут | Право | Idempotency-Key |
|---|---|---|
GET /api/v1/packages/{id}/prolong-options | packages:read | - |
POST /api/v1/packages/{id}/prolong | packages:write | обов’язковий |
POST /api/v1/packages/{id}/replace | packages:write | ні |
POST /api/v1/packages/{id}/fingerprint | packages:write | ні |
POST /api/v1/packages/{id}/renewal | packages:write | ні |
Акаунт:
| Маршрут | Право | Idempotency-Key |
|---|---|---|
GET /api/v1/orders, /orders/{id} | orders:read | - |
GET /api/v1/balance, /transactions | billing:read | - |
GET /api/v1/events | events:read | - |
Операція іншого виду на пакеті відповідає 422 unsupported_capability.
Поповнення балансу і керування ключами - тільки в кабінеті.
Ліміти
Section titled “Ліміти”120 запитів на хвилину на ключ плюс 30 на хвилину на запити, які щось змінюють (POST). На
кожній відповіді RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset; перевищення - 429 з
retry_after і Retry-After: зачекайте вказану кількість секунд і повторіть.
Підтримка
Section titled “Підтримка”Telegram: @ipvrent_support, пошта
[email protected]. Додайте request_id з тіла відмови.
Новини та статус сервісу - у каналі t.me/ipvrent.