この SDK を使用すると、JavaScript および TypeScript で Changelly Fiat API を操作できるようになります。 JavaScript 開発者は、Changelly 法定 API 内のすべてのメソッド呼び出しを自動化する便利な関数を備えた完全な機能を備えたライブラリを見つけることができます。 TypeScript を使用する開発者は、厳密な型の豊富な定義を見つけることができます。
注記。 SDK の統合に関してご質問がございましたら、お気軽に [email protected] までご連絡ください。
このチュートリアルでは、Changelly Fiat API SDK を使用するプロジェクト作成の基本を説明します。
package.json
ファイルを作成します。 > npm init --y
tsconfig.json
ファイルを作成し、NodeJS のほとんどの組み込み型にアクセスできるようにします。 > npm install typescript
> npx tsc --init
> npm install -D @types/node
> npm install @changelly/fiat-api-sdk-node
CHANGELLY_PRIVATE_KEY
やCHANGELLY_PUBLIC_KEY
などの環境変数に設定して、ソース管理にコミットされないようにします。index.ts
ファイルを作成します。 import { ChangellyFiatClient } from "@changelly/fiat-api-sdk-node" ;
const client = new ChangellyFiatClient ( {
privateKey : process . env [ "CHANGELLY_PRIVATE_KEY" ] ,
publicKey : process . env [ "CHANGELLY_PUBLIC_KEY" ] ,
} ) ;
const providers = await client . getProviderList ( ) ;
const currencies = await client . getCurrencyList ( ) ;
console . log ( { providers , currencies } ) ;
Changelly Fiat API Node.js SDK クラス。
ChangellyFiatClient インスタンスを作成します。
new ChangellyFiatClient (
params : ChangellyFiatClientParams
) : ChangellyFiatClient
パラメータ
戻り値ChangellyFiatClient
X-Api-Signature をビルドします。
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
パラメータ
文字列を返します— Changelly X-Api-Signature
注文の X-Callback-Signature を検証します。
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
パラメータ
戻り値ブール値— コールバック署名は有効ですか?
オンランプ プロバイダーに関する拡張情報をユーザーに提供します。
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
パラメータ
戻り値Promise<ChangellyGetProviderListResponse[]>
サポートされている暗号通貨と法定通貨のリストを取得します。
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
パラメータ
戻り値Promise<ChangellyGetCurrencyListResponse[]>
暗号通貨の購入がサポートされている国のリストを取得します。
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
パラメータ
戻り値Promise<ChangellyGet CountryAvailabilityResponse[]>
On-Ramp プロバイダーから購入オファーのリストを取得します。
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
パラメータ
戻り値Promise<ChangellyGetOffersResponse[]>
暗号通貨の注文書を作成し、購入ページへのリダイレクト URL を取得します。オプションのパラメータのいずれかがリクエストに指定されていない場合、それらのパラメータは応答で「null」値とともに返されます。
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
パラメータ
戻り値Promise<ChangellyCreateOrderResponse[]>
指定されたウォレット アドレスと (オプションの) 追加 ID が指定された通貨に対して有効かどうかを確認します。
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
パラメータ
戻り値Promise<ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
プロパティ
公開鍵 | 弦 | Changelly Fiat API 公開キー。 |
秘密鍵 | 弦 | Changelly Fiat API 秘密キー。 |
コールバック公開キー | 弦 | (オプション) Changelly Fiat API コールバック公開キー。 |
ベースURL | 弦 | (オプション) Changelly Fiat API のベース URL。デフォルトでは |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
プロパティ
ベースURL | 弦 | (オプション) ベース URL。デフォルトでは |
パス名 | ChangellyリクエストURL |弦 | リクエストアドレス。 |
パラメータ | ChangellyGetCurrencyListParams | ChangellyGet CountryAvailabilityParams | ChangellyGetOffersParams | (オプション) リクエストのクエリパラメータ。 |
データ | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (オプション) リクエスト本文パラメータ。 |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
プロパティ
コード | Changellyプロバイダー | オンランププロバイダーコード。 |
名前 | 弦 | オンランププロバイダーの名前。 |
トラストパイロット評価 | 弦 | Trustpilot でのプロバイダーの評価。 |
アイコンURL | 弦 | オンランプ プロバイダーのアイコンの URL。 |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
プロパティ
タイプ | チェンジリー通貨 | (オプション) 通貨の種類。通貨タイプが指定されていない場合、エンドポイントは法定通貨と暗号通貨の両方を返します。 |
プロバイダーコード | Changellyプロバイダー | (オプション) 表示する通貨のプロバイダー。オンランプ プロバイダー コードが指定されていない場合、エンドポイントはすべてのプロバイダーのサポートされている通貨を返します。 |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
プロパティ
ティッカー | 弦 | 大文字の通貨ティッカー。通貨の一意の識別子です。 |
名前 | 弦 | インターフェースで指定できる通貨名。 |
タイプ | チェンジリー通貨 | 通貨の種類。 |
追加ID名 | 文字列 |ヌル | 暗号通貨の追加の ID 名 (例: 「メモ」)。次の通貨に必要です: XRP、XLM、EOS、BNB。追加 ID のない法定通貨および暗号通貨の場合、extraIdName は null と等しくなります。通貨に追加の ID がある場合は、 |
アイコンURL | 弦 | 通貨アイコンの URL。 |
精度 | 弦 | 通貨の精度。法定通貨の場合、これは常に 2 に等しくなります。 |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
プロパティ
(オプション)プロバイダーコード | Changellyプロバイダー | (オプション) 表示したい国のプロバイダー。オンランプ プロバイダー コードが指定されていない場合、エンドポイントはすべてのプロバイダーのサポートされている国を返します。 |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
プロパティ
コード | Changellyプロバイダー | オンランププロバイダーコード。 |
名前 | 弦 | オンランププロバイダーの名前。 |
州 | チェンジリー状態[] | (オプション) 米国の州。国のコードが米国の場合に返されます。 |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
プロパティ
プロバイダーコード | Changellyプロバイダー | (オプション) オンランプ プロバイダー コード。 |
外部ユーザーID | 弦 | (オプション) あなたが提供したユーザー ID。 |
通貨から | 弦 | 支払い通貨のティッカー(大文字)。 |
通貨へ | 弦 | 大文字の支払い通貨のティッカー。 |
金額から | 弦 | ユーザーが支払う通貨の金額。 |
国 | 弦 | 国別 ISO 3166-1 コード (Alpha-2)。 |
州 | 弦 | (オプション) ISO 3166-2 コードを記載します。指定された国が米国の場合は必須です。 |
ip | 弦 | (オプション) ユーザーの IP アドレス。 |
成功することもあれば、失敗することもあります。
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
プロパティ
プロバイダーコード | Changellyプロバイダー | オンランププロバイダーコード。 |
レート | 弦 | すべての支払い方法の中で最も高い購入レート。料金にはすべての手数料が含まれています。 |
反転レート | 弦 | 購入率の逆転。 |
手数料 | 弦 | すべての支払い方法の中で購入手数料の合計が最も低い値。 |
金額から | 弦 | ユーザーが支払う通貨の金額。 |
予想される金額 | 弦 | すべての支払い方法の中で、ユーザーが購入後に受け取ることが期待される資金の最大額。 |
支払い方法オファー | ChangellyPaymentMethodOffer [] | 利用可能な各支払いタイプの購入の詳細。 「カード」以外の支払い方法も後日対応予定です。 |
interface Offer {
providerCode : ChangellyProvider ;
errorType :
| ChangellyErrorType . Timeout
| ChangellyErrorType . Unavailable
| ChangellyErrorType . Limits
| ChangellyErrorType . Country
| ChangellyErrorType . State
| ChangellyErrorType . Currency
| ChangellyErrorType . PaymentMethod
| ChangellyErrorType . InvalidOffer ;
errorMessage : string ;
errorDetails : ChangellyErrorDetails [ ] | null ;
}
プロパティ
プロバイダーコード | Changellyプロバイダー | オンランププロバイダーコード。 |
エラータイプ | ChangellyErrorType (タイムアウト、使用不可、制限、国、州、通貨、PaymentMethod、InvalidOffer) | エラーの種類。 |
エラーメッセージ | 弦 | エラーメッセージ。 |
エラー詳細 | Changellyエラーの詳細[] |ヌル | エラーの詳細。エラーに詳細が含まれていない場合、 |
type ChangellyCreateOrderParams = {
externalOrderId : string ;
externalUserId : string ;
providerCode : ChangellyProvider ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
walletAddress : string ;
walletExtraId ?: string ;
paymentMethod ?: ChangellyPaymentMethod ;
userAgent ?: string ;
metadata ?: Record < string , unknown > ;
} ;
プロパティ
外部注文ID | 弦 | あなたが提供した注文 ID。 |
外部ユーザーID | 弦 | あなたが提供したユーザーID。 |
プロバイダーコード | Changellyプロバイダー | オンランププロバイダーコード。 |
通貨から | 弦 | 支払い通貨のティッカー(大文字)。 |
通貨へ | 弦 | 大文字の支払い通貨のティッカー。 |
金額から | 弦 | ユーザーが支払う通貨の金額。 |
国 | 弦 | 国別 ISO 3166-1 コード (Alpha-2)。 |
州 | 弦 | (オプション) ISO 3166-2 コードを記載します。指定された国が米国の場合は必須です。 |
ip | 弦 | (オプション) ユーザーの IP アドレス。 |
財布アドレス | 弦 | 受信者のウォレットアドレス。このパラメータの 2 つの簡単な使用例を次に示します。
|
ウォレット追加ID | 弦 | (オプション) トランザクション処理に追加 ID を使用する通貨 (XRP、XLM、EOS、BNB) のウォレット アドレスに必要なプロパティ。 |
支払方法 | Changelly支払い方法 | (オプション) 支払い方法コード。 |
ユーザーエージェント | 弦 | (オプション) ユーザーエージェント。 |
メタデータ | レコード<文字列、不明> | (オプション) メタデータ オブジェクト。必要なパラメータを含めることができます。 |
interface ChangellyCreateOrderResponse {
redirectUrl : string ;
orderId : string ;
externalUserId : string ;
externalOrderId : string ;
providerCode : ChangellyProvider ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state : string | null ;
ip : string | null ;
walletAddress : string ;
walletExtraId : string | null ;
paymentMethod : ChangellyPaymentMethod | null ;
userAgent : string | null ;
metadata : Record < string , unknown > | null ;
createdAt : string ;
}
プロパティ
リダイレクトURL | 弦 | プロバイダーの購入ページへの URL。 |
注文ID | 弦 | Fiat API によって提供される内部注文 ID。 |
外部ユーザーID | 弦 | あなたが提供したユーザーID。 |
外部注文ID | 弦 | あなたが提供した注文 ID。 |
プロバイダーコード | Changellyプロバイダー | オンランププロバイダーコード。 |
通貨から | 弦 | 支払い通貨のティッカー(大文字)。 |
通貨へ | 弦 | 大文字の支払い通貨のティッカー。 |
金額から | 弦 | ユーザーが支払う通貨の金額。 |
国 | 弦 | 国別 ISO 3166-1 コード (Alpha-2)。 |
州 | 文字列 |ヌル | ISO 3166-2 コードを記載します。指定された国が米国でない場合は null になります。 |
ip | 文字列 |ヌル | ユーザーの IP アドレス。 |
財布アドレス | 弦 | 受信者のウォレットアドレス。 |
ウォレット追加ID | 文字列 |ヌル | トランザクション処理に追加 ID を使用する通貨 (XRP、XLM、EOS、BNB) のウォレット アドレスに必要なプロパティ。 |
支払方法 | Changelly支払い方法|ヌル | 支払い方法コード。 |
ユーザーエージェント | 文字列 |ヌル | ユーザーエージェント。 |
メタデータ | レコード<文字列、不明> |ヌル | 必要なパラメータを含めることができるメタデータ オブジェクト。リクエストでメタデータ オブジェクトを指定しない場合、レスポンスのメタデータに null が返されます。リクエストで空のオブジェクトを指定すると、レスポンスで空のオブジェクトが返されます。 |
作成日 | 弦 | ISO 8601 形式の時刻。 |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
プロパティ
通貨 | 弦 | 大文字の暗号通貨ティッカー。 |
財布アドレス | 弦 | 受信者のウォレットアドレス。 |
ウォレット追加ID | 弦 | (オプション) トランザクション処理に追加 ID を使用する通貨 (XRP、XLM、EOS、BNB) のウォレット アドレスに必要なプロパティ。 |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
プロパティ
結果 | ブール値 | ウォレットアドレスまたは追加IDが間違っている場合はfalseです。 |
原因 | "ウォレットアドレス" | "walletExtraId" |ヌル | ウォレットアドレスまたは追加IDが間違っているかどうかを指定します。結果が true の場合、原因は null と等しくなります。 |
interface ChangellyState {
code : string ;
name : string ;
}
プロパティ
コード | 弦 | ISO 3166-2 コードを記載します。 |
名前 | 弦 | 州名。 |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
プロパティ
予想される金額 | 弦 | ユーザーが購入後に取得すると予想される資金の額。 |
方法 | Changelly支払い方法 | 支払い方法コード。 |
メソッド名 | 弦 | 支払い方法の名前。 |
反転レート | 弦 | すべての手数料を含む現在の購入レート。 |
手数料 | 弦 | 購入の合計料金。 |
interface ChangellyErrorDetails {
cause : string ;
value : string ;
}
プロパティ
原因 | 弦 | エラーの原因。たとえば、検証エラー タイプの欠落しているリクエスト パラメーターと同じである可能性があります。 |
価値 | 弦 | エラー値。 |
enum ChangellyRequestUrl {
ProvderList = "/v1/providers" ,
CurrencyList = "/v1/currencies" ,
CountryAvailability = "/v1/available-countries" ,
GetOffers = "/v1/offers" ,
CreateOrder = "/v1/orders" ,
ValidateWalletAddress = "/v1/validate-address" ,
}
メンバー
enum ChangellyProvider {
Moonpay = "moonpay" ,
Banxa = "banxa" ,
Wert = "wert" ,
}
メンバー
enum ChangellyCurrency {
Crypto = "crypto" ,
Fiat = "fiat"