Compara una API SMM por el trabajo que necesitas realizar: encontrar un servicio, crear un pedido, recuperarte de un timeout y comprobar el resultado. Un número de versión o unos campos parecidos no bastan.
Comparación de NotPanel de las referencias públicas de JustAnotherPanel, CheapSMMPanel y NotPanel, revisadas el 2026-09-09. Es una revisión documental, no una prueba de entrega ni de cuentas de competidores. Que una función no aparezca en una página pública no demuestra que no exista en otra parte.
JustAnotherPanel · CheapSMMPanel · NotPanel
Lo que documentan las referencias públicas
La estructura key + action resulta familiar. Antes de cambiar la URL, consulta el catálogo de destino y comprueba sus ID, campos, precios y estados. Las credenciales, los ID de servicio y los saldos no se trasladan entre paneles. En NotPanel, la cancelación ordinaria exige que el pedido siga Pending, sin enviar, dentro de sus primeros 15 segundos.
Forma v2 parecida, contrato documentado diferente
Autenticación JAP / NotPanel: key CheapSMMPanel: api_token
Catálogo JAP / NotPanel: action=services CheapSMMPanel: action=packages
Id del servicio JAP / NotPanel: service CheapSMMPanel: package
Los nombres de campo importan
| Función | JAP / NotPanel | CheapSMMPanel |
|---|---|---|
| Autenticación | key | api_token |
| Catálogo | action=services | action=packages |
| Id del servicio | service | package |
| Conteo inicial | start_count | start_counter |
Centraliza la correspondencia de campos y guarda ejemplos de las solicitudes y respuestas que uses. Ambas páginas de competidores muestran estados con mayúscula inicial. NotPanel ofrece status para mostrar y status_key estable para automatizar. Un estado desconocido requiere comprobación; no prueba que corresponda un reembolso.
Nombres para mostrar; los ID son el contrato
Usa el ID numérico para pedir y el nombre para mostrar opciones. services conserva el formato conocido; catalog añade búsqueda y paginación. language permite nombres localizados; canonical_name conserva el inglés y name_language indica el idioma devuelto, incluido en cuando se usa el inglés como alternativa.
Un timeout no es un fallo
Conserva el request_id original tras un timeout.
Reintenta con la misma clave y los detalles del pedido sin cambios.
Guarda el ID recuperado o espera si el resultado sigue sin confirmarse.
2026-09-09 — 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.
Genera la clave una vez, fuera del bucle de reintento. Un timeout es un resultado desconocido, no una prueba de que el pedido nunca ocurrió.
Lee la referencia para crear pedidos · guía de integración.
Usa eventos y consultas de estado juntos
Recibe una notificación de pedido firmada.
Verifica la firma y la fecha; controla los ID de eventos repetidos.
Confirma los estados importantes mediante una consulta status.
Las páginas públicas de JAP y CheapSMM revisadas el 2026-09-09 documentan consultas de estado de pedidos. No describen webhooks salientes; esa ausencia en las páginas revisadas no demuestra que la función no esté disponible en otra parte. Pregunta por las condiciones específicas de la cuenta que necesite tu aplicación.
NotPanel documenta webhooks firmados con reintentos, sin garantizar cada notificación. Verifica X-Webhook-Signature con el cuerpo original y X-Webhook-Timestamp; usa X-Webhook-Delivery-Id para seguir la entrega. Procesa cada ID de evento una vez y contrasta los estados importantes mediante status. Rechaza los eventos fuera de la ventana temporal que hayas elegido para impedir repeticiones antiguas. Una notificación ayuda a comprobar el pedido; no sustituye su registro.
Las recetas están en la referencia de webhooks · guía HMAC.
Lee la respuesta antes de reintentar
Lee tanto el código HTTP como el JSON. Los siguientes ejemplos son de NotPanel; esta revisión no establece cómo responden las cuentas de competidores.
NotPanel documenta X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset. Las claves API de la misma cuenta comparten su límite de solicitudes. Consulta las referencias de errores y límites antes de decidir qué reintentar, cuándo esperar o cuándo pedir una revisión al equipo.
Funciones de NotPanel que puedes verificar
Son diferencias de contrato que puedes comprobar, no una promesa sobre precios o tamaño del catálogo.
- Pedidos seguros ante reintentos: Los add conocidos funcionan sin campos nuevos y los payloads idénticos de la misma cuenta quedan protegidos durante 60 segundos. request_id o su alias idempotency_key son opcionales para reintentos exactos; request_id prevalece si se envían ambos.
- Eventos de estado firmados: La referencia define HMAC-SHA256 sobre timestamp + punto + cuerpo original, los headers exactos y los eventos dentro del cuerpo; se rechazan URL privadas o locales.
- Errores explícitos: La API documenta respuestas HTTP 400, 403, 429 y 500 para que el cliente pueda distinguir una entrada inválida, un bloqueo, un límite o un fallo del servicio.
- Límites visibles: Las cabeceras de límite de solicitudes explican la ventana efectiva de la cuenta; cambiar de clave API no crea una cuota de cuenta independiente.
Cada punto se puede probar contra la referencia pública antes de migrar un flujo de reseller.
Elige el contrato que cubra tu trabajo real. Una integración estable puede seguir siendo adecuada. Prueba NotPanel cuando sus funciones documentadas resuelvan una necesidad concreta antes de trasladar tráfico.
Preguntas frecuentes
¿JustAnotherPanel tiene API para resellers?
Sí. La página v2 pública revisada el 2026-09-09 muestra key y action para services, add, status, refill, refill_status, cancel y balance. Webhooks, idempotencia, catálogo de errores HTTP y headers de límites no estaban documentados en esa página invitada; esa ausencia no demuestra que la función no exista en otro lugar.
¿CheapSMMPanel usa la misma API que JAP?
No. Sus documentos usan api_token, action=packages, package y start_counter. Un cliente JAP no funciona sin cambios.
Idempotencia integrada?
Los add conocidos funcionan sin campos nuevos y los payloads idénticos de la misma cuenta quedan protegidos durante 60 segundos. request_id o su alias idempotency_key son opcionales para reintentos exactos; request_id prevalece si se envían ambos.
¿Puedo apuntar un cliente JAP existente a NotPanel?
La estructura key + action resulta familiar. Antes de cambiar la URL, consulta el catálogo de destino y comprueba sus ID, campos, precios y estados. Las credenciales, los ID de servicio y los saldos no se trasladan entre paneles. En NotPanel, la cancelación ordinaria exige que el pedido siga Pending, sin enviar, dentro de sus primeros 15 segundos.



