KuCoin APIキーアップグレード操作ガイド
APIのセキュリティを強化するために、KuCoinはAPIキーをアップグレードしました。現在バージョンは2.0にアップグレードされています。2021年5月13日07:00:00(UTC)までにAPIをアップグレードし、キーアカウントマネージャーにアップグレードの進捗をフィードバックしてください 。アップグレード方法はバージョン1.0のAPIキーを削除—>バージョン2.0の新しいAPIキーを作成—API2.0を通して検証してください。
前提:
KuCoin ウェブサイト(PCのみ)、 に入り API作成ページで、ご自身の口座にV1 APIキーがあるかどうかを確認します。もしそれが存在せず、一度も削除されていなければ、これ以上のアップグレード操作をすることなく、直接そのページを終了することができます。
そうでなければ、お客様の口座に2つの状況が存在する事になります。
- V1のAPIキーは、V2のAPIキーと同様に存在します。事故防止のため、以下の手順でアップグレードを実施してください。
- V1のAPIキーしか存在しませんので、以下の手順でアップグレードを完了させてください。
ステップ 1:
KuCoin のウェブページ(PCのみ)に入り、V1バージョンのAPIキーを削除し、V2バージョンのAPIキーを作成します。(現在デフォルトでV2キーしか作成できません)。
ステップ 2:
V2バージョンのAPIキーを作成すると、以下の3つの情報が表示されます。
- キー
- シークレット
- パスフレーズ
キーとシークレットはKuCoinによって生成、提供され、パスフレーズは KuCoin APIを作成する際に使用したものを指します。これら3つの情報は、一度 紛失 すると復元できないので注意してください。これらの情報を紛失した場合は、新しいAPIキーを作成してください。
APIキーのパーミッション
KuCoinの公式サイトでAPIのパーミッションを管理する事ができます。パーミッションは以下の通りです。
一般 - 一般 - キーとなる一般的なパーミッションが許可されます。これには、ほとんどの GET エンドポイントが含まれます。
取引 - 注文を作成するためのキーを許可します。
資金移動 - キーに資金移動(入出金を含む)を許可します。サブ口座にはこの権限がない事に注意してください。APIキーでの出金は、2段階認証をパスします。
特定のルートに必要なAPIキーの権限については、以下のドキュメントを参照してください。
ステップ3:
KuCoin 公式が管理しているSDKをご利用の場合は、SDKを最新版に更新し、手順2の3つの情報を入れ替えて、直接プログラムを再開してください。
これでAPIキーのアップグレード作業は完了です。
SDK: https://github.com/Kucoin
ステップ4:
KuCoin 公式が提供しているSDKを使用していない場合は、以下の手順でコードを調整してください。
リクエストの作成
全てのプライベートRESTリクエストは、以下のヘッダを含む必要があります。
KC-API-KEY 文字列としてのAPIキー
KC-API-SIGN base64でエンコードされた署名(メッセージの署名を参照)
KC-API-TIMESTAMP リクエストのタイムスタンプ
KC-API-PASSPHRASE APIキー作成時に指定したパスフレーズ
KC-API-KEY-VERSION APIキーのバージョンは、API Managementのページで確認する事ができます。
メッセージへの署名
KC-API-KEYのヘッダについて
API-Secretを使用して、 プレハッシュ 文字列 {timestamp+method+endpoint+body} をsha256 HMACで暗号化します。リクエストボディはJSON文字列であり、APIから渡されるパラメータと同じである必要があります。
その後、再度base64-encodeで手順1の結果を暗号化します。
ヘッダーの KC-API-PASSPHRASE について
APIキーV1.0の場合は、平文でリクエストを渡してください。
APIキーV2.0の場合、KC-API-KEY-VERSIONを2に指定してください--> API-Secret経由でパスフレーズをHMAC-sha256で暗号化 --> 内容をbase64でエンコードしてからリクエストを渡してください。
注意事項:
暗号化されたタイムスタンプは、リクエストヘッダのKC-API-TIMESTAMPフィー ルドと一致しなければなりません。
暗号化されるボディは、リクエストボディの内容と一致しなければなりません。
メソッドは大文字である必要があります。
GET、DELETEリクエストの場合、エンドポイントにクエリ文字列を含める必要があります。 例 /api/v1/deposit-addresses?currency=XBT. リクエストボディがない場合(通常、GETリクエストの場合)、ボディは""になります。
これでAPIキーのアップグレード作業は完了です。