notpanel
服务价格常见问题福利活动API
notpanel

实惠、现代的 SMM 面板。批发价,直连上游供应商。

产品

  • 服务
  • 价格
  • 推荐计划
  • 为何选择 NotPanel
  • 关于
  • 开发者
  • 博客
  • 常见问题

法律

  • 服务条款
  • 隐私政策
  • 退款政策

关注我们

  • 联系我们
  • support@notpanel.com

© 2026 NotPanel 版权所有。

全部文章
工程 2026年8月16日· 阅读 8 分钟

SMM 面板 API 对比:JAP、CheapSMMPanel 与 NotPanel

根据公开合同比较三个 SMM API 的字段、重试、webhook 和 HTTP 错误,只讨论文档实际公布的内容。

三块开发者屏幕:复印页面、不匹配的控制台和干净的签名 API 编辑器。

我打开了三个公开 API 页面:JustAnotherPanel、CheapSMMPanel 和 NotPanel。这里比较的是合同,不是价格或目录大小。

两个页面重复了熟悉的 v2 形式。真正的差异从第一个 POST 之后开始:字段名称、重试身份、webhook 和 HTTP 状态。

你的投票

什么会让你不敢把子面板接到新的 upstream?

点选一项。只保存在这台设备上——不是编造的问卷。

对比表

三个 API 都使用带表单和 JSON 响应的 v2 风格 POST。之后它们就不能直接互换了。

认证字段
JAP
key
CheapSMM
api_token
NotPanel
key
目录操作
JAP
services
CheapSMM
packages
NotPanel
services
订单 ID
JAP
service
CheapSMM
package
NotPanel
service + request_id
幂等性
JAP
Not documented
CheapSMM
Not documented
NotPanel
Required request_id
Webhook
JAP
Not documented
CheapSMM
Not documented
NotPanel
HMAC-SHA256 + timestamp
HTTP 错误码
JAP
Not documented
CheapSMM
Not documented
NotPanel
400 / 403 / 429 / 500
限额响应头
JAP
Not documented
CheapSMM
Not documented
NotPanel
X-RateLimit-*
Refill
JAP
Yes + refill_status
CheapSMM
Not documented
NotPanel
Yes + refill_status
API Cancel
JAP
action=cancel
CheapSMM
Not documented
NotPanel
Not exposed
文档
JAP
One page + PHP sample
CheapSMM
One page + PHP sample
NotPanel
13 pages + changelog

JAP 客户端要接 CheapSMM,必须重新映射字段。要在 NotPanel 创建订单,还必须提供 request_id;这是有意的差异。

同一个示例订单。同一张复印件。

带标签的参考手册旁边放着一张皱掉的 API 复印页。
公开合同不应该只是复制的示例订单。

公开页面展示了演示订单以及 list、add、status、balance 流程。这足以发出第一个请求,却没有说明网络失败时会发生什么。

示例只能证明语法,不能证明重试行为、签名事件或失败处理。发布集成前,请先检查公开合同。

字段名称不是小事

用途JAP / NotPanelCheapSMMPanel
认证keyapi_token
目录action=servicesaction=packages
服务 IDservicepackage
起始数量start_countstart_counter
状态In progress / in_progressTitle case in examples

CheapSMM 把迁移描述得很简单,但修改认证、目录、服务和数量字段会触及每个调用点。只换基础 URL 不是迁移计划。

状态字符串同样重要。如果对账程序把所有非 completed 值都当作可退款,字段名称差异就会变成资金损失。

为什么 NotPanel 在关键地方更强

这些是可以验证的合同差异,不是关于价格或目录规模的承诺。

重试安全的下单

add 要求 request_id。使用相同 key 和 body 重试会返回原订单;不同 body 会被拒绝。

查看 add 合同 →

经过签名的状态事件

Webhook 参考说明对原始 body 使用 HMAC-SHA256,并带有时间戳和事件;私有或本地 URL 会被拒绝。

验证一次投递 →

明确的错误

API 记录 HTTP 400、403、429 和 500 响应,让客户端区分无效输入、封禁、限流和服务故障。

查看错误和响应 →

可见的限额

响应提供 X-RateLimit-Limit、Remaining 和 Reset,以及适用时的 tier 和拒绝原因。

查看限额 →

迁移 reseller 流程前,每一点都可以对照公开参考进行测试。

超时不是失败

仓库时钟旁边,秤上放着两个完全相同的包裹。
没有 request_id 时,重试就是第二个订单和第二次扣款。
没有 request_id超时 → 重试 add→两个订单 · 两次扣款有 request_id超时 → 同一密钥→原订单 ID
同一个 add,两个结果;区别在服务器是否能识别这次重试。

公开示例客户端没有展示由调用者提供的标识符。NotPanel 要求每个 add 都有 request_id:相同密钥和相同请求体返回原 ID,不同请求体会被拒绝。

在重试循环之外只生成一次密钥。超时意味着结果未知,不代表订单一定没有发生。

阅读 下单参考 · 集成指南.

超时是未知结果。只有服务器能识别的重试才是安全重试。

Polling 还是签名信封

小型服务器旁边放着蜡封信封和没有签名的明信片。
没有签名的 webhook 就像任何人都能写的明信片。

JAP 和 CheapSMM 的访客 API 页面没有记录出站 webhook。默认集成是不断查询 status,直到字符串改变。这能工作,但会把限额花在没有变化的订单上。

NotPanel 提供 webhook.add、list 和 remove。每次投递都包含原始请求体的 HMAC-SHA256、时间戳和命名事件。私有及 link-local URL 会被拒绝;投递至少一次,因此处理器仍必须幂等。

相关方法见 webhook 参考 · HMAC 指南.

状态码,而不是带 error 的 200

克隆规范可能返回带 error 对象的 HTTP 200。只相信状态行的重试库会把它当成成功。

400
错误请求
缺少 request_id 或余额
403
禁止访问
账户已暂停
429
超过限额
读取 X-RateLimit-Reset
500
服务器错误
未知结果:使用同一密钥

限额分为 IP、密钥和等级层。创建重试循环前,先阅读错误和 rate-limit 参考。

不要只凭文章迁移——先测试
0/4

结论很简单:用明确合同自动化,不要自行发明缺失的一半。迁移流量前先阅读公开文档。 notpanel.com/developers.

两个资金风险有独立指南:超时重试,以及 webhook 与 polling。

FAQ

JustAnotherPanel 有 reseller API 吗?

有。公开 v2 页面展示 services、add、status、refill、cancel、balance 的 key 和 action。但没有记录 webhook、幂等性、HTTP 错误目录或限额响应头。

JAP API 和 NotPanel API 有什么区别?

基本 v2 形式相似,但 NotPanel 要求 request_id,记录签名 webhook,返回明确错误状态,并公布限额响应头。JAP 记录了更多特殊 add 字段和 cancel。

CheapSMMPanel 使用和 JAP 一样的 API 吗?

不一样。访客文档使用 api_token、action=packages、package 和 start_counter。JAP 客户端不能原样工作。

SMM 面板支持 webhook 吗?

有些支持,但很多公开 v2 页面没有提到。如果文档没有说明签名,就把收到的 POST 当作不可信。

NotPanel 为什么要求 request_id?

超时的 add 结果未知。没有调用者提供的密钥,重试可能造成第二次扣款;相同密钥和请求体会返回原订单。

可以把已有的 JAP 客户端指向 NotPanel 吗?

读取操作通常只需检查 URL 和状态大小写。add 需要 request_id,cancel 未开放,特殊字段必须有文档支持。

继续阅读

工程

SMM API 超时为何会扣两次款 — 以及 NotPanel 为何不会

工程

SMM 面板 Webhook 与轮询:子面板真正应该使用什么?

指南

SMM 面板与社交媒体代理商:真实成本对比(2026)