API del panel SMM: documentación (v2)
La API de ViralizaYa sigue el formato que la mayoría de los paneles SMM ya usan con sus proveedores. Envía una petición POST con tu clave y una action, y recibe JSON.
- POST https://viralizaya.com/api/v2
- Respuestas en JSON
- 120 peticiones por minuto
Lo básico
| Endpoint | https://viralizaya.com/api/v2 |
|---|---|
| Método | POST, con cuerpo form-encoded o JSON |
| Autenticación | Parámetro key. También se acepta api_token. La clave se genera en Cuenta › API. |
| Límite | 120 peticiones por minuto por clave. Las claves inválidas repetidas desde una IP se bloquean por un minuto. |
| Lote | Hasta 100 IDs en status, refill, refill_status y cancel. |
| Moneda | Dólares estadounidenses. Las tarifas son por cada 1.000 unidades. |
| No disponible | Goteo (runs, interval) y listas de comentarios o usuarios personalizadas. Las peticiones que los envían se rechazan. |
action=services
Lista todos los servicios activos con tu tarifa por 1.000.
| Parámetro | Descripción |
|---|---|
action | services |
key | Tu clave de API |
Ejemplo de respuesta
[
{
"service": 1,
"name": "Instagram Seguidores [Estándar]",
"type": "Default",
"category": "Instagram Seguidores",
"rate": "0.9000",
"min": "100",
"max": "50000",
"refill": true,
"cancel": true,
"dripfeed": false
}
]action=add
Crea un pedido. El precio se descuenta de tu saldo.
| Parámetro | Descripción |
|---|---|
action | add |
key | Tu clave de API |
service | ID del servicio de services |
link | Enlace público o @usuario del destino |
quantity | Número entero entre el mínimo y el máximo |
Ejemplo de respuesta
{
"order": 23501
}action=status
Estado de un pedido (order) o de hasta 100 pedidos (orders, separados por comas).
| Parámetro | Descripción |
|---|---|
action | status |
key | Tu clave de API |
order | ID del pedido |
orders | Opcional: hasta 100 IDs separados por comas |
Ejemplo de respuesta
{
"charge": "0.450000",
"start_count": "3572",
"status": "Partial",
"remains": "157",
"currency": "USD"
}action=balance
Tu saldo actual.
| Parámetro | Descripción |
|---|---|
action | balance |
key | Tu clave de API |
Ejemplo de respuesta
{
"balance": "100.840000",
"currency": "USD"
}action=refill
Pide la reposición de un pedido cuyo servicio tiene ventana de reposición.
| Parámetro | Descripción |
|---|---|
action | refill |
key | Tu clave de API |
order | ID del pedido |
orders | Opcional: hasta 100 IDs separados por comas |
Ejemplo de respuesta
{
"refill": "1"
}action=refill_status
Estado de una solicitud de reposición.
| Parámetro | Descripción |
|---|---|
action | refill_status |
key | Tu clave de API |
refill | ID de la reposición |
refills | Opcional: hasta 100 IDs separados por comas |
Ejemplo de respuesta
{
"status": "Completed"
}action=cancel
Cancela pedidos que no empezaron, cuando el servicio lo permite.
| Parámetro | Descripción |
|---|---|
action | cancel |
key | Tu clave de API |
orders | Hasta 100 IDs separados por comas |
Ejemplo de respuesta
[
{"order": 23501, "cancel": 1}
]Errores
Los errores vuelven como JSON con un solo campo error, por ejemplo {"error": "Not enough funds on balance"} o {"error": "Quantity less than minimal 100"}. Los textos de la API quedan en inglés a propósito, para que los scripts que ya los leen no se rompan. Un estado 429 significa que se alcanzó el límite: espera y reintenta en lugar de repetir en bucle.
Ejemplo de petición
curl -X POST https://viralizaya.com/api/v2 \
-d key=TU_CLAVE \
-d action=add \
-d service=1 \
-d link=https://www.instagram.com/tumarca \
-d quantity=1000Consulta status cada cierto tiempo, no en un bucle seguido, y agrupa IDs con orders cuando sigas muchos pedidos a la vez.