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

粉丝、点赞和观看,覆盖所有平台。

目录同时包含我们直接运营的服务和经过审核的合作伙伴容量。可用性、时间、补单和滴灌支持均按服务显示;路由和合作伙伴身份保持保密。

产品

  • 服务
  • 价格
  • 价格指数
  • 推荐计划

资源

  • API
  • 博客
  • 常见问题
  • 状态

公司

  • 关于
  • 为何选择 NotPanel
  • 联系我们

法律

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

语言

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

© 2026 NotPanel 版权所有。

support@notpanel.com
notpanel
API 文档
+
API 文档

简介

  • 概览
  • 快速开始
  • 身份验证
  • 速率限制
  • 错误

目录

  • 列出服务
  • 高级目录
  • 服务类型

订单

  • 下单
  • 订单状态
  • 退款报价
  • 补单
  • 取消

账户

  • 账户状态
  • 余额

Webhook

  • 管理 webhook

参考

  • 更新日志
  • SDK 与库

需要帮助?

support@notpanel.com →

高级服务目录

返回有效服务的分页快照,包含面向账户的费率和结构化发现元数据。若现有分销商 SDK 需要原始缓存数组结构,请使用旧版 services action。

POSThttps://notpanel.com/api/v3action=catalog
需要 API key受速率限制(共享账户 + IP + action)请求体: application/x-www-form-urlencoded
action=catalog 是发现快照。catalog_updated_at 表示筛选结果中最新的目录元数据,并非保证的价格时间戳或报价。订单扣费以已提交的 action=add 响应为准。

参数

名称类型描述
key必需string你的 API key。
action必需string必须是字面字符串 "catalog"。
pageinteger页码范围 1 至 100000。默认为 1。
limitinteger每页行数范围 1 至 200。默认为 100。
languagelanguage code可选服务名称语言:en、es、pt、ru、tr、ar、hi、id、fr 或 zh。pt 表示巴西葡萄牙语,zh 表示简体中文。省略该参数可保留旧版英文结构。 管理员可以审核或细化每个名称。
searchstring不区分大小写的服务名称搜索,或精确的数字服务 ID。最多 100 个字符。
platforminteger | slug平台数字 ID 或 slug。
categoryinteger | slug分类数字 ID 或 slug。使用 slug 时必须提供 platform;数字分类 ID 可不提供 platform。
typestring准确的受支持服务类型,例如 default、custom_comments、package 或 web_traffic。
sortstringpopular、price_asc、price_desc、time_asc、time_desc、name_asc 或 newest 之一。默认为 popular。
refillboolean按补单能力筛选。接受 1、0、true 或 false。
dripfeedboolean按滴灌能力筛选。接受 1、0、true 或 false。
availableboolean按当前下单可用性筛选。接受 1、0、true 或 false;action=add 在提交订单时仍会重新检查可用性。
min_rateUSD decimal每 1,000 单位面向账户的最低非负美元费率。请使用 0 到 999999999999.99999999 的规范十进制格式,整数最多 12 位、小数最多 8 位;不接受正负号或指数格式。
max_rateUSD decimal每 1,000 单位面向账户的最高非负美元费率。不得低于 min_rate。请使用 0 到 999999999999.99999999 的规范十进制格式,整数最多 12 位、小数最多 8 位;不接受正负号或指数格式。

请求示例

将 YOUR_API_KEY 替换为在你仪表盘 API 页面下生成的 key。

curl -X POST https://notpanel.com/api/v3 \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "key=YOUR_API_KEY&action=catalog&platform=instagram&available=true&sort=price_asc&limit=2&language=hi"
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: "catalog",
    platform: "instagram",
    available: "true",
    sort: "price_asc",
    limit: "2",
    language: "hi",
  }),
});

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

res = requests.post(
  "https://notpanel.com/api/v3",
  data={
    "key": "YOUR_API_KEY",
    "action": "catalog",
    "platform": "instagram",
    "available": "true",
    "sort": "price_asc",
    "limit": "2",
    "language": "hi",
},
)
print(res.json())
<?php
$body = http_build_query([
    'key' => 'YOUR_API_KEY',
    'action' => 'catalog',
    'platform' => 'instagram',
    'available' => 'true',
    'sort' => 'price_asc',
    'limit' => '2',
    'language' => 'hi',
]);

$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));

响应示例

{
  "as_of": "2026-08-25T10:30:00.000Z",
  "requested_language": "hi",
  "catalog_updated_at": "2026-08-25T09:45:12.000Z",
  "total": 1,
  "page": 1,
  "per_page": 2,
  "total_pages": 1,
  "lowest_rate_per_1000": "0.50",
  "currency": "USD",
  "items": [
    {
      "service": "42547",
      "name": "Instagram कस्टम कमेंट्स",
      "canonical_name": "Instagram Custom Comments",
      "name_language": "hi",
      "description": "Custom comments for a public post",
      "type": "custom_comments",
      "rate": "0.50",
      "min": "10",
      "max": "5000",
      "platform": {
        "id": 1,
        "slug": "instagram",
        "name": "Instagram"
      },
      "category": {
        "id": 12,
        "slug": "comments",
        "name": "Comments"
      },
      "refill": true,
      "dripfeed": false,
      "available": true,
      "cancel": true,
      "cancel_mode": "grace_window",
      "cancel_window_seconds": 15,
      "average_time": "0-30 minutes",
      "average_time_minutes": 18,
      "average_time_sample_size": 24,
      "average_time_basis": "measured",
      "input_fields": [
        {
          "key": "comments",
          "label": "Comments",
          "type": "textarea",
          "required": true,
          "placeholder": "One comment per line. Each line is a separate comment."
        }
      ],
      "updated_at": "2026-08-25T09:45:12.000Z"
    }
  ]
}

常见错误

状态响应体原因
400{"error":"A platform is required when category is a slug"}缺少平台 slug 或 ID 时,分类 slug 含义不明确。请提供 platform,或使用分类数字 ID。
400{"error":"Invalid catalog sort"}sort 值不属于文档列出的目录排序模式。
400{"error":"language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh","error_code":"INVALID_LANGUAGE"}语言值不受支持。请使用文档列出的十个服务名称语言代码之一。

筛选与可用性

可组合 search、platform、category、type、capability、availability 和 rate 筛选。分类 slug 受 platform 限定;数字分类 ID 全局唯一。available 是当前发现信号,而 action=add 仍是最终受理检查。

响应与新鲜度

响应包含 as_of、分页总数、面向账户的 lowest_rate_per_1000 及服务行。catalog_updated_at 是筛选集合中最新的目录元数据更新时间,并非价格报价。input_fields 只列出额外的服务专用字段;通用 add 字段和服务类型规则仍适用。时间字段说明平均值为实测、估算或未知。取消模式和窗口属于发现元数据;实际扣费和取消时间戳由已提交的 add 结果控制。 平均时间从下单起计算,直到首次观察到正数交付量,包括进行中和分批投放的订单。这是开始时间估计,不是完成时间估计。不采用供应商未明确含义的平均时间。

本地化发现

传入 language 后,可按采用精选的市场术语整理、符合当地市场习惯的服务名称搜索和排序,同时仍会搜索规范英文名称。响应会在顶层加入 requested_language,并在每项中加入 canonical_name 和 name_language。name_language 表示实际返回的语言;en 表示所需译名缺失或已过期,因此使用了英文名称。服务 ID 仍是唯一稳定的集成键。管理员可以审核或细化每个名称。