notpanel
ServiciosPreciosPreguntas frecuentesSorteoAPI
notpanel

El panel SMM moderno y asequible. Tarifas mayoristas con integraciones directas con proveedores.

Producto

  • Servicios
  • Precios
  • Programa de afiliados
  • Por qué NotPanel
  • Sobre nosotros
  • Desarrolladores
  • Blog
  • Preguntas frecuentes

Legal

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

Conecta

  • Contáctanos
  • support@notpanel.com

© 2026 NotPanel. Todos los derechos reservados.

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

Pedidos

  • Realizar pedido
  • Estado del pedido
  • Refill

Cuenta

  • Saldo

Webhooks

  • Gestionar webhooks

Referencia

  • Registro de cambios
  • SDK y librerías

¿Necesitas ayuda?

support@notpanel.com →

Realizar pedido

Envía un nuevo pedido contra un servicio del catálogo. La llamada es idempotente en request_id: los reintentos con el mismo valor devuelven la respuesta original, nunca un pedido duplicado.

POSThttps://notpanel.com/api/v2action=add
Clave de API requeridaCon límite de tasa (por clave + por nivel + por IP)Cuerpo: application/x-www-form-urlencoded
request_id es obligatorio. Genera un UUID en el momento de realizar el pedido y pásalo en cada reintento del mismo pedido lógico. Sin él, la API rechaza la llamada con 400: no hay respaldo a claves generadas por el servidor.

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_idObligatoriostringClave de idempotencia proporcionada por quien llama. Hasta 128 caracteres. Mismo valor + mismo cuerpo = misma respuesta. Dos pedidos diferentes DEBEN usar dos valores diferentes.
linkObligatoriostring (URL)URL de destino: perfil, publicación, video, canal, etc. Obligatorio para la mayoría de los tipos de servicio; algunos tipos (Suscripciones) aceptan un nombre de usuario en su lugar. Hasta 1000 caracteres; debe ser http(s).
quantityObligatoriointegerNúmero de unidades a entregar. Debe cumplir los límites mín. y máx. del servicio. Para los servicios de Paquete y Suscripciones este parámetro se ignora: la facturación usa service.min.
runsintegerDrip-feed: cuántas veces repetir el pedido. Solo tiene sentido para servicios donde dripfeed es true.
intervalintegerDrip-feed: minutos entre ejecuciones. Solo tiene sentido cuando runs > 1.
couponstringCódigo de cupón a aplicar. Sujeto a las restricciones del cupón por usuario, globales y de servicio.

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/v2 \
  -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/v2", {
  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/v2",
  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/v2', 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": "ord_01HG9X7KJP4N..."
}

Errores comunes

EstadoCuerpoCausa
400{"error":"Missing required parameter: request_id"}No se incluyó request_id. Pasa siempre un UUID.
400{"error":"Service not found"}El ID del servicio no existe o fue desactivado. Vuelve a obtener la lista de servicios.
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.