API para desarrolladores
Puede comprar proxies y gestionarlos desde su propio código: realizar pedidos, leer paquetes, prolongarlos,
seguir los eventos. Todo lo que compra se convierte en un paquete.
Hay dos tipos de paquetes, y los distingue el campo family:
| Residential | IPv4 | |
|---|---|---|
family | traffic_gateway | dedicated |
| Qué compra | un volumen de tráfico en gigabytes | N direcciones dedicadas por un plazo |
| Cómo paga | por gigabytes, el tráfico no caduca | por dirección y período: una semana, 2 semanas, un mes, 2 o 3 meses |
| Conexiones | arma tantas líneas como quiera, con cualquier geo | una lista fija de direcciones con un mismo usuario y contraseña |
| Cambio de IP | rotación o enlace de cambio de IP | reemplazo de todas las direcciones del paquete una vez cada 30 días |
| Producto | Residential | IPv4 |
La compra, la lista de paquetes y la ficha del paquete son rutas comunes a ambos tipos. Las operaciones que solo existen en un tipo se describen aparte: tráfico y direcciones fijas.
Base y autenticación
Sección titulada «Base y autenticación»https://ipv.rentcurl https://ipv.rent/api/v1/balance \ -H 'Authorization: Bearer YOUR_API_KEY'Regístrese en app.ipv.rent y después confirme su correo: sin confirmación no podrá iniciar sesión.
La clave se emite en el panel: Perfil → Claves API → Crear clave. El secreto se muestra una sola vez; cada cuenta puede tener hasta 20 claves activas.
Una clave revocada deja de aceptarse de inmediato, y en el registro aparece el evento api_key.revoked.
401 invalid_api_key: la clave no fue aceptada. 403 insufficient_scope: la clave no tiene el alcance
que exige la ruta.
Los esquemas de solicitudes y respuestas con todos los campos y ejemplos están en la referencia OpenAPI.
Alcances de la clave
Sección titulada «Alcances de la clave»Una clave emitida sin indicar alcances los recibe todos. El conjunto de una clave ya emitida no se puede cambiar.
| Alcance | Qué permite |
|---|---|
catalog:read | productos y sus parámetros, catálogo geográfico, cálculo de precio |
packages:read | lista de paquetes, ficha del paquete, opciones de prolongación |
packages:write | compra y todas las operaciones con paquetes: recarga de volumen, conexiones, contraseña, prolongación, reemplazo de direcciones, huella, renovación automática |
orders:read | pedidos |
orders:write | reservado: hoy ninguna ruta lo exige |
billing:read | saldo y transacciones |
events:read | registro de eventos |
Catálogo y compra, para ambos tipos:
| Ruta | Alcance | Idempotency-Key |
|---|---|---|
GET /api/v1/products | catalog:read | - |
GET /api/v1/products/{product}/options | catalog:read | - |
POST /api/v1/quote | catalog:read | no |
POST /api/v1/packages | packages:write | obligatorio |
GET /api/v1/packages | packages:read | - |
GET /api/v1/packages/{id} | packages:read | - |
POST /api/v1/packages/{id}/password | packages:write | no |
Solo Residential:
| Ruta | Alcance | Idempotency-Key |
|---|---|---|
GET /api/v1/geo/countries, /states, /cities, /asns | catalog:read | - |
POST /api/v1/packages/{id}/proxies | packages:write | no |
POST /api/v1/packages/{id}/topup | packages:write | obligatorio |
POST /api/v1/packages/{id}/rotation-secret | packages:write | no |
Solo IPv4:
| Ruta | Alcance | Idempotency-Key |
|---|---|---|
GET /api/v1/packages/{id}/prolong-options | packages:read | - |
POST /api/v1/packages/{id}/prolong | packages:write | obligatorio |
POST /api/v1/packages/{id}/replace | packages:write | no |
POST /api/v1/packages/{id}/fingerprint | packages:write | no |
POST /api/v1/packages/{id}/renewal | packages:write | no |
Cuenta:
| Ruta | Alcance | Idempotency-Key |
|---|---|---|
GET /api/v1/orders, /orders/{id} | orders:read | - |
GET /api/v1/balance, /transactions | billing:read | - |
GET /api/v1/events | events:read | - |
Una operación del otro tipo sobre un paquete responde 422 unsupported_capability.
La recarga del saldo y la gestión de claves solo se hacen en el panel.
Límites
Sección titulada «Límites»120 solicitudes por minuto por clave, más 30 por minuto para las solicitudes que modifican algo (POST). Cada
respuesta lleva RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset; al superarlo se recibe 429 con
retry_after y Retry-After: espere el número de segundos indicado y repita.
Soporte
Sección titulada «Soporte»Telegram: @ipvrent_support, correo
[email protected]. Adjunte el request_id del cuerpo del rechazo.
Las novedades y el estado del servicio, en el canal t.me/ipvrent.