🛒

客户 API 文档

🔌
总操作数
7
👤
用户类型
客户

API 端点与身份验证

所有客户 API 调用均使用一个 HTTP POST 端点。通过 keyapikey(来自您的个人资料 API 密钥页面)以及 action 进行身份验证以选择操作。路径位于 站点根目录,格式为 /api/v2 — 无语言前缀(例如,/api 前没有 /en/)。

POST
https://accplanet.com/api/v2

application/x-www-form-urlencoded(例如 curl -d)或 JSON 格式(设置 Content-Type: application/json)发送参数。

{
  "key": "YOUR_API_KEY",
  "action": "categories"
}

注意:YOUR_API_KEY 替换为您自己的密钥。切勿将 API 密钥放在 URL、客户端代码或公共存储库中。支持的 action 值:categoriesshopsservicesinventoryaddstatusbalance

每个 API 密钥的请求速率受限。超出限制时,API 返回 HTTP 429 并附带 Retry-After 标头。对大型服务列表使用分页(默认每页大小:50)。

测试 API

选择一个操作,输入任何必需的参数,然后点击 发送请求 以调用实时 API。如果您使用 API 密钥登录,它会在下方自动填入(已遮盖)。

客户 API v2

POST
https://accplanet.com/api/v2

获取分类

返回所有顶级类别及其子类别名称。使用这些确切名称通过 categorysubcategory 过滤 服务列表

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串categories
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=categories"
响应示例
{
  "categories": [
    {
      "category": "Social",
      "subcategories": ["Premium", "Standard"]
    },
    {
      "category": "Digital goods",
      "subcategories": []
    }
  ]
}
POST
https://accplanet.com/api/v2

店铺列表

返回所有至少有一个活跃且已批准产品的公开供应商店铺。每个项目包含一个 shop 标识符(24 字符供应商 ObjectId)——将其作为 shop 参数传递给服务列表,以仅列出该店铺的产品。可选的 pagelimit 参数与服务列表相同(默认每页 50 条,最大 500 条)。

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串shops
page数字页码(默认 1),当 limit > 0 时No
limit数字每页项目数;0 = 返回全部(默认 0No
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=shops"
响应示例
{
  "shops": [
    {
      "shop": "507f1f77bcf86cd799439011",
      "name": "Example Shop",
      "description": "Shop description",
      "logo": "https://example.com/logo.webp",
      "banner": "https://example.com/banner.webp",
      "shopUrl": "example-shop",
      "productCount": 42,
      "featured": true
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 50,
  "total_pages": 1
}
POST
https://accplanet.com/api/v2

服务列表

返回可销售的产品(服务),包含库存、定价、销售指标、评论统计、时间戳,以及一个 available 标志,用于指示每个商品当前是否可以下单(库存满足最低购买数量)。每个商品包含 sales_countratingreview_countcreated_atupdated_at。可按 Get Categories 中的 category / subcategory 名称、Shops List 中的 shop 进行筛选,或传递 service 以通过服务 ID(列表响应中的 service 值)获取单个商品。使用 language 本地化 namedescriptioncategorysubcategory(参见下表)。可选的 entityType 限制产品类型;可选的 sort 在分页前对结果排序。设置 limit=0 可在一次响应中返回所有匹配的商品。

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串services
page数字页码(默认 1),当 limit > 0 时No
limit数字每页项目数;0 = 返回全部(默认 0No
shop字符串来自店铺列表的店铺 ID(shop 字段——24 字符供应商 ObjectId)。别名:shop_id。省略以返回所有店铺的产品。No
category字符串父分类名称(来自获取分类)No
subcategory字符串子类别名称(来自获取类别)No
entityType字符串产品类型筛选:product(默认,标准目录商品)或 smm(社交增长服务)No
sort字符串排序方式:created_at(默认,最新优先)、price_ascprice_descsalesratingNo
service字符串按 ID 返回一个服务(与列表响应中相同的 service 值)No
language字符串响应语言 — 使用下方支持的语言代码(默认 enNo
支持的语言代码 (language)

传递以下值之一(不区分大小写)。如果省略或使用 en,文本字段将保持为 英文(目录中存储的源语言)。其他支持的代码在翻译可用时返回翻译后的 namedescriptioncategorysubcategory;否则使用英文。

代码语言本地名称
en English English
zh Chinese 中文
es Spanish Español
fr French Français
de German Deutsch
ja Japanese 日本語
ko Korean 한국어
pt Portuguese Português
pt-BR Portuguese (Brazil) Português (Brasil)
ru Russian Русский
ar Arabic العربية
hi Hindi हिन्दी
vi Vietnamese Tiếng Việt
ur Urdu اردو
th Thai ไทย
tr Turkish Türkçe
bn-BD Bengali (Bangladesh) বাংলা
也接受(别名)

这些字符串会被规范化为上述主代码(同一翻译桶):

您可以发送解析为
zh-hans zh
zh-cn zh
zh-sg zh
zh-hant zh
zh-tw zh
zh-hk zh
zh-mo zh
pt-br pt-BR
pt_br pt-BR
ptbr pt-BR
bn-bd bn-BD
bd bn-BD
en-us en
en-gb en

不支持: 任何其他 language 值将被视为英文(不进行翻译)。请使用此处列出的确切主代码或别名。

示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "page=1" \
  -d "limit=50"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "entityType=product" \
  -d "sort=price_asc" \
  -d "page=1" \
  -d "limit=50"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "category=Instagram"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "shop=507f1f77bcf86cd799439011"
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "service=10042" \
  -d "limit=1" \
  -d "language=zh"

Hot-sync single lookup: use action=services with service (business_id or product_id) and limit=1. Products that exist but are inactive, pending approval, or blacklisted return HTTP 200 with available=false and the actual stock; only missing IDs or deleted products return 404. rate is required; price is an optional alias with the same value.

响应示例

默认limit 省略或为 0):一次响应返回所有服务。

{
  "services": [
    {
      "service": 10042,
      "name": "Example product A",
      "description": "Product description (may be HTML)",
      "type": "Default",
      "category": "Social",
      "subcategory": "Instagram",
      "rate": "9.99",
      "min": 1,
      "max": 100,
      "refill": false,
      "cancel": false,
      "stock": 100,
      "available": true,
      "entityType": "product",
      "autoDelivery": true,
      "sales_count": 128,
      "rating": "4.50",
      "review_count": 23,
      "created_at": "2024-03-01T12:00:00",
      "updated_at": "2025-07-10T08:30:00"
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 0,
  "total_pages": 1
}

service — 每个列表项中的服务标识符:分配时为数字目录 ID,否则为系统生成的字符串。对 Check Inventory(多个 ID 用逗号分隔)和 Add Order 使用相同的值。rate 是您为该服务支付的单价(包含为您的账户配置的任何供应商特定买家折扣;否则为标价)。available — 服务当前是否可以下单(可销售且库存满足最低购买数量)。与 Check Inventory 中的含义相同;当您调用 Add Order 时,仍会验证钱包余额和优惠券代码。category / subcategory 匹配 Get Categories 中的名称(当产品仅属于顶级类别时,subcategory 为空)。description 可能包含来自产品列表的富文本或 HTML。sales_count — 已售总单位数(累计)。rating — 可见评论的平均分数(无评论时为 0.00)。review_count — 可见评论的数量。created_at / updated_at — 产品创建和最后更新时间(ISO 8601)。

POST
https://accplanet.com/api/v2

检查库存

返回一个或多个服务的当前库存。传递单个 service ID,或用逗号分隔的多个 ID(例如 10054,0665,13541)。使用与 Services List 中相同的 service 值。available 字段使用与 Services List 中相同的规则(可销售且库存满足最低购买数量)。单个 ID 返回一个对象;多个 ID 返回一个 inventory 数组。

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串inventory
service字符串一个或多个来自服务列表的服务 ID,用逗号分隔(例如 10054,0665,13541;每次请求最多 50 个)
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=inventory" \
  -d "service=10054,0665,13541"
响应示例

当提供单个 service ID 时,响应为一个对象(如果未找到则返回 HTTP 404):

{
  "service": 10042,
  "stock": 42,
  "available": true,
  "entityType": "product",
  "autoDelivery": true
}

当提供多个逗号分隔的 ID 时,响应将项目包装在 inventory 数组中(HTTP 200;缺失的服务包含 error 字段):

{
  "inventory": [
    {
      "service": 10054,
      "stock": 10,
      "available": true,
      "entityType": "product",
      "autoDelivery": true
    },
    {
      "service": 665,
      "stock": 0,
      "available": false,
      "entityType": "product",
      "autoDelivery": true
    },
    {
      "service": 13541,
      "error": "Service not found"
    }
  ]
}
POST
https://accplanet.com/api/v2

添加订单

创建订单并从您的 账户余额 扣款。需要有效的 service ID 和 quantity

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串add
service字符串服务列表中的服务 ID(service 字段)
quantity数字数量(默认 1No
link字符串可选 URL 字段(为兼容性接受;不存储)No
coupon_code / coupon字符串可选的优惠券代码(别名:couponNo
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=10042" \
  -d "quantity=1"
响应示例

HTTP 状态 201 Created

{
  "order": "000000000000000000000001",
  "charge": "9.99",
  "currency": "USD"
}

order 字段是唯一的订单标识符(字符串)。charge 是从您的钱包中扣除的总金额(在适用时扣除买家折扣、登录折扣和优惠券后)。currency 始终为 USD。将 order 传递给 Order Statusaction=status)。

POST
https://accplanet.com/api/v2

订单状态

返回您所下订单的履行进度、交付状态和已交付凭证(如适用)。需要来自 添加订单order 标识符。

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串status
order字符串add 返回的订单标识符
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=status" \
  -d "order=000000000000000000000001"
响应示例
{
  "status": "In progress",
  "charge": "75.00",
  "start_count": 3,
  "remains": 1,
  "delivered_units": 2,
  "currency": "USD",
  "autoDelivery": true,
  "entityType": "product"
}
{
  "status": "Completed",
  "charge": "50.00",
  "start_count": 2,
  "remains": 0,
  "delivered_units": 2,
  "currency": "USD",
  "autoDelivery": true,
  "entityType": "product",
  "accounts": ["example_user:redacted", "example_user_2:redacted"]
}
POST
https://accplanet.com/api/v2

平衡

返回您当前的客户钱包余额和货币。除身份验证外,无需额外参数。

请求参数
参数类型描述必需
key / apikey字符串您的 API 密钥
action字符串balance
示例请求
curl -X POST https://accplanet.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=balance"
响应示例
{
  "balance": "100.00",
  "currency": "USD"
}

返回您客户钱包中的可用余额(用于支付订单)。

POST
https://accplanet.com/api/v2

错误响应

错误使用单个 error 字符串。错误的或缺失的 API 凭据通常返回 HTTP 401,内容为 {"error": "Invalid API key"};验证问题通常返回 400

{"error": "Invalid API key"}
{"error": "Invalid action"}
{"error": "Service ID is required"}
{"error": "Service not found"}
{"error": "Shop not found"}
{"error": "Product not found."}
{"error": "This product is not available for purchase."}
{"error": "Invalid quantity."}
{"error": "Minimum quantity is 2."}
{"error": "Insufficient stock. Available: 10."}
{"error": "Insufficient balance. Please recharge your account."}
{"error": "Order not found"}
{"error": "Category not found"}
{"error": "Subcategory not found"}
{"error": "Subcategory not found in category"}
Telegram