Перейти к содержимому

Фиксированные адреса

Операции с пакетом фиксированных адресов (family: dedicated, продукт ipv4). Каждая действует на весь пакет: на все его адреса сразу. На пакете трафика эти маршруты отвечают 422 unsupported_capability.

Какие операции доступны пакету, перечислено в capabilities его карточки: prolong, credentials, replace, fingerprint, renewal.

СтатусЧто происходитЧто можно сделать
provisioningпакет выдаётся, до 2 минутподождать
activeадреса работают до expires_atвсё
expiredсрок вышел, адреса не отвечаютпродлить до extendable_until - вернутся те же адреса
closedпрошёл extendable_until, адреса освобожденытолько новая покупка
suspendedпакет отключённаписать в поддержку

Поля карточки, которые относятся к сроку:

ПолеЗначение
expires_atконец оплаченного срока
extendable_untilдо какого момента продление возвращает те же адреса
credentials_retiredtrue - пароль отключён после окончания срока; продление выдаст новый

Когда срок заканчивается, в журнал событий приходит package.expired.

На какие периоды можно продлить и сколько это стоит для вас. Право packages:read.

{
"options": [
{
"period": "week",
"price": "1.98"
},
{
"period": "2_weeks",
"price": "2.58"
},
{
"period": "month",
"price": "2.98"
},
{
"period": "2_months",
"price": "5.96"
},
{
"period": "3_months",
"price": "8.94"
}
],
"currency": "USD"
}

price - цена за весь пакет, за все его адреса.

Продлить пакет. Право packages:write, Idempotency-Key обязателен: это списание. Тело: {"period": "month"}, период - из prolong-options.

Окно терминала
curl -X POST https://ipv.rent/api/v1/packages/57/prolong \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H "Idempotency-Key: $(uuidgen)" \
-H 'Content-Type: application/json' \
-d '{"period":"month"}'
{
"order_id": 140,
"package_id": 57,
"status": "completed",
"price": "2.98",
"expires_at": "2026-12-04T12:00:00+00:00",
"credentials_reissued": false
}
  • Период прибавляется к текущему expires_at, а если срок уже вышел - к моменту продления.
  • Адреса и логин остаются прежними.
  • credentials_reissued: true - старый пароль был отключён и выдан новый; возьмите его из карточки пакета.
  • Продление создаёт отдельный заказ с applied_to_package_id.

Отказы:

  • 400 - invalid_body (нет тела или не JSON), validation_failed
  • 404 - not_found
  • 409 - idempotency_in_progress
  • 422 - unknown_period, insufficient_balance, prolong_window_closed (адреса уже не вернуть - пакет closed, нужна новая покупка), unsupported_capability, purchase_refunded, idempotency_key_required, idempotency_key_invalid, idempotency_key_reused
  • 500 - order_failed, order_needs_attention, operation_indeterminate - как у покупки

Автопродление. Право packages:write. Ничего не списывает.

Окно терминала
curl -X POST https://ipv.rent/api/v1/packages/57/renewal \
-H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"enabled":true,"period":"month"}'
ПолеЗначение
enabledобязательно: true или false
periodна какой период продлевать каждый раз; без поля - остаётся прежний

Ответ - карточка пакета. Как работает автопродление:

  • оно включено по умолчанию, период - тот, что был куплен;
  • списание - за сутки до expires_at, по цене на этот момент; дата и сумма - в renewal.next_charge_at и renewal.next_charge_amount;
  • если денег не хватило, renewal.last_failure становится insufficient_balance, попытки повторяются каждые несколько часов ещё 3 дня после expires_at;
  • после этого автопродление выключается само, renewal.disabled_at заполнен.

Отказы: 400 invalid_body (нет enabled); 404 not_found; 422 unknown_period, unsupported_capability.

Заменить все адреса пакета новыми в той же локации. Право packages:write. Тело не нужно. Бесплатно.

Замена идёт в фоне. Ответ - 202 и карточка с replacement.state: pending. Читайте карточку, пока state не сменится, обычно это меньше минуты:

replacement.stateЗначение
pendingзамена идёт
doneв addresses новые адреса, старые не работают
failedничего не изменилось, можно запросить снова

Логин, пароль, срок и отпечаток не меняются. Повторная замена возможна через 30 дней: replace_available_at в карточке показывает, когда.

Отказы:

  • 404 - not_found
  • 409 - replace_in_progress (замена уже идёт)
  • 422 - package_expired (срок вышел - сначала продлите), unsupported_capability
  • 429 - replace_cooldown (адреса недавно заменялись; дата - в replace_available_at)

Отпечаток p0f: адреса представляются выбранной ОС и браузером. Один профиль на весь пакет. Право packages:write. Бесплатно.

Окно терминала
curl -X POST https://ipv.rent/api/v1/packages/57/fingerprint \
-H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"profile":"windows_chrome"}'

profile - значение из fingerprint.profiles карточки: windows_chrome, windows_edge, windows_firefox, android_chrome, macos_chrome. null выключает подмену.

Новый отпечаток применяется через 2-3 минуты. Соединения, открытые до смены, сохраняют прежний - переподключитесь.

Отказы: 400 validation_failed (профиля нет в списке); 404 not_found; 422 package_expired, unsupported_capability.

Перевыпуск пароля - общий маршрут POST /api/v1/packages/{id}/password. Логин не меняется, старый пароль перестаёт работать сразу на всех адресах пакета.