該 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
文件,以建立 Changelly Fiat API 用戶端: 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-簽名。
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
參數
回傳字串— Changelly X-Api-Signature
驗證訂單 X-Callback-Signature。
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
參數
返回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<ChangellyGetCountryAvailabilityResponse[]>
取得來自入口匝道提供者的購買報價清單。
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 菲亞特 API 公鑰。 |
私鑰 | 細繩 | Changelly 菲亞特 API 私鑰。 |
回呼公鑰 | 細繩 | (可選)Changelly Fiat API 回呼公鑰。 |
基本網址 | 細繩 | (可選)Changelly Fiat API 的基本 url。預設為 |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
特性
基本網址 | 細繩 | (可選)基本網址。預設為 |
路徑名 | ChangellyRequestUrl |細繩 | 求地址。 |
參數 | ChangellyGetCurrencyListParams | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | Changelly ChangellyGetOffersParams | (可選)請求查詢參數。 |
數據 | ChangellyCreateOrderParams | 變更建立訂單參數ChangellyValidateWalletAddressParams | (可選)請求正文參數。 |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
特性
程式碼 | Changelly提供者 | 入口匝道提供者代碼。 |
姓名 | 細繩 | 入口匝道提供者的名稱。 |
信任試點評級 | 細繩 | Trustpilot 上提供者的評級。 |
圖示網址 | 細繩 | 入口匝道提供者圖示的 URL。 |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
特性
類型 | 貨幣變化 | (可選)貨幣類型。如果未指定貨幣類型,端點將同時傳回法定貨幣和加密貨幣。 |
提供者代碼 | Changelly提供者 | (可選)您要查看其貨幣的提供者。如果未指定 On-Ramp 提供者代碼,則端點將傳回所有提供者支援的貨幣。 |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
特性
股票行情 | 細繩 | 大寫的貨幣代碼。它是貨幣的唯一識別碼。 |
姓名 | 細繩 | 您可以在介面中指定的貨幣名稱。 |
類型 | 貨幣變化 | 貨幣類型。 |
額外ID名稱 | 字串|無效的 | 加密貨幣的額外ID名稱,例如“Memo”。以下貨幣需要:XRP、XLM、EOS、BNB。對於沒有額外 ID 的法定貨幣和加密貨幣,extraIdName 等於 null。如果幣種有額外的ID,您需要在對 |
圖示網址 | 細繩 | 貨幣圖示的 URL。 |
精確 | 細繩 | 貨幣精度。對於法定貨幣,它總是等於 2。 |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
特性
(可選)提供者代碼 | Changelly提供者 | (可選)您要查看其國家/地區的提供者。如果未指定入站提供者代碼,則終端將傳回所有提供者支援的國家/地區。 |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
特性
程式碼 | Changelly提供者 | 入口匝道提供者代碼。 |
姓名 | 細繩 | 入口匝道提供者的名稱。 |
州 | 改變狀態[] | (可選)美國各州。如果國家/地區代碼是 US,則傳回。 |
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 (超時、不可用、限制、國家/地區、州、貨幣、付款方式、InvalidOffer) | 錯誤類型。 |
錯誤訊息 | 細繩 | 錯誤訊息. |
錯誤詳情 | ChangellyError詳細資料[] |無效的 | 錯誤詳細資訊。如果錯誤不包含詳細信息, |
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)。 |
付款方式 | 更改付款方式 | (可選)付款方式代碼。 |
使用者代理 | 細繩 | (可選)用戶代理。 |
元數據 | 記錄<字串,未知> | (可選)元資料對象,其中可以包含您需要的任何參數。 |
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。 |
訂單編號 | 細繩 | 菲亞特 API 提供的內部訂單 ID。 |
外部用戶ID | 細繩 | 您提供的用戶 ID。 |
外部訂單ID | 細繩 | 您提供的訂單 ID。 |
提供者代碼 | Changelly提供者 | 入口匝道提供者代碼。 |
貨幣來源 | 細繩 | 大寫的收款貨幣代碼。 |
貨幣至 | 細繩 | 大寫的支付貨幣代碼。 |
金額來自 | 細繩 | 用戶要支付的貨幣數量。 |
國家 | 細繩 | 國家/地區 ISO 3166-1 代碼 (Alpha-2)。 |
狀態 | 字串|無效的 | 註明 ISO 3166-2 代碼。如果提供的國家不是美國,則將為空。 |
ip | 字串|無效的 | 用戶的IP位址。 |
錢包地址 | 細繩 | 收件人錢包地址。 |
錢包額外ID | 字串|無效的 | 使用附加 ID 進行交易處理的貨幣錢包位址所需的屬性(XRP、XLM、EOS、BNB)。 |
付款方式 | 更改付款方式|無效的 | 付款方式代碼。 |
使用者代理 | 字串|無效的 | 用戶代理。 |
元數據 | 記錄<字串,未知> |無效的 | 元資料對象,其中可以包含您需要的任何參數。如果您未在請求中提供元資料對象,則回應中的元資料將傳回 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。 |
原因 | “錢包位址”| “錢包額外ID”|無效的 | 指定錢包位址或額外ID是否錯誤。如果結果為真,則 Cause 等於 null。 |
interface ChangellyState {
code : string ;
name : string ;
}
特性
程式碼 | 細繩 | 註明 ISO 3166-2 代碼。 |
姓名 | 細繩 | 州名。 |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
特性
預計金額 | 細繩 | 用戶購買後預計獲得的資金金額。 |
方法 | 更改付款方式 | 付款方式代碼。 |
方法名 | 細繩 | 付款方式名稱。 |
反轉率 | 細繩 | 目前購買費率,包括所有費用。 |
費用 | 細繩 | 購買的總費用。 |
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"