目录

概述与安全声明

本文档为 小P黑名单系统 的公开 API 技术文档,面向开发者和自动化 Agent。

安全声明
本文档不包含任何真实凭据、后台账号、数据库密码、真实用户数据或真实业务数据。
所有示例使用虚构数据。Token 示例格式:xpzc_live_****example
API 默认关闭,需超级管理员在后台手动启用。

Base URL:https://your-domain.com/api/v1

响应格式:JSON(UTF-8)

当前版本:v1

认证与授权

Bearer Token 认证

需要认证的接口通过 HTTP Header 传递 Token:

Authorization: Bearer xpzc_live_****example

Scope 权限

每个 Token 创建时分配一组 scope,接口声明所需 scope:

Scope说明默认授予
blacklist:query黑名单查询
blacklist:submit黑名单投稿
blacklist:logs:read查询日志读取
pcoin:balance:readP币余额读取
pcoin:transactions:readP币流水读取
pcoin:adjustP币人工调整
orders:read订单读取
orders:write订单写入
customers:read客户读取

匿名接口

标记为"允许匿名"的接口无需 Token。当前仅 POST /api/v1/blacklist/submit 允许匿名投稿。

统一规则

request_id 幂等

P币扣费规则

审计日志

限流

脱敏

错误码

错误码HTTP说明
api_disabled503API 总开关关闭
endpoint_disabled503该接口已关闭
token_required401需要 Token
invalid_token401Token 无效、已禁用、已吊销或关联账号不存在
token_expired401Token 已过期
token_disabled401Token 已禁用
token_revoked401Token 已吊销
account_disabled401关联账号已禁用
insufficient_scope403Token scope 不足
rate_limit_exceeded429请求频率超限
request_id_required400写接口需要 request_id
duplicate_request409重复请求
invalid_parameter400参数错误
insufficient_balance402P币余额不足
endpoint_not_found404接口不存在
internal_error500服务器内部错误

GET /api/v1/token/info implemented

获取当前 Bearer Token 的元信息,包括名称、scope、过期时间和限流使用情况。

项目
认证Bearer Token(必须)
required_scope无(任意有效 Token)
允许匿名
request_id不需要
扣费

curl 示例

curl -H "Authorization: Bearer xpzc_live_****example" \
  https://your-domain.com/api/v1/token/info

成功响应

{
  "success": true,
  "data": {
    "token_id": 1,
    "name": "agent-query-token",
    "scopes": ["blacklist:query", "pcoin:balance:read"],
    "expires_at": "2026-12-31 23:59:59",
    "last_used_at": "2026-06-03 10:00:00",
    "created_at": "2026-06-01 00:00:00",
    "rate_limit": {
      "per_minute": { "limit": 60, "used": 3 },
      "per_day": { "limit": 1000, "used": 42 }
    }
  },
  "business_status": "success"
}
返回的是当前请求 Bearer Token 对应的记录,不会返回其他 Token 信息。不包含 token_hash 或明文 Token。

GET /api/v1/pcoin/balance implemented

读取当前 Token 所属账号的 P币余额。

项目
认证Bearer Token(必须)
required_scopepcoin:balance:read
允许匿名
request_id不需要
扣费

curl 示例

curl -H "Authorization: Bearer xpzc_live_****example" \
  https://your-domain.com/api/v1/pcoin/balance

成功响应

{
  "success": true,
  "data": {
    "admin_id": 5,
    "p_coin_balance": 100
  },
  "business_status": "success"
}

GET /api/v1/pcoin/transactions implemented

分页读取当前 Token 所属账号的 P币流水记录。

参数类型必填说明
pageint页码,默认 1
项目
认证Bearer Token(必须)
required_scopepcoin:transactions:read
允许匿名
request_id不需要
扣费

curl 示例

curl -H "Authorization: Bearer xpzc_live_****example" \
  "https://your-domain.com/api/v1/pcoin/transactions?page=1"

成功响应

{
  "success": true,
  "data": [
    {
      "id": 10,
      "type": "blacklist_query",
      "amount": -5,
      "balance_before": 105,
      "balance_after": 100,
      "related_type": "blacklist_query",
      "remark": "黑名单查询扣费",
      "created_at": "2026-06-03 12:00:00"
    }
  ],
  "total": 1,
  "page": 1,
  "totalPages": 1,
  "business_status": "success"
}

POST /api/v1/blacklist/query implemented

按关键词查询黑名单。可能触发 P币扣费。

参数类型必填说明
keywordstring查询关键词(姓名、手机号或身份证号)
request_idstring幂等 ID,建议 UUID
项目
认证Bearer Token(必须)
required_scopeblacklist:query
允许匿名
request_id必须
扣费是(P币制度启用且费用 > 0 时)

curl 示例

curl -X POST \
  -H "Authorization: Bearer xpzc_live_****example" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"张三","request_id":"agent-docs-example-001"}' \
  https://your-domain.com/api/v1/blacklist/query

成功响应(有结果)

{
  "success": true,
  "data": [
    {
      "name": "张三",
      "phone": "138****1234",
      "id_card": "110***********1234",
      "violation_desc": "逾期不还",
      "created_at": "2026-01-01 00:00:00"
    }
  ],
  "request_id": "agent-docs-example-001",
  "p_coin_deducted": 5,
  "balance_after": 95,
  "p_coin_cost": 5,
  "business_status": "success"
}

成功响应(无结果)

{
  "success": true,
  "data": [],
  "request_id": "agent-docs-example-001",
  "p_coin_deducted": 5,
  "balance_after": 95,
  "p_coin_cost": 5,
  "business_status": "success"
}

余额不足响应

{
  "success": false,
  "message": "P币余额不足,本次查询需要 5 P币,当前余额 2 P币。",
  "insufficient_balance": true,
  "request_id": "agent-docs-example-001",
  "p_coin_cost": 5,
  "balance": 2
}

重复请求响应

{
  "success": true,
  "data": [],
  "request_id": "agent-docs-example-001",
  "duplicate_request": true,
  "business_status": "success"
}

POST /api/v1/blacklist/submit implemented

提交黑名单投稿。允许匿名,不扣费。

参数类型必填说明
namestring姓名
phonestring手机号
id_cardstring身份证号
violation_descstring违规描述
request_idstring幂等 ID
addressstring联系地址
evidence_imagesstring证据图片 URL(逗号分隔)
项目
认证Bearer Token(可选)
required_scopeblacklist:submit
允许匿名
request_id必须
扣费

curl 示例

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"name":"李四","phone":"13900001111","id_card":"110101199001011234","violation_desc":"损坏车辆","request_id":"agent-docs-example-002"}' \
  https://your-domain.com/api/v1/blacklist/submit

成功响应

{
  "success": true,
  "message": "投稿成功,等待管理员审核",
  "id": 10,
  "request_id": "agent-docs-example-002",
  "business_status": "success"
}

GET /api/v1/blacklist/logs implemented

分页读取当前 Token 所属账号的黑名单查询日志。普通担保人仅可查看自己的日志。

参数类型必填说明
pageint页码,默认 1
项目
认证Bearer Token(必须)
required_scopeblacklist:logs:read
允许匿名
request_id不需要
扣费

curl 示例

curl -H "Authorization: Bearer xpzc_live_****example" \
  "https://your-domain.com/api/v1/blacklist/logs?page=1"

成功响应

{
  "success": true,
  "data": [
    {
      "request_id": "agent-docs-example-001",
      "query_type": "search",
      "result_count": 1,
      "status": "success",
      "p_coin_cost": 5,
      "p_coin_deducted": 5,
      "balance_before": 100,
      "balance_after": 95,
      "source": "api",
      "created_at": "2026-06-03 12:00:00"
    }
  ],
  "total": 1,
  "page": 1,
  "totalPages": 1,
  "business_status": "success"
}

Phase 2 建议接口 proposed

以下接口尚未实现,仅为后续版本规划。具体参数和行为可能在实现时调整。

以下接口均为 proposed 状态,当前不可调用。调用将返回 endpoint_not_foundAPI not found

担保人登录

项目
接口POST /api/v1/guarantor/login
说明担保人账号密码登录,返回 Session 或 Token
认证无(登录接口)
参数username, password
状态proposed

客户登录

项目
接口POST /api/v1/customer/login
说明客户账号密码登录
认证无(登录接口)
参数username, password
状态proposed

订单列表

项目
接口GET /api/v1/orders
说明分页读取当前账号可见订单
认证Bearer Token
scopeorders:read
参数page, keyword, status
权限担保人仅看自己关联订单,超管看全部
状态proposed

订单详情

项目
接口GET /api/v1/orders/detail?id={id}
说明读取单个订单详情
认证Bearer Token
scopeorders:read
权限担保人仅看自己关联订单
状态proposed

订单状态修改

项目
接口POST /api/v1/orders/updateStatus
说明修改订单状态(审核通过/拒绝)
认证Bearer Token
scopeorders:write
参数id, status, reject_reason
权限仅超级管理员
状态proposed

客户资料读取

项目
接口GET /api/v1/customers/list
说明分页读取当前账号关联客户
认证Bearer Token
scopecustomers:read
权限担保人仅看自己客户,超管看全部
状态proposed

Machine-Readable Schema

以下 JSON 可被自动化工具和 Agent 直接解析。不包含真实凭据。

loading...