1.將第三方資訊加入資料庫#
資料收集完成後,KuCoin 會將第三方資訊加入並上傳至資料庫,並為第三方平台產生「合作夥伴」、「經紀 key」和「經紀姓名」。2.存取 KuCoin OpenAPI#
KuCoin 將為第三方平台提供「合作夥伴」、「經紀 key」和「經紀姓名」。請在請求中加入下列標題:KC-API-PARTNER-SIGN:基本 64 碼簽章 (請參閱簽署訊息)
KC-API-PARTNER-VERIFY:True
當未加入 KC-API-PARTNER-VERIFY 請求標題時,KC-API-PARTNER-SIGN 請求標題簽名失敗,但 KC-API-SIGN 簽名成功,不需要攜帶經紀資訊也可以成功下單。加入這個請求標題之後,只要 KC-API-PARTNER-SIGN 請求標題無法被簽署,就會報錯{"code": "400201", "msg": "Invalid KC-API-PARTNER-SIGN"} 。請務必在所有 REST 請求中加入這些請求標題,否則會影響您的回扣
3.簽署訊息#
對於KC-API-PARTNER-SIGN 的標題 :使用 broker-key 以 sha256 HMAC 加密預湊字串 timestamp + partner + apiKey。
之後,使用 base 64-encode 再次加密步驟 1 中的結果。
時間戳值與 KC-API-TIMESTAMP 標題相同。partner 值與 KC-API-PARTNER 標題相同。4.例如#
(1) 用戶資訊#
String apikey = "6422da9c97b45100018c6e62";
String apiSecretKey = "cde06451-dbed";
String passphrase = "1111111";
(2) 經紀資訊#
broker-name: goodbrokerND
partner: goodbroker
broker-key: e8512b82-a4aa
(3) 訂單資訊#
REQ TIMESTAMP:1680885532722
REQ URL:https://api.kucoin.com/api/v1/orders
REQ BODY:{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154-8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
(4) 用戶無需經由經紀即可正常下單的請求標題#
1680885532722POST/api/v1/orders{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154- 8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=
{
KC-API-TIMESTAMP=1680885532722,
KC-API-KEY=6422da9c97b45100018c6e62,
KC-API-SIGN=ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=,
KC-API-PASSPHRASE=rl1Ki0WuwidRT48JnoGQo+AJ4UtZ6mQEKt6F5XYVnT4=,
KC-API-KEY-VERSION=2,
Content-Type=application/json,
accept=*
(5) 用戶透過經紀下單的請求標題#
header.put("KC-BROKER-NAME", "goodbrokerND");
header.put("KC-API-PARTNER", "goodbroker");
String partnerSign = Base64.encodeBase64String( SHA256Util.hmac_sha256("e8512b82-a4aa", timestamp+"goodbroker "+apiKey));
header.put("KC-API-PARTNER-SIGN", partnerSign);
header.put("KC-API-PARTNER-VERIFY", "true");
1680885532722POST/api/v1/orders{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154-8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=
1680885532722goodbroker6422da9c97b45100018c6e62
CN1imIGUz/USkPuhOtGWi5DlZ08VeuVfknJNOPqUEac=
{
KC-API-TIMESTAMP=1680885532722,
KC-API-KEY=6422da9c97b45100018c6e62,
KC-API-PASSPHRASE=rl1Ki0WuwidRT48JnoGQo+AJ4UtZ6mQEKt6F5XYVnT4=,
KC-API-SIGN=ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=,
KC-API-PARTNER=goodbroker,
KC-API-PARTNER-SIGN=CN1imIGUz/USkPuhOtGWi5DlZ08VeuVfknJNOPqUEac=,
KC-BROKER-NAME=goodbrokerND,
KC-API-PARTNER-VERIFY=true,
KC-API-KEY-VERSION=2,
Content-Type=application/json,
accept=*
(6) 檢查設定是否成功#
對於幣幣,透過查詢訂單界面 GET/api/v1/orders/{orderId} ,如果回傳的標籤不為空,則配置成功對於合約,通過查詢訂單界面 GET/api/v1/orders/{order-id}?clientOid={client-order-id} ,如果返回的標籤不為空,則配置成功Modified at 2026-03-13 08:30:00