skillpp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMPATIBILITY.md +58 -0
- package/LICENSE +21 -0
- package/README.md +307 -0
- package/README.zh-CN.md +307 -0
- package/SKILL.md +490 -0
- package/adapters/binance-ai.md +22 -0
- package/adapters/claude.md +21 -0
- package/adapters/gemini.md +26 -0
- package/adapters/gpt.md +28 -0
- package/adapters/kimi.md +26 -0
- package/adapters/mimo.md +22 -0
- package/adapters/openclaw.md +29 -0
- package/assets/skillpp-banner.png +0 -0
- package/package.json +59 -0
- package/pipelines.md +310 -0
- package/prompts/newbie-mode.md +48 -0
- package/prompts/router-prompt.md +32 -0
- package/prompts/universal-system-prompt.md +41 -0
- package/registry.md +209 -0
- package/rules.md +323 -0
- package/schemas/audit.schema.json +67 -0
- package/schemas/checkpoint.schema.json +86 -0
- package/schemas/handoff.schema.json +82 -0
- package/schemas/token.schema.json +36 -0
- package/scripts/compatibility-check.mjs +130 -0
- package/scripts/selftest.mjs +384 -0
- package/scripts/skillpp.mjs +448 -0
- package/scripts/validate-skillpp.mjs +140 -0
- package/skillpp.manifest.json +714 -0
- package/skills/audit-plus/SKILL.md +612 -0
- package/skills/binance/binance/CHANGELOG.md +112 -0
- package/skills/binance/binance/LICENSE.md +9 -0
- package/skills/binance/binance/SKILL.md +69 -0
- package/skills/binance/binance/references/algo.md +21 -0
- package/skills/binance/binance/references/alpha.md +9 -0
- package/skills/binance/binance/references/auth.md +32 -0
- package/skills/binance/binance/references/c2c.md +5 -0
- package/skills/binance/binance/references/convert.md +19 -0
- package/skills/binance/binance/references/copy-trading.md +6 -0
- package/skills/binance/binance/references/crypto-loan.md +27 -0
- package/skills/binance/binance/references/derivatives-options-streams.md +25 -0
- package/skills/binance/binance/references/derivatives-options.md +85 -0
- package/skills/binance/binance/references/derivatives-portfolio-margin-pro-streams.md +5 -0
- package/skills/binance/binance/references/derivatives-portfolio-margin-pro.md +34 -0
- package/skills/binance/binance/references/derivatives-portfolio-margin-streams.md +5 -0
- package/skills/binance/binance/references/derivatives-portfolio-margin.md +146 -0
- package/skills/binance/binance/references/dual-investment.md +15 -0
- package/skills/binance/binance/references/fiat.md +9 -0
- package/skills/binance/binance/references/futures-coin-streams.md +29 -0
- package/skills/binance/binance/references/futures-coin.md +109 -0
- package/skills/binance/binance/references/futures-usds-streams.md +35 -0
- package/skills/binance/binance/references/futures-usds.md +144 -0
- package/skills/binance/binance/references/gift-card.md +10 -0
- package/skills/binance/binance/references/margin-trading-streams.md +6 -0
- package/skills/binance/binance/references/margin-trading.md +101 -0
- package/skills/binance/binance/references/mining.md +17 -0
- package/skills/binance/binance/references/pay.md +5 -0
- package/skills/binance/binance/references/rebate.md +5 -0
- package/skills/binance/binance/references/simple-earn.md +56 -0
- package/skills/binance/binance/references/spot-streams.md +25 -0
- package/skills/binance/binance/references/spot.md +114 -0
- package/skills/binance/binance/references/staking.md +59 -0
- package/skills/binance/binance/references/sub-account.md +67 -0
- package/skills/binance/binance/references/vip-loan.md +27 -0
- package/skills/binance/binance/references/wallet.md +75 -0
- package/skills/binance/fiat/CHANGELOG.md +11 -0
- package/skills/binance/fiat/LICENSE.md +9 -0
- package/skills/binance/fiat/SKILL.md +169 -0
- package/skills/binance/fiat/references/authentication.md +126 -0
- package/skills/binance/fiat/references/sapi-endpoints.md +217 -0
- package/skills/binance/onchain-pay/.local.md.example +10 -0
- package/skills/binance/onchain-pay/CHANGELOG.md +20 -0
- package/skills/binance/onchain-pay/LICENSE.md +9 -0
- package/skills/binance/onchain-pay/SKILL.md +466 -0
- package/skills/binance/onchain-pay/references/authentication.md +92 -0
- package/skills/binance/onchain-pay/scripts/sign_and_call.sh +52 -0
- package/skills/binance/p2p/CHANGELOG.md +33 -0
- package/skills/binance/p2p/LICENSE.md +9 -0
- package/skills/binance/p2p/SKILL.md +1082 -0
- package/skills/binance/p2p/references/agent-sapi-api.md +795 -0
- package/skills/binance/p2p/references/authentication.md +100 -0
- package/skills/binance/payment/SKILL.md +824 -0
- package/skills/binance/payment/common.py +560 -0
- package/skills/binance/payment/payment_skill.py +86 -0
- package/skills/binance/payment/receive.py +109 -0
- package/skills/binance/payment/references/setup-guide.md +77 -0
- package/skills/binance/payment/requirements.txt +4 -0
- package/skills/binance/payment/send.py +952 -0
- package/skills/binance/payment/send_extension/__init__.py +43 -0
- package/skills/binance/payment/send_extension/base.py +48 -0
- package/skills/binance/payment/send_extension/c2c.py +193 -0
- package/skills/binance/payment/send_extension/pix.py +316 -0
- package/skills/binance/square-post/README.md +62 -0
- package/skills/binance/square-post/SKILL.md +171 -0
- package/skills/binance/square-post/scripts/lib.mjs +175 -0
- package/skills/binance/square-post/scripts/post-image.mjs +80 -0
- package/skills/binance/square-post/scripts/post-text.mjs +41 -0
- package/skills/binance/square-post/scripts/post-video.mjs +110 -0
- package/skills/binance/square-post/scripts/save-key.mjs +34 -0
- package/skills/binance-web3/binance-agentic-wallet/SKILL.md +150 -0
- package/skills/binance-web3/binance-agentic-wallet/references/authentication.md +136 -0
- package/skills/binance-web3/binance-agentic-wallet/references/limit-order.md +204 -0
- package/skills/binance-web3/binance-agentic-wallet/references/market-order.md +179 -0
- package/skills/binance-web3/binance-agentic-wallet/references/prediction.md +489 -0
- package/skills/binance-web3/binance-agentic-wallet/references/preflight.md +66 -0
- package/skills/binance-web3/binance-agentic-wallet/references/security.md +47 -0
- package/skills/binance-web3/binance-agentic-wallet/references/send.md +53 -0
- package/skills/binance-web3/binance-agentic-wallet/references/wallet-setting.md +86 -0
- package/skills/binance-web3/binance-agentic-wallet/references/wallet-view.md +312 -0
- package/skills/binance-web3/binance-agentic-wallet/references/x402-payment.md +259 -0
- package/skills/binance-web3/binance-tokenized-securities-info/SKILL.md +613 -0
- package/skills/binance-web3/crypto-market-rank/SKILL.md +91 -0
- package/skills/binance-web3/crypto-market-rank/references/cli.md +219 -0
- package/skills/binance-web3/crypto-market-rank/scripts/cli.mjs +149 -0
- package/skills/binance-web3/meme-rush/SKILL.md +72 -0
- package/skills/binance-web3/meme-rush/references/cli.md +158 -0
- package/skills/binance-web3/meme-rush/scripts/cli.mjs +101 -0
- package/skills/binance-web3/query-address-info/SKILL.md +61 -0
- package/skills/binance-web3/query-address-info/references/cli.md +56 -0
- package/skills/binance-web3/query-address-info/scripts/cli.mjs +132 -0
- package/skills/binance-web3/query-token-audit/SKILL.md +162 -0
- package/skills/binance-web3/query-token-info/SKILL.md +83 -0
- package/skills/binance-web3/query-token-info/references/cli.md +135 -0
- package/skills/binance-web3/query-token-info/scripts/cli.mjs +112 -0
- package/skills/binance-web3/trading-signal/SKILL.md +66 -0
- package/skills/binance-web3/trading-signal/references/cli.md +90 -0
- package/skills/binance-web3/trading-signal/scripts/cli.mjs +92 -0
- package/skills/four-meme/four-guard/API-Contract-TaxToken.md +277 -0
- package/skills/four-meme/four-guard/API-CreateToken.02-02-2026.md +285 -0
- package/skills/four-meme/four-guard/API-Documents.03-03-2026.md +789 -0
- package/skills/four-meme/four-guard/AgentIdentifier.abi +585 -0
- package/skills/four-meme/four-guard/README.md +21 -0
- package/skills/four-meme/four-guard/SKILL.md +31 -0
- package/skills/four-meme/four-guard/TaxToken.abi +969 -0
- package/skills/four-meme/four-guard/TokenIdentifierSample.js_ +81 -0
- package/skills/four-meme/four-guard/TokenIdentifierSample.sol +69 -0
- package/skills/four-meme/four-guard/TokenManager.lite.abi +836 -0
- package/skills/four-meme/four-guard/TokenManager2.lite.abi +2325 -0
- package/skills/four-meme/four-guard/TokenManagerHelper3.abi +999 -0
- package/skills/four-meme/four-guard/go.mod +36 -0
- package/skills/four-meme/four-guard/go.sum +127 -0
- package/skills/four-meme/four-guard/main.go +183 -0
- package/skills/four-meme/four-meme-ai/SKILL.md +31 -0
- package/skills/four-meme/four-meme-ai/references/agent-creator-and-wallets.md +87 -0
- package/skills/four-meme/four-meme-ai/references/api-create-token.md +55 -0
- package/skills/four-meme/four-meme-ai/references/contract-addresses.md +47 -0
- package/skills/four-meme/four-meme-ai/references/create-token-scripts.md +131 -0
- package/skills/four-meme/four-meme-ai/references/errors.md +29 -0
- package/skills/four-meme/four-meme-ai/references/event-listening.md +75 -0
- package/skills/four-meme/four-meme-ai/references/execute-trade.md +31 -0
- package/skills/four-meme/four-meme-ai/references/tax-token-query.md +38 -0
- package/skills/four-meme/four-meme-ai/references/token-query-api.md +44 -0
- package/skills/four-meme/four-meme-ai/references/token-tax-info.md +77 -0
- package/skills/four-meme/four-meme-ai/scripts/8004-balance.ts +52 -0
- package/skills/four-meme/four-meme-ai/scripts/8004-register.ts +108 -0
- package/skills/four-meme/four-meme-ai/scripts/create-token-api.ts +321 -0
- package/skills/four-meme/four-meme-ai/scripts/create-token-chain.ts +102 -0
- package/skills/four-meme/four-meme-ai/scripts/create-token-instant.ts +106 -0
- package/skills/four-meme/four-meme-ai/scripts/execute-buy.ts +198 -0
- package/skills/four-meme/four-meme-ai/scripts/execute-sell.ts +150 -0
- package/skills/four-meme/four-meme-ai/scripts/get-public-config.ts +25 -0
- package/skills/four-meme/four-meme-ai/scripts/get-recent-events.ts +76 -0
- package/skills/four-meme/four-meme-ai/scripts/get-tax-token-info.ts +69 -0
- package/skills/four-meme/four-meme-ai/scripts/get-token-info.ts +94 -0
- package/skills/four-meme/four-meme-ai/scripts/quote-buy.ts +85 -0
- package/skills/four-meme/four-meme-ai/scripts/quote-sell.ts +66 -0
- package/skills/four-meme/four-meme-ai/scripts/send-token.ts +98 -0
- package/skills/four-meme/four-meme-ai/scripts/token-get.ts +31 -0
- package/skills/four-meme/four-meme-ai/scripts/token-list.ts +134 -0
- package/skills/four-meme/four-meme-ai/scripts/token-rankings.ts +162 -0
- package/skills/four-meme/four-meme-ai/scripts/verify-events.ts +47 -0
- package/skills/four-meme/four-meme-integration/SKILL.md +374 -0
- package/skills/four-meme/four-meme-integration/references/agent-creator-and-wallets.md +87 -0
- package/skills/four-meme/four-meme-integration/references/api-create-token.md +55 -0
- package/skills/four-meme/four-meme-integration/references/contract-addresses.md +47 -0
- package/skills/four-meme/four-meme-integration/references/create-token-scripts.md +131 -0
- package/skills/four-meme/four-meme-integration/references/errors.md +29 -0
- package/skills/four-meme/four-meme-integration/references/event-listening.md +75 -0
- package/skills/four-meme/four-meme-integration/references/execute-trade.md +31 -0
- package/skills/four-meme/four-meme-integration/references/tax-token-query.md +38 -0
- package/skills/four-meme/four-meme-integration/references/token-query-api.md +44 -0
- package/skills/four-meme/four-meme-integration/references/token-tax-info.md +77 -0
- package/skills/four-meme/four-meme-integration/scripts/8004-balance.ts +52 -0
- package/skills/four-meme/four-meme-integration/scripts/8004-register.ts +108 -0
- package/skills/four-meme/four-meme-integration/scripts/create-token-api.ts +321 -0
- package/skills/four-meme/four-meme-integration/scripts/create-token-chain.ts +102 -0
- package/skills/four-meme/four-meme-integration/scripts/create-token-instant.ts +106 -0
- package/skills/four-meme/four-meme-integration/scripts/execute-buy.ts +198 -0
- package/skills/four-meme/four-meme-integration/scripts/execute-sell.ts +150 -0
- package/skills/four-meme/four-meme-integration/scripts/get-public-config.ts +25 -0
- package/skills/four-meme/four-meme-integration/scripts/get-recent-events.ts +76 -0
- package/skills/four-meme/four-meme-integration/scripts/get-tax-token-info.ts +69 -0
- package/skills/four-meme/four-meme-integration/scripts/get-token-info.ts +94 -0
- package/skills/four-meme/four-meme-integration/scripts/quote-buy.ts +85 -0
- package/skills/four-meme/four-meme-integration/scripts/quote-sell.ts +66 -0
- package/skills/four-meme/four-meme-integration/scripts/send-token.ts +98 -0
- package/skills/four-meme/four-meme-integration/scripts/token-get.ts +31 -0
- package/skills/four-meme/four-meme-integration/scripts/token-list.ts +134 -0
- package/skills/four-meme/four-meme-integration/scripts/token-rankings.ts +162 -0
- package/skills/four-meme/four-meme-integration/scripts/verify-events.ts +47 -0
- package/skills/skillpp/contract-profiler/SKILL.md +118 -0
- package/skills/skillpp/newbie-tutor/SKILL.md +85 -0
- package/skills/skillpp/opportunity-board/SKILL.md +87 -0
- package/skills/skillpp/risk-fusion/SKILL.md +146 -0
- package/skills/skillpp/scam-pattern-lab/SKILL.md +115 -0
- package/skills/skillpp/wallet-doctor/SKILL.md +119 -0
- package/skills/skillpp/watchtower/SKILL.md +72 -0
- package/tests/compatibility/v0.1.0.json +117 -0
|
@@ -0,0 +1,795 @@
|
|
|
1
|
+
# Agent SAPI API Reference
|
|
2
|
+
|
|
3
|
+
Complete API reference for all C2C Agent SAPI endpoints used by the P2P Skill (Phase 3).
|
|
4
|
+
|
|
5
|
+
All endpoints require authentication (API Key + HMAC SHA256 signature).
|
|
6
|
+
See `authentication.md` for signing details.
|
|
7
|
+
|
|
8
|
+
**Base URL:** `https://api.binance.com`
|
|
9
|
+
|
|
10
|
+
**Common Headers:**
|
|
11
|
+
```
|
|
12
|
+
X-MBX-APIKEY: {your_api_key}
|
|
13
|
+
User-Agent: binance-wallet/1.0.0 (Skill)
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Common Response Wrapper:**
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"code": "000000",
|
|
20
|
+
"message": null,
|
|
21
|
+
"data": { ... },
|
|
22
|
+
"success": true
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Paginated Response Wrapper:**
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"code": "000000",
|
|
30
|
+
"data": [ ... ],
|
|
31
|
+
"total": 100,
|
|
32
|
+
"success": true
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 1. Order Match APIs
|
|
39
|
+
|
|
40
|
+
### 1.1 Get Order Detail
|
|
41
|
+
|
|
42
|
+
Get detailed information for a specific order.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
POST /sapi/v1/c2c/agent/orderMatch/getUserOrderDetail
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Request Body (JSON):**
|
|
49
|
+
|
|
50
|
+
| Field | Type | Required | Description |
|
|
51
|
+
|-------|------|----------|-------------|
|
|
52
|
+
| orderNumber | String | Yes | Order number to query |
|
|
53
|
+
|
|
54
|
+
**Response (AgentOrderDetailResp):**
|
|
55
|
+
|
|
56
|
+
| Field | Type | Description |
|
|
57
|
+
|-------|------|-------------|
|
|
58
|
+
| orderNumber | String | Order number |
|
|
59
|
+
| advOrderNumber | String | Advertisement order number |
|
|
60
|
+
| tradeType | String | BUY / SELL |
|
|
61
|
+
| orderStatus | Integer | 1=Unpaid, 2=Paid, 3=Appealing, 4=Completed, 6=Cancelled, 7=CancelledBySystem |
|
|
62
|
+
| asset | String | Crypto asset (e.g. USDT) |
|
|
63
|
+
| amount | BigDecimal | Crypto amount |
|
|
64
|
+
| price | BigDecimal | Unit price |
|
|
65
|
+
| totalPrice | BigDecimal | Total fiat amount |
|
|
66
|
+
| fiatUnit | String | Fiat currency code |
|
|
67
|
+
| fiatSymbol | String | Fiat symbol (e.g. ¥) |
|
|
68
|
+
| buyerNickname | String | Buyer nickname (not masked) |
|
|
69
|
+
| sellerNickname | String | Seller nickname (not masked) |
|
|
70
|
+
| createTime | Date | Order creation time |
|
|
71
|
+
| notifyPayTime | Date | Buyer marked paid time |
|
|
72
|
+
| confirmPayTime | Date | Seller confirmed time |
|
|
73
|
+
| cancelTime | Date | Order cancel time |
|
|
74
|
+
| notifyPayEndTime | Date | Payment deadline |
|
|
75
|
+
| confirmPayEndTime | Date | Release deadline |
|
|
76
|
+
| isComplaintAllowed | Boolean | Whether complaint is allowed |
|
|
77
|
+
| complaintStatus | Integer | Complaint status |
|
|
78
|
+
| commissionRate | BigDecimal | Maker commission rate |
|
|
79
|
+
| commission | BigDecimal | Maker commission amount |
|
|
80
|
+
| takerCommissionRate | BigDecimal | Taker commission rate |
|
|
81
|
+
| takerCommission | BigDecimal | Taker commission amount |
|
|
82
|
+
| takerAmount | BigDecimal | Taker net amount |
|
|
83
|
+
|
|
84
|
+
**Example:**
|
|
85
|
+
```bash
|
|
86
|
+
curl -X POST "https://api.binance.com/sapi/v1/c2c/agent/orderMatch/getUserOrderDetail?timestamp=${TIMESTAMP}&signature=${SIGNATURE}" \
|
|
87
|
+
-H "X-MBX-APIKEY: ${API_KEY}" \
|
|
88
|
+
-H "User-Agent: binance-wallet/1.0.0 (Skill)" \
|
|
89
|
+
-H "Content-Type: application/json" \
|
|
90
|
+
-d '{"orderNumber": "20260315123456789"}'
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
> **Note:** See `authentication.md` for the complete Bash signing setup.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### 1.2 List Orders
|
|
98
|
+
|
|
99
|
+
List orders with rich filters and pagination.
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
POST /sapi/v1/c2c/agent/orderMatch/listOrders
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Request Body (JSON):**
|
|
106
|
+
|
|
107
|
+
| Field | Type | Required | Default | Description |
|
|
108
|
+
|-------|------|----------|---------|-------------|
|
|
109
|
+
| advNo | String | No | — | Filter by advertisement number |
|
|
110
|
+
| asset | String | No | — | Filter by crypto asset |
|
|
111
|
+
| orderStatus | Integer | No | — | Filter by single status |
|
|
112
|
+
| tradeType | String | No | — | 0=BUY, 1=SELL |
|
|
113
|
+
| payType | Integer | No | — | Filter by payment method type |
|
|
114
|
+
| orderStatusList | List\<Integer\> | No | — | Filter by multiple statuses |
|
|
115
|
+
| startDate | Long | No | — | Start timestamp (ms) |
|
|
116
|
+
| endDate | Long | No | — | End timestamp (ms) |
|
|
117
|
+
| page | Integer | No | 1 | Page number |
|
|
118
|
+
| rows | Integer | No | 20 | Page size (max 20) |
|
|
119
|
+
|
|
120
|
+
**Response (Paginated List of AgentOrderListResp):**
|
|
121
|
+
|
|
122
|
+
| Field | Type | Description |
|
|
123
|
+
|-------|------|-------------|
|
|
124
|
+
| orderNumber | String | Order number |
|
|
125
|
+
| advNo | String | Advertisement number |
|
|
126
|
+
| tradeType | String | Trade type |
|
|
127
|
+
| asset | String | Crypto asset |
|
|
128
|
+
| fiat | String | Fiat currency |
|
|
129
|
+
| fiatSymbol | String | Fiat symbol |
|
|
130
|
+
| amount | String | Crypto amount |
|
|
131
|
+
| totalPrice | String | Total fiat amount |
|
|
132
|
+
| orderStatus | Integer | Status code |
|
|
133
|
+
| createTime | Date | Creation time |
|
|
134
|
+
| confirmPayEndTime | Date | Release deadline |
|
|
135
|
+
| notifyPayEndTime | Date | Payment deadline |
|
|
136
|
+
| buyerNickname | String | Buyer nickname |
|
|
137
|
+
| sellerNickname | String | Seller nickname |
|
|
138
|
+
| commissionRate | BigDecimal | Maker commission rate |
|
|
139
|
+
| commission | BigDecimal | Maker commission |
|
|
140
|
+
| takerCommissionRate | BigDecimal | Taker commission rate |
|
|
141
|
+
| takerCommission | BigDecimal | Taker commission |
|
|
142
|
+
| takerAmount | BigDecimal | Taker net amount |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### 1.3 List User Order History
|
|
147
|
+
|
|
148
|
+
List historical orders with pagination.
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
GET /sapi/v1/c2c/agent/orderMatch/listUserOrderHistory
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Query Parameters:**
|
|
155
|
+
|
|
156
|
+
| Field | Type | Required | Default | Description |
|
|
157
|
+
|-------|------|----------|---------|-------------|
|
|
158
|
+
| startTimestamp | Long | No | 30 days ago | Start timestamp (ms) |
|
|
159
|
+
| endTimestamp | Long | No | now | End timestamp (ms) |
|
|
160
|
+
| tradeType | String | No | — | BUY / SELL |
|
|
161
|
+
| page | Integer | No | 1 | Page number (min 1) |
|
|
162
|
+
| rows | Integer | No | 100 | Page size (min 1, max 100) |
|
|
163
|
+
|
|
164
|
+
**Response (Paginated List of AgentOrderHistoryResp):**
|
|
165
|
+
|
|
166
|
+
| Field | Type | Description |
|
|
167
|
+
|-------|------|-------------|
|
|
168
|
+
| orderNumber | String | Order number |
|
|
169
|
+
| advNo | String | Advertisement number |
|
|
170
|
+
| tradeType | String | Trade type |
|
|
171
|
+
| asset | String | Crypto asset |
|
|
172
|
+
| fiat | String | Fiat currency |
|
|
173
|
+
| fiatSymbol | String | Fiat symbol |
|
|
174
|
+
| amount | String | Crypto amount |
|
|
175
|
+
| totalPrice | String | Total fiat amount |
|
|
176
|
+
| unitPrice | BigDecimal | Unit price |
|
|
177
|
+
| orderStatus | String | Status name (e.g. COMPLETED) |
|
|
178
|
+
| createTime | Date | Creation time |
|
|
179
|
+
| commission | BigDecimal | Commission |
|
|
180
|
+
| takerCommissionRate | BigDecimal | Taker commission rate |
|
|
181
|
+
| takerCommission | BigDecimal | Taker commission |
|
|
182
|
+
| takerAmount | BigDecimal | Taker net amount |
|
|
183
|
+
| counterPartNickName | String | Counterparty nickname (not masked) |
|
|
184
|
+
| payMethodName | String | Payment method name |
|
|
185
|
+
| advertisementRole | String | MAKER / TAKER |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 2. Complaint APIs
|
|
190
|
+
|
|
191
|
+
### 2.1 Query Complaints
|
|
192
|
+
|
|
193
|
+
Query complaint/appeal records with filters and pagination.
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
POST /sapi/v1/c2c/agent/complaint/query-complaints
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Request Body (JSON):**
|
|
200
|
+
|
|
201
|
+
| Field | Type | Required | Default | Description |
|
|
202
|
+
|-------|------|----------|---------|-------------|
|
|
203
|
+
| roleIdentity | String | No | — | COMPLAINANT or RESPONDENT |
|
|
204
|
+
| orderNoList | List\<String\> | No | — | Filter by order numbers |
|
|
205
|
+
| complaintStatusList | List\<Integer\> | No | — | Filter by complaint statuses |
|
|
206
|
+
| orderStatusListWhenInitiate | List\<Integer\> | No | — | Filter by order status at complaint time |
|
|
207
|
+
| startTime | Date | No | 90 days ago | Query start time |
|
|
208
|
+
| endTime | Date | No | now | Query end time |
|
|
209
|
+
| page | Integer | No | 1 | Page number |
|
|
210
|
+
| rows | Integer | No | 20 | Page size |
|
|
211
|
+
|
|
212
|
+
**Response (Paginated List of AgentComplaintQueryResp):**
|
|
213
|
+
|
|
214
|
+
| Field | Type | Description |
|
|
215
|
+
|-------|------|-------------|
|
|
216
|
+
| orderNo | String | Order number |
|
|
217
|
+
| complaintNo | Long | Complaint number |
|
|
218
|
+
| complaintStatus | Integer | Complaint status |
|
|
219
|
+
| orderStatusWhenInitiate | Integer | Order status when complaint was filed |
|
|
220
|
+
| complaintCreateTime | Date | Complaint creation time |
|
|
221
|
+
| reason | String | Complaint reason |
|
|
222
|
+
| roleIdentity | String | COMPLAINANT / RESPONDENT |
|
|
223
|
+
| orderFiat | String | Order fiat currency |
|
|
224
|
+
| orderAsset | String | Order crypto asset |
|
|
225
|
+
| orderAmount | BigDecimal | Order amount |
|
|
226
|
+
| orderAmountInUsdt | BigDecimal | Order amount in USDT |
|
|
227
|
+
| disputeAmount | BigDecimal | Dispute amount |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 3. Ads APIs
|
|
232
|
+
|
|
233
|
+
### 3.1 Get Ad Detail By Number
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
POST /sapi/v1/c2c/agent/ads/getDetailByNo?advNo={advNo}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Query Parameters:**
|
|
240
|
+
|
|
241
|
+
| Field | Type | Required | Description |
|
|
242
|
+
|-------|------|----------|-------------|
|
|
243
|
+
| advNo | String | Yes | Advertisement number |
|
|
244
|
+
|
|
245
|
+
> **Note:** This endpoint only returns ads owned by the authenticated user. Querying another user's ad will return error `-1002`.
|
|
246
|
+
|
|
247
|
+
**Response (AgentAdDetailResp):**
|
|
248
|
+
|
|
249
|
+
| Field | Type | Description |
|
|
250
|
+
|-------|------|-------------|
|
|
251
|
+
| advNo | String | Advertisement number |
|
|
252
|
+
| classify | String | mass / profession / block / cash |
|
|
253
|
+
| tradeType | String | BUY / SELL |
|
|
254
|
+
| asset | String | Crypto asset |
|
|
255
|
+
| fiatUnit | String | Fiat currency code |
|
|
256
|
+
| advStatus | Integer | 1=Online, 3=Offline, 4=Closed |
|
|
257
|
+
| priceType | Integer | 1=Fixed, 2=Floating |
|
|
258
|
+
| priceFloatingRatio | BigDecimal | Floating ratio % |
|
|
259
|
+
| price | BigDecimal | Unit price |
|
|
260
|
+
| initAmount | BigDecimal | Initial amount |
|
|
261
|
+
| surplusAmount | BigDecimal | Remaining amount |
|
|
262
|
+
| tradableQuantity | BigDecimal | Tradable quantity |
|
|
263
|
+
| maxSingleTransAmount | BigDecimal | Max fiat per order |
|
|
264
|
+
| minSingleTransAmount | BigDecimal | Min fiat per order |
|
|
265
|
+
| payTimeLimit | Integer | Payment time limit (min) |
|
|
266
|
+
| remarks | String | Remarks |
|
|
267
|
+
| autoReplyMsg | String | Auto reply message |
|
|
268
|
+
| createTime | Date | Creation time |
|
|
269
|
+
| tradeMethods | List\<AgentTradeMethodResp\> | Payment methods |
|
|
270
|
+
| commissionRate | BigDecimal | Commission rate |
|
|
271
|
+
| buyerKycLimit | Integer | Buyer KYC required |
|
|
272
|
+
| buyerRegDaysLimit | Integer | Buyer min reg days |
|
|
273
|
+
| buyerBtcPositionLimit | BigDecimal | Buyer min BTC |
|
|
274
|
+
| takerAdditionalKycRequired | Integer | Extra verification |
|
|
275
|
+
|
|
276
|
+
**AgentTradeMethodResp:**
|
|
277
|
+
|
|
278
|
+
| Field | Type | Description |
|
|
279
|
+
|-------|------|-------------|
|
|
280
|
+
| identifier | String | Method identifier (e.g. ALIPAY) |
|
|
281
|
+
| tradeMethodName | String | Display name |
|
|
282
|
+
| iconUrlColor | String | Icon URL |
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### 3.2 List Ads With Pagination
|
|
287
|
+
|
|
288
|
+
List current user's own advertisements.
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
POST /sapi/v1/c2c/agent/ads/listWithPagination
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Request Body (JSON):**
|
|
295
|
+
|
|
296
|
+
| Field | Type | Required | Default | Description |
|
|
297
|
+
|-------|------|----------|---------|-------------|
|
|
298
|
+
| page | Integer | No | 1 | Page number |
|
|
299
|
+
| rows | Integer | No | 20 | Page size |
|
|
300
|
+
|
|
301
|
+
**Response:** Paginated list of `AgentAdDetailResp` (same schema as 3.1).
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
### 3.3 Search Ads
|
|
306
|
+
|
|
307
|
+
Search market ads with rich filters.
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
POST /sapi/v1/c2c/agent/ads/search
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Request Body (JSON):**
|
|
314
|
+
|
|
315
|
+
| Field | Type | Required | Default | Description |
|
|
316
|
+
|-------|------|----------|---------|-------------|
|
|
317
|
+
| publisherType | String | No | — | "user" or "merchant" |
|
|
318
|
+
| fiat | String | Yes | — | Fiat currency |
|
|
319
|
+
| asset | String | Yes | — | Crypto asset |
|
|
320
|
+
| tradeType | String | Yes | — | BUY / SELL |
|
|
321
|
+
| payTypes | List\<String\> | No | — | Payment method filters |
|
|
322
|
+
| transAmount | BigDecimal | No | — | Transaction amount filter |
|
|
323
|
+
| countries | List\<String\> | No | — | Country filters |
|
|
324
|
+
| classifies | List\<String\> | No | auto | Ad classifies filter |
|
|
325
|
+
| page | Integer | No | 1 | Page number |
|
|
326
|
+
| rows | Integer | No | 20 | Page size |
|
|
327
|
+
|
|
328
|
+
**Response (Paginated List of AgentAdSearchResp):**
|
|
329
|
+
|
|
330
|
+
| Field | Type | Description |
|
|
331
|
+
|-------|------|-------------|
|
|
332
|
+
| adv | AgentAdDetailResp | Ad detail (see 3.1) |
|
|
333
|
+
| advertiser | AgentAdvertiserResp | Advertiser info |
|
|
334
|
+
|
|
335
|
+
**AgentAdvertiserResp:**
|
|
336
|
+
|
|
337
|
+
| Field | Type | Description |
|
|
338
|
+
|-------|------|-------------|
|
|
339
|
+
| userNo | String | User number |
|
|
340
|
+
| nickName | String | Nickname (not masked) |
|
|
341
|
+
| orderCount | Integer | Total order count |
|
|
342
|
+
| monthOrderCount | Integer | 30-day orders |
|
|
343
|
+
| monthFinishRate | BigDecimal | 30-day completion rate |
|
|
344
|
+
| advConfirmTime | Integer | Avg release time (seconds) |
|
|
345
|
+
| userType | String | user / merchant |
|
|
346
|
+
| tagIconUrls | List\<String\> | Tag icon URLs |
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
### 3.4 Get Reference Price
|
|
351
|
+
|
|
352
|
+
Get market reference prices for pricing decisions.
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
POST /sapi/v1/c2c/agent/ads/getReferencePrice
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**Request Body (JSON):**
|
|
359
|
+
|
|
360
|
+
| Field | Type | Required | Description |
|
|
361
|
+
|-------|------|----------|-------------|
|
|
362
|
+
| assets | List\<String\> | No | Crypto assets (max 3), e.g. ["BTC","ETH","USDT"] |
|
|
363
|
+
| fiatCurrency | String | Yes | Fiat currency |
|
|
364
|
+
| tradeType | String | Yes | BUY or SELL |
|
|
365
|
+
| payType | String | No | Payment method filter |
|
|
366
|
+
|
|
367
|
+
**Response (List of AgentAdReferencePriceResp):**
|
|
368
|
+
|
|
369
|
+
| Field | Type | Description |
|
|
370
|
+
|-------|------|-------------|
|
|
371
|
+
| asset | String | Crypto asset |
|
|
372
|
+
| currency | String | Fiat currency |
|
|
373
|
+
| currencyScale | Integer | Fiat decimal scale |
|
|
374
|
+
| currencySymbol | String | Fiat symbol |
|
|
375
|
+
| referencePrice | BigDecimal | Reference exchange rate |
|
|
376
|
+
| assetScale | Integer | Asset decimal scale |
|
|
377
|
+
| priceScale | Integer | Price decimal scale |
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
### 3.5 Get Available Ads Category
|
|
382
|
+
|
|
383
|
+
Get ad categories the current user can publish.
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
GET /sapi/v1/c2c/agent/ads/getAvailableAdsCategory
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**No request body.**
|
|
390
|
+
|
|
391
|
+
**Response (AgentAdsCategoryResp):**
|
|
392
|
+
|
|
393
|
+
| Field | Type | Description |
|
|
394
|
+
|-------|------|-------------|
|
|
395
|
+
| advClassifies | List\<String\> | Available classifies: mass, profession, block, cash |
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
### 3.6 Get User Payment Methods
|
|
400
|
+
|
|
401
|
+
Get current user's configured payment methods (agent-safe: no account details).
|
|
402
|
+
|
|
403
|
+
```
|
|
404
|
+
GET /sapi/v1/c2c/agent/ads/getPayMethodByUserId
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**No request body.**
|
|
408
|
+
|
|
409
|
+
**Response (List of AgentPayMethodResp):**
|
|
410
|
+
|
|
411
|
+
| Field | Type | Description |
|
|
412
|
+
|-------|------|-------------|
|
|
413
|
+
| payId | Long | Payment method ID (needed for SELL ads) |
|
|
414
|
+
| identifier | String | Method identifier (e.g. ALIPAY) |
|
|
415
|
+
| tradeMethodName | String | Display name |
|
|
416
|
+
|
|
417
|
+
> **Note:** For SELL ads, use `payId` in tradeMethods. For BUY ads, use `identifier` from system trade methods.
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
### 3.7 List All System Trade Methods
|
|
422
|
+
|
|
423
|
+
List all available trade methods in the system.
|
|
424
|
+
|
|
425
|
+
```
|
|
426
|
+
POST /sapi/v1/c2c/agent/ads/listAllTradeMethods
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
**No request body.**
|
|
430
|
+
|
|
431
|
+
**Response (List of TradeMethodBaseInfoVO):**
|
|
432
|
+
|
|
433
|
+
| Field | Type | Description |
|
|
434
|
+
|-------|------|-------------|
|
|
435
|
+
| identifier | String | Trade method identifier |
|
|
436
|
+
| tradeMethodName | String | Display name |
|
|
437
|
+
| (other fields) | — | Additional method info |
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
### 3.8 Post Ad (Write Operation)
|
|
442
|
+
|
|
443
|
+
Publish a new advertisement. **Requires merchant permission.**
|
|
444
|
+
|
|
445
|
+
```
|
|
446
|
+
POST /sapi/v1/c2c/agent/ads/post
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
**Request Body (JSON):**
|
|
450
|
+
|
|
451
|
+
| Field | Type | Required | Default | Description |
|
|
452
|
+
|-------|------|----------|---------|-------------|
|
|
453
|
+
| classify | String | Yes | "mass" | Ad category |
|
|
454
|
+
| tradeType | String | Yes | — | 0=BUY, 1=SELL |
|
|
455
|
+
| asset | String | Yes | — | Crypto asset |
|
|
456
|
+
| fiatUnit | String | Yes | — | Fiat currency |
|
|
457
|
+
| priceType | Integer | Yes | — | 1=Fixed, 2=Floating |
|
|
458
|
+
| priceFloatingRatio | BigDecimal | Conditional | — | Required if priceType=2 |
|
|
459
|
+
| rateFloatingRatio | BigDecimal | No | — | Exchange rate floating |
|
|
460
|
+
| price | BigDecimal | Conditional | — | Required if priceType=1 |
|
|
461
|
+
| initAmount | BigDecimal | Yes | — | Total crypto amount |
|
|
462
|
+
| maxSingleTransAmount | BigDecimal | Yes | — | Max fiat per order |
|
|
463
|
+
| minSingleTransAmount | BigDecimal | Yes | — | Min fiat per order |
|
|
464
|
+
| buyerKycLimit | Integer | Yes | — | 0=No, 1=Yes |
|
|
465
|
+
| buyerRegDaysLimit | Integer | No | — | Min buyer reg days |
|
|
466
|
+
| buyerBtcPositionLimit | BigDecimal | No | — | Min buyer BTC |
|
|
467
|
+
| remarks | String | No | — | Max 1000 chars |
|
|
468
|
+
| autoReplyMsg | String | No | — | Max 1000 chars |
|
|
469
|
+
| onlineNow | Boolean | No | — | Go online immediately |
|
|
470
|
+
| payTimeLimit | Integer | No | — | Payment time limit (min) |
|
|
471
|
+
| tradeMethods | List\<TradeMethod\> | Yes | — | Payment methods |
|
|
472
|
+
| takerAdditionalKycRequired | Integer | No | — | 0=No, 1=Yes |
|
|
473
|
+
| launchCountry | List\<String\> | No | — | Target countries |
|
|
474
|
+
|
|
475
|
+
**TradeMethod object:**
|
|
476
|
+
|
|
477
|
+
| Field | Type | Description |
|
|
478
|
+
|-------|------|-------------|
|
|
479
|
+
| payId | Long | User's payment method ID (for SELL ads) |
|
|
480
|
+
| payType | String | Payment type |
|
|
481
|
+
| identifier | String | Trade method identifier (for BUY ads) |
|
|
482
|
+
|
|
483
|
+
**Response:** `CommonRet<String>` where data is the new ad number (advNo).
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
### 3.9 Update Ad (Write Operation)
|
|
488
|
+
|
|
489
|
+
Update an existing advertisement. **Requires merchant permission.**
|
|
490
|
+
|
|
491
|
+
> **Important — full-object update:** The downstream service validates the complete ad object, not just the changed fields. Sending only `advNo` + one field (e.g. `price`) will result in error `-9000`. The recommended workflow is:
|
|
492
|
+
> 1. Call `getDetailByNo?advNo={advNo}` to fetch the current ad.
|
|
493
|
+
> 2. Merge your changes into the full response object.
|
|
494
|
+
> 3. Submit the merged object to this endpoint.
|
|
495
|
+
|
|
496
|
+
```
|
|
497
|
+
POST /sapi/v1/c2c/agent/ads/update
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
**Request Body (JSON):**
|
|
501
|
+
|
|
502
|
+
| Field | Type | Required | Description |
|
|
503
|
+
|-------|------|----------|-------------|
|
|
504
|
+
| advNo | String | Yes | Ad number to update |
|
|
505
|
+
| tradeType | String | No | 0=BUY, 1=SELL |
|
|
506
|
+
| asset | String | No | Crypto asset |
|
|
507
|
+
| fiatUnit | String | No | Fiat currency |
|
|
508
|
+
| priceType | Integer | No | 1=Fixed, 2=Floating |
|
|
509
|
+
| priceFloatingRatio | BigDecimal | No | Floating ratio |
|
|
510
|
+
| rateFloatingRatio | BigDecimal | No | Rate floating |
|
|
511
|
+
| price | BigDecimal | No | Fixed price |
|
|
512
|
+
| initAmount | BigDecimal | No | Total amount |
|
|
513
|
+
| maxSingleTransAmount | BigDecimal | No | Max fiat per order |
|
|
514
|
+
| minSingleTransAmount | BigDecimal | No | Min fiat per order |
|
|
515
|
+
| buyerKycLimit | Integer | No | 0=No, 1=Yes |
|
|
516
|
+
| buyerRegDaysLimit | Integer | No | Min reg days |
|
|
517
|
+
| buyerBtcPositionLimit | BigDecimal | No | Min BTC |
|
|
518
|
+
| remarks | String | No | Remarks |
|
|
519
|
+
| autoReplyMsg | String | No | Auto reply |
|
|
520
|
+
| payTimeLimit | Integer | No | Payment time limit |
|
|
521
|
+
| tradeMethods | List\<TradeMethod\> | No | Payment methods |
|
|
522
|
+
| advStatus | Integer | No | 1=Online, 3=Offline, 4=Closed |
|
|
523
|
+
| takerAdditionalKycRequired | Integer | No | 0=No, 1=Yes |
|
|
524
|
+
| launchCountry | List\<String\> | No | Countries |
|
|
525
|
+
|
|
526
|
+
**Response:** `CommonRet<Boolean>` — true if update succeeded.
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
### 3.10 Update Ad Status (Write Operation)
|
|
531
|
+
|
|
532
|
+
Batch update advertisement status (online/offline/close).
|
|
533
|
+
|
|
534
|
+
```
|
|
535
|
+
POST /sapi/v1/c2c/agent/ads/updateStatus
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
**Request Body (JSON):**
|
|
539
|
+
|
|
540
|
+
| Field | Type | Required | Description |
|
|
541
|
+
|-------|------|----------|-------------|
|
|
542
|
+
| advNos | List\<String\> | Yes | Ad numbers to update (min 1) |
|
|
543
|
+
| advStatus | Integer | Yes | 1=Online, 3=Offline, 4=Closed |
|
|
544
|
+
|
|
545
|
+
**Response (AgentAdUpdateStatusResp):**
|
|
546
|
+
|
|
547
|
+
| Field | Type | Description |
|
|
548
|
+
|-------|------|-------------|
|
|
549
|
+
| status | Boolean | Overall success/failure |
|
|
550
|
+
| failList | List\<StatusUpdateResult\> | Failed items (if any) |
|
|
551
|
+
|
|
552
|
+
**StatusUpdateResult:**
|
|
553
|
+
|
|
554
|
+
| Field | Type | Description |
|
|
555
|
+
|-------|------|-------------|
|
|
556
|
+
| advNo | String | Failed ad number |
|
|
557
|
+
| errorCode | String | Error code |
|
|
558
|
+
| errorMessage | String | Error description |
|
|
559
|
+
|
|
560
|
+
---
|
|
561
|
+
|
|
562
|
+
## 4. Merchant APIs
|
|
563
|
+
|
|
564
|
+
### 4.1 Get Merchant Ad Details
|
|
565
|
+
|
|
566
|
+
Get merchant public profile with buy/sell ad listings.
|
|
567
|
+
|
|
568
|
+
```
|
|
569
|
+
GET /sapi/v1/c2c/agent/merchant/getAdDetails?merchantNo={merchantNo}
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
**Query Parameters:**
|
|
573
|
+
|
|
574
|
+
| Field | Type | Required | Description |
|
|
575
|
+
|-------|------|----------|-------------|
|
|
576
|
+
| merchantNo | String | Yes | Merchant number |
|
|
577
|
+
|
|
578
|
+
**Response (AgentMerchantAdsDetailResp):**
|
|
579
|
+
|
|
580
|
+
| Field | Type | Description |
|
|
581
|
+
|-------|------|-------------|
|
|
582
|
+
| merchant | AgentMerchantDetailResp | Merchant profile |
|
|
583
|
+
| buyList | List\<AgentAdDetailResp\> | Buy advertisements |
|
|
584
|
+
| sellList | List\<AgentAdDetailResp\> | Sell advertisements |
|
|
585
|
+
|
|
586
|
+
**AgentMerchantDetailResp:**
|
|
587
|
+
|
|
588
|
+
| Field | Type | Description |
|
|
589
|
+
|-------|------|-------------|
|
|
590
|
+
| merchantNo | String | Merchant number |
|
|
591
|
+
| userType | String | user / merchant |
|
|
592
|
+
| nickName | String | Nickname (not masked) |
|
|
593
|
+
| orderCount | Integer | Total order count |
|
|
594
|
+
| monthOrderCount | Integer | 30-day orders |
|
|
595
|
+
| monthFinishRate | BigDecimal | 30-day completion rate |
|
|
596
|
+
| advConfirmTime | Integer | Avg release time (s) |
|
|
597
|
+
| onlineStatus | String | 0=Offline, 1=Online |
|
|
598
|
+
| registerDays | Integer | Registration days |
|
|
599
|
+
| firstOrderDays | Integer | Days since first order |
|
|
600
|
+
| avgReleaseTimeOfLatest30day | Double | 30-day avg release (s) |
|
|
601
|
+
| avgPayTimeOfLatest30day | Double | 30-day avg payment (s) |
|
|
602
|
+
| completedOrderNumOfLatest30day | Long | 30-day completed orders |
|
|
603
|
+
|
|
604
|
+
---
|
|
605
|
+
|
|
606
|
+
## 5. Support APIs
|
|
607
|
+
|
|
608
|
+
### 5.1 List Digital Currencies
|
|
609
|
+
|
|
610
|
+
```
|
|
611
|
+
POST /sapi/v1/c2c/agent/digitalCurrency/list
|
|
612
|
+
```
|
|
613
|
+
|
|
614
|
+
**No request body.**
|
|
615
|
+
|
|
616
|
+
**Response:** `List<DigitalCurrencyResponse>` — all supported digital currencies.
|
|
617
|
+
|
|
618
|
+
---
|
|
619
|
+
|
|
620
|
+
### 5.2 List Fiat Currencies
|
|
621
|
+
|
|
622
|
+
```
|
|
623
|
+
POST /sapi/v1/c2c/agent/fiatCurrency/list
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
**No request body.**
|
|
627
|
+
|
|
628
|
+
**Response:** `List<FiatCurrencyResponse>` — all supported fiat currencies.
|
|
629
|
+
|
|
630
|
+
---
|
|
631
|
+
|
|
632
|
+
## Authentication Notes
|
|
633
|
+
|
|
634
|
+
All Agent SAPI endpoints share the same authentication mechanism:
|
|
635
|
+
|
|
636
|
+
1. All requests require `timestamp` and `signature` query parameters
|
|
637
|
+
2. **SAPI signing: DO NOT sort parameters** — keep insertion order
|
|
638
|
+
3. Required headers: `X-MBX-APIKEY` + `User-Agent`
|
|
639
|
+
4. See `authentication.md` for complete signing process
|
|
640
|
+
|
|
641
|
+
## Privacy & Security
|
|
642
|
+
|
|
643
|
+
All Agent SAPI responses are **pre-filtered** at the DTO level:
|
|
644
|
+
- **Excluded:** real names, phone numbers, emails, bank accounts, payment details, KYC info
|
|
645
|
+
- **Included:** nicknames (not masked), order/ad data, trade statistics
|
|
646
|
+
- The Agent field filter (`AgentFieldFilter`) handles any runtime masking needed
|
|
647
|
+
|
|
648
|
+
## 6. File Upload (AgentFileUploadController)
|
|
649
|
+
|
|
650
|
+
Base path: `/sapi/v1/c2c/agent/file-upload`
|
|
651
|
+
|
|
652
|
+
### 6.1 Get S3 Presigned URL
|
|
653
|
+
|
|
654
|
+
```
|
|
655
|
+
GET /sapi/v1/c2c/agent/file-upload/get-s3-presigned-url
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
Get a presigned S3 URL for uploading complaint evidence files. The URL is valid for 5 minutes.
|
|
659
|
+
|
|
660
|
+
**Query Parameters:**
|
|
661
|
+
|
|
662
|
+
| Parameter | Type | Required | Description |
|
|
663
|
+
|-----------|------|----------|-------------|
|
|
664
|
+
| fileName | String | Yes | File name with extension, e.g. `proof.jpg` |
|
|
665
|
+
| scenario | String | No | Upload scenario. Default: `complaint`. Agent only supports `complaint`. |
|
|
666
|
+
|
|
667
|
+
**Response:** `S3FileUrlInfo`
|
|
668
|
+
|
|
669
|
+
| Field | Type | Description |
|
|
670
|
+
|-------|------|-------------|
|
|
671
|
+
| uploadUrl | String | S3 presigned upload URL (PUT to this URL with file binary) |
|
|
672
|
+
| filePath | String | Final file path in S3 (use this in submit-evidence `fileUrls`) |
|
|
673
|
+
|
|
674
|
+
**Supported file types (complaint scenario):**
|
|
675
|
+
`txt, doc, xls, docx, xlsx, jpg, jpeg, png, pdf, mp3, mp4, avi, rm, rmvb, mov, wmv`
|
|
676
|
+
|
|
677
|
+
**Upload flow:**
|
|
678
|
+
1. Call this endpoint to get `uploadUrl` and `filePath`
|
|
679
|
+
2. `PUT` the file binary to `uploadUrl` (must complete within 5 minutes)
|
|
680
|
+
3. Use `filePath` in the `submit-evidence` request
|
|
681
|
+
|
|
682
|
+
---
|
|
683
|
+
|
|
684
|
+
## 7. Complaint Operations (AgentComplaintController — Extended)
|
|
685
|
+
|
|
686
|
+
These endpoints extend the existing complaint controller (Section 2).
|
|
687
|
+
|
|
688
|
+
### 7.1 Submit Appeal Evidence
|
|
689
|
+
|
|
690
|
+
```
|
|
691
|
+
POST /sapi/v1/c2c/agent/complaint/submit-evidence
|
|
692
|
+
```
|
|
693
|
+
|
|
694
|
+
Submit supplementary evidence for an existing complaint/appeal.
|
|
695
|
+
|
|
696
|
+
**Request Body:** `AgentComplaintSupplementReq`
|
|
697
|
+
|
|
698
|
+
| Field | Type | Required | Description |
|
|
699
|
+
|-------|------|----------|-------------|
|
|
700
|
+
| orderNo | String | Yes | Order number |
|
|
701
|
+
| description | String | Yes | Evidence description (1-500 chars) |
|
|
702
|
+
| fileUrls | List\<String\> | No | List of S3 file paths from presigned upload |
|
|
703
|
+
|
|
704
|
+
**Response:** `Boolean` — `true` if evidence submitted successfully.
|
|
705
|
+
|
|
706
|
+
**Error cases:**
|
|
707
|
+
- Order not found / not in appeal → error response
|
|
708
|
+
- No active complaint for order → error response
|
|
709
|
+
- File URLs not from valid S3 upload → may fail validation
|
|
710
|
+
|
|
711
|
+
---
|
|
712
|
+
|
|
713
|
+
### 7.2 Get Complaint Flows (Timeline)
|
|
714
|
+
|
|
715
|
+
```
|
|
716
|
+
POST /sapi/v1/c2c/agent/complaint/get-complaint-flows
|
|
717
|
+
```
|
|
718
|
+
|
|
719
|
+
Get the chronological timeline of a complaint process, including all actions, evidence submissions, and CS reviews.
|
|
720
|
+
|
|
721
|
+
**Request Body:** `AgentComplaintFlowQueryReq`
|
|
722
|
+
|
|
723
|
+
| Field | Type | Required | Description |
|
|
724
|
+
|-------|------|----------|-------------|
|
|
725
|
+
| orderNo | String | Yes | Order number |
|
|
726
|
+
| complaintNo | Long | No | Specific complaint number (optional; narrows to specific complaint) |
|
|
727
|
+
|
|
728
|
+
**Response:** `List<AgentComplaintFlowResp>`
|
|
729
|
+
|
|
730
|
+
| Field | Type | Description |
|
|
731
|
+
|-------|------|-------------|
|
|
732
|
+
| complaintNo | Long | Complaint number |
|
|
733
|
+
| orderNo | String | Order number |
|
|
734
|
+
| infoType | Integer | Flow info type (1=Initiated, 2=Evidence, 3=CS Note, 4=Resolution) |
|
|
735
|
+
| description | String | Flow entry description |
|
|
736
|
+
| fileUrls | List\<String\> | Evidence file URLs (CDN-assembled, directly accessible) |
|
|
737
|
+
| creatorNickName | String | Creator nickname |
|
|
738
|
+
| operatorName | String | Operator name (CS agent if applicable) |
|
|
739
|
+
| remark | String | Remark (plain text) |
|
|
740
|
+
| remarkHtml | String | Remark (HTML version; takes precedence over `remark` when available) |
|
|
741
|
+
| createTime | Date | Flow entry creation time |
|
|
742
|
+
| source | String | Flow info source |
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
### 7.3 Cancel Complaint
|
|
747
|
+
|
|
748
|
+
```
|
|
749
|
+
POST /sapi/v1/c2c/agent/complaint/cancel-complaint
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
Cancel (withdraw) an existing complaint/appeal for an order. This is an irreversible action.
|
|
753
|
+
|
|
754
|
+
**Request Body:** `AgentComplaintCancelReq`
|
|
755
|
+
|
|
756
|
+
| Field | Type | Required | Description |
|
|
757
|
+
|-------|------|----------|-------------|
|
|
758
|
+
| orderNo | String | Yes | Order number of the complaint to cancel |
|
|
759
|
+
|
|
760
|
+
**Response:** `Boolean` — `true` if the complaint was successfully cancelled.
|
|
761
|
+
|
|
762
|
+
**Error cases:**
|
|
763
|
+
- Order not found → error response
|
|
764
|
+
- No active complaint for order → error response
|
|
765
|
+
- Complaint already resolved/closed → error response
|
|
766
|
+
- User not the complaint initiator → error response
|
|
767
|
+
|
|
768
|
+
**Important:** The agent MUST confirm with the user before calling this endpoint, as cancelling an appeal is irreversible and the user forfeits their dispute rights.
|
|
769
|
+
|
|
770
|
+
---
|
|
771
|
+
|
|
772
|
+
### 7.4 Get Complaint Reasons
|
|
773
|
+
|
|
774
|
+
```
|
|
775
|
+
POST /sapi/v1/c2c/agent/complaint/get-complaint-reasons
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
Get available complaint/appeal reasons for a given order. Returns localized reason descriptions.
|
|
779
|
+
|
|
780
|
+
**Request Body:** `AgentComplaintCancelReq` (reused — only needs `orderNo`)
|
|
781
|
+
|
|
782
|
+
| Field | Type | Required | Description |
|
|
783
|
+
|-------|------|----------|-------------|
|
|
784
|
+
| orderNo | String | Yes | Order number to get complaint reasons for |
|
|
785
|
+
|
|
786
|
+
**Response:** `List<AgentComplaintReasonResp>`
|
|
787
|
+
|
|
788
|
+
| Field | Type | Description |
|
|
789
|
+
|-------|------|-------------|
|
|
790
|
+
| reasonCode | Integer | Reason code identifier |
|
|
791
|
+
| reasonDesc | String | Localized reason description |
|
|
792
|
+
|
|
793
|
+
**Error cases:**
|
|
794
|
+
- Order not found → error response
|
|
795
|
+
- Order not in a state where complaints are applicable → error response
|