notpanel
ServiciosPreciosPreguntas frecuentesSorteoAPI
notpanel

Seguidores, likes y vistas para cada plataforma.

El catálogo combina servicios operados directamente con capacidad de socios verificados. La disponibilidad, el tiempo, el refill y el drip-feed se muestran por servicio; las rutas y la identidad de los socios son confidenciales.

Producto

  • Servicios
  • Precios
  • Índice de precios
  • Programa de afiliados

Recursos

  • API
  • Blog
  • Preguntas frecuentes
  • Estado

Empresa

  • Sobre nosotros
  • Por qué NotPanel
  • Contáctanos

Legal

  • Términos del Servicio
  • Política de Privacidad
  • Política de Reembolsos

Idiomas

  • English
  • Español
  • Português
  • Русский
  • Türkçe
  • العربية
  • हिन्दी
  • Bahasa Indonesia
  • Français
  • 中文

© 2026 NotPanel. Todos los derechos reservados.

support@notpanel.com
notpanel
Documentación de la API
+
Documentación de la API

Introducción

  • Resumen
  • Primeros pasos
  • Autenticación
  • Límites de tasa
  • Errores

Catálogo

  • Listar servicios
  • Catálogo avanzado
  • Tipos de servicio

Pedidos

  • Realizar pedido
  • Estado del pedido
  • Cotización de reembolso
  • Refill
  • Cancelar

Cuenta

  • Estado de la cuenta
  • Saldo

Webhooks

  • Gestionar webhooks

Referencia

  • Registro de cambios
  • SDK y librerías

¿Necesitas ayuda?

support@notpanel.com →

Realizar pedido

Envía un pedido con la forma conocida de panel reseller. Los clientes antiguos pueden omitir idempotencia; el mismo payload de la misma cuenta se asigna al mismo pedido durante 60 segundos. Para reintentos exactos, reutiliza request_id o su alias idempotency_key. Los pedidos normales se retienen 15 segundos antes del envío.

POSThttps://notpanel.com/api/v3action=add
Clave de API requeridaCon límite de tasa (cuenta compartida + IP + acción)Cuerpo: application/x-www-form-urlencoded
request_id e idempotency_key son opcionales. Sin ellos, la misma cuenta y el mismo payload reciben protección de 60 segundos; un duplicado intencional dentro de esa ventana devuelve el primer pedido. Espera 60 segundos o envía un request_id único para duplicarlo inmediatamente.

Parámetros

NombreTipoDescripción
keyObligatoriostringTu clave de API.
actionObligatoriostringDebe ser la cadena literal "add".
serviceObligatoriointegerID del servicio de la lista de servicios. El servicio debe estar activo en el momento del envío.
request_idstringClave opcional preferida, única por pedido lógico y de hasta 128 caracteres. Reutilízala para reintentos exactos; request_id prevalece si se envían ambos alias.
idempotency_keystringAlias opcional de request_id. Si faltan ambos campos, el servidor aplica 60 segundos de protección para payloads idénticos.
linkCondicionalstring (URL)URL de destino: perfil, publicación, vídeo o canal. Obligatoria cuando el servicio seleccionado requiere un enlace. Hasta 1000 caracteres; debe usar http(s).
quantityCondicionalintegerNúmero de unidades que se entregarán, dentro del mínimo y máximo del servicio.
runsCondicionalintegerObligatorio junto con interval solo si dripfeed=true. Usa un entero positivo dentro del límite configurado efectivo devuelto por la validación; el máximo absoluto es 1000. quantity × runs no puede superar el máximo del servicio.
intervalCondicionalintegerObligatorio junto con runs solo si dripfeed=true. Usa minutos enteros positivos dentro del límite configurado efectivo devuelto por la validación; el máximo absoluto es 2880 minutos. Los servicios sin drip-feed rechazan ambos campos. Programación gradual: máximo 48 horas (ejecuciones × intervalo).
couponstringCódigo de cupón que se aplicará, sujeto a los límites del cupón por usuario, globales y por servicio.
delayintegerRetraso inicial opcional. Use un entero de 1 a 86400 segundos si el servicio seleccionado admite este campo.
lpost_countintegerNúmero opcional de últimas publicaciones para servicios compatibles. Usa un entero de 1 a 500, salvo que el servicio lo defina como campo canónico propio.
reactionsstring (map)Mapa de emojis opcional para servicios compatibles. Envía JSON o el formato PHP admitido con comillas simples, con hasta 50 emojis. Los valores deben ser todos R o todos enteros positivos de hasta 1000000; no mezcles modos. En conteos exactos, la suma determina la cantidad efectiva y el cargo confirmado.

Ejemplo de petición

Reemplaza YOUR_API_KEY por la clave generada en la página de API de tu panel.

curl -X POST https://notpanel.com/api/v3 \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "key=YOUR_API_KEY&action=add&service=1&request_id=550e8400-e29b-41d4-a716-446655440000&link=https://instagram.com/example&quantity=1000"
const res = await fetch("https://notpanel.com/api/v3", {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: new URLSearchParams({
    key: "YOUR_API_KEY",
    action: "add",
    service: "1",
    request_id: "550e8400-e29b-41d4-a716-446655440000",
    link: "https://instagram.com/example",
    quantity: "1000",
  }),
});

const data = await res.json();
console.log(data);
import requests

res = requests.post(
  "https://notpanel.com/api/v3",
  data={
    "key": "YOUR_API_KEY",
    "action": "add",
    "service": "1",
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "link": "https://instagram.com/example",
    "quantity": "1000",
},
)
print(res.json())
<?php
$body = http_build_query([
    'key' => 'YOUR_API_KEY',
    'action' => 'add',
    'service' => '1',
    'request_id' => '550e8400-e29b-41d4-a716-446655440000',
    'link' => 'https://instagram.com/example',
    'quantity' => '1000',
]);

$response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => $body,
        'ignore_errors' => true,
    ],
]));

print_r(json_decode($response, true));

Ejemplo de respuesta

{
  "order": 7001,
  "status": "Pending",
  "status_key": "pending",
  "charge": "0.50",
  "currency": "USD",
  "cancel_available": true,
  "cancel_window_seconds": 15,
  "cancel_before": "2026-08-25T10:30:15.000Z"
}

Errores comunes

EstadoCuerpoCausa
400{"error":"Service not found"}El ID del servicio no existe. Vuelve a obtener la lista de servicios y usa un ID actual.
400{"error":"Service has been discontinued and is no longer available"}El servicio existe, pero está desactivado, archivado o ya no admite pedidos. Actualiza el catálogo y elige un servicio disponible.
400{"error":"Insufficient balance"}El saldo de la cuenta es inferior al cargo total del pedido. Recarga desde el panel.
400{"error":"Quantity must be a positive integer"}La cantidad fue cero, negativa o no entera. Valídala antes del envío.
409{"error":"request_id was already used with different parameters"}La solicitud entra en conflicto con el estado existente, por ejemplo al reutilizar un request_id de add para otro pedido lógico. Usa la solicitud original o un identificador único nuevo, según corresponda.