SDK ini memungkinkan Anda bekerja dengan Changelly Fiat API dalam JavaScript dan TypeScript. Pengembang JavaScript akan menemukan perpustakaan berfitur lengkap dengan fungsi mudah untuk mengotomatisasi semua pemanggilan metode dalam API fiat Changelly; pengembang yang menggunakan TypeScript akan menemukan definisi yang kaya tentang tipe ketat.
Catatan. Jika Anda memiliki pertanyaan tentang integrasi SDK, jangan ragu untuk menghubungi kami di [email protected].
Tutorial ini akan memandu Anda memahami dasar-dasar pembuatan proyek yang menggunakan SDK API Changelly Fiat.
package.json
default: > npm init --y
tsconfig.json
, dan mendapatkan akses ke sebagian besar tipe bawaan untuk NodeJS: > npm install typescript
> npx tsc --init
> npm install -D @types/node
> npm install @changelly/fiat-api-sdk-node
CHANGELLY_PRIVATE_KEY
dan CHANGELLY_PUBLIC_KEY
sehingga tidak akan dikomit ke kontrol sumber.index.ts
dasar untuk proyek Anda yang membuat klien API Changelly Fiat: 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 } ) ;
Kelas SDK Changelly Fiat API Node.js.
Buat instans ChangellyFiatClient.
new ChangellyFiatClient (
params : ChangellyFiatClientParams
) : ChangellyFiatClient
Parameter
Mengembalikan ChangellyFiatClient
Bangun X-Api-Signature.
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
Parameter
Mengembalikan string — Changelly X-Api-Signature
Validasi pesanan X-Callback-Signature.
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
Parameter
Mengembalikan boolean — Apakah tanda tangan panggilan balik valid?
Dapatkan informasi lebih lanjut tentang penyedia On-Ramp kepada pengguna.
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
Parameter
Mengembalikan Janji<ChangellyGetProviderListResponse[]>
Dapatkan daftar kripto dan mata uang fiat yang didukung.
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
Parameter
Mengembalikan Janji<ChangellyGetCurrencyListResponse[]>
Dapatkan daftar negara yang mendukung pembelian kripto.
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
Parameter
Mengembalikan Janji<ChangellyGetCountryAvailabilityResponse[]>
Dapatkan daftar penawaran pembelian dari penyedia On-Ramp.
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
Parameter
Mengembalikan Janji<ChangellyGetOffersResponse[]>
Buat pesanan pembelian kripto dan dapatkan URL pengalihan ke halaman pembelian. Jika salah satu parameter opsional tidak disediakan dalam permintaan, parameter tersebut akan dikembalikan dengan nilai "null" dalam respons.
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
Parameter
Mengembalikan Janji<ChangellyCreateOrderResponse[]>
Periksa apakah alamat dompet yang diberikan dan ID tambahan (opsional) valid untuk mata uang yang ditentukan.
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
Parameter
Mengembalikan Janji<ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
Properti
kunci publik | rangkaian | Kunci publik Changelly Fiat API. |
kunci pribadi | rangkaian | Kunci pribadi Changelly Fiat API. |
panggilan balikPublicKey | rangkaian | (opsional) Kunci publik panggilan balik API Changelly Fiat. |
baseUrl | rangkaian | (opsional) Url dasar Changelly Fiat API. |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
Properti
baseUrl | rangkaian | (opsional) Url dasar. |
nama jalan | ChangellyRequestUrl | rangkaian | Minta alamat. |
param | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | ChangellyGetOffersParams | (opsional) Minta parameter kueri. |
data | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (opsional) Minta parameter isi. |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
Properti
kode | Penyedia Changelly | Kode penyedia On-Ramp. |
nama | rangkaian | Nama penyedia On-Ramp. |
kepercayaanPilotRating | rangkaian | Peringkat penyedia di Trustpilot. |
ikonUrl | rangkaian | URL ikon penyedia On-Ramp. |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
Properti
jenis | Mata Uang Berubah | (opsional) Jenis mata uang. Jika jenis mata uang tidak ditentukan, titik akhir akan mengembalikan mata uang fiat dan mata uang kripto. |
kode penyedia | Penyedia Changelly | (opsional) Penyedia yang mata uangnya ingin Anda lihat. Jika kode penyedia On-Ramp tidak ditentukan, titik akhir akan mengembalikan mata uang yang didukung semua penyedia. |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
Properti
jantung | rangkaian | Penanda mata uang dalam huruf besar. Ini adalah pengidentifikasi unik mata uang. |
nama | rangkaian | Nama mata uang yang dapat Anda tentukan di antarmuka Anda. |
jenis | Mata Uang Berubah | Jenis mata uang. |
ekstraIdName | tali | batal | Nama ID tambahan dari mata uang kripto, misalnya, "Memo". Diperlukan untuk mata uang berikut: XRP, XLM, EOS, BNB. Untuk mata uang fiat dan mata uang kripto tanpa ID tambahan, extraIdName sama dengan null. Jika mata uang memiliki ID tambahan, Anda perlu memberikan parameter |
ikonUrl | rangkaian | URL ikon mata uang. |
presisi | rangkaian | Ketepatan mata uang. Untuk mata uang fiat, selalu sama dengan 2. |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
Properti
(opsional) kode penyedia | Penyedia Changelly | (opsional) Penyedia negara yang ingin Anda lihat. Jika kode penyedia On-Ramp tidak ditentukan, titik akhir akan mengembalikan negara yang didukung dari semua penyedia. |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
Properti
kode | Penyedia Changelly | Kode penyedia On-Ramp. |
nama | rangkaian | Nama penyedia On-Ramp. |
negara bagian | Negara Berubah [] | (opsional) negara bagian AS. Dikembalikan jika kode negaranya adalah AS. |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
Properti
kode penyedia | Penyedia Changelly | (opsional) Kode penyedia On-Ramp. |
IdPengguna eksternal | rangkaian | (opsional) ID Pengguna yang Anda berikan. |
mata uangDari | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
mata uangKe | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
jumlahDari | rangkaian | Jumlah mata uang yang akan dibayar pengguna. |
negara | rangkaian | Kode ISO 3166-1 negara (Alpha-2). |
negara | rangkaian | (opsional) Sebutkan kode ISO 3166-2. Diperlukan jika negara yang disediakan adalah AS. |
aku p | rangkaian | (opsional) Alamat IP pengguna. |
Bisa sukses dan gagal.
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
Properti
kode penyedia | Penyedia Changelly | Kode penyedia On-Ramp. |
kecepatan | rangkaian | Tingkat pembelian terbaik di antara semua metode pembayaran. Tarif sudah termasuk semua biaya. |
Tingkat terbalik | rangkaian | Tingkat pembelian terbalik. |
biaya | rangkaian | Nilai total biaya pembelian terendah di antara semua metode pembayaran. |
jumlahDari | rangkaian | Jumlah mata uang yang akan dibayar pengguna. |
jumlah yang diharapkan | rangkaian | Jumlah dana terbesar di antara semua metode pembayaran yang diharapkan diterima pengguna setelah pembelian. |
Metode pembayaranPenawaran | ChangellyPaymentMethodPenawaran [] | Detail pembelian untuk setiap jenis pembayaran yang tersedia. Metode pembayaran selain "kartu" akan tersedia nanti. |
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 ;
}
Properti
kode penyedia | Penyedia Changelly | Kode penyedia On-Ramp. |
tipe kesalahan | ChangellyErrorType (Batas Waktu, Tidak Tersedia, Batas, Negara, Negara Bagian, Mata Uang, Metode Pembayaran, Penawaran Tidak Valid) | Jenis kesalahan. |
pesan kesalahan | rangkaian | Pesan kesalahan. |
detail kesalahan | ChangellyErrorDetail [] | batal | Detail kesalahan. Jika kesalahan tidak berisi detail, |
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 > ;
} ;
Properti
IdPesanan eksternal | rangkaian | ID Pesanan yang Anda berikan. |
IdPengguna eksternal | rangkaian | ID Pengguna yang Anda berikan. |
kode penyedia | Penyedia Changelly | Kode penyedia On-Ramp. |
mata uangDari | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
mata uangKe | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
jumlahDari | rangkaian | Jumlah mata uang yang akan dibayar pengguna. |
negara | rangkaian | Kode ISO 3166-1 negara (Alpha-2). |
negara | rangkaian | (opsional) Sebutkan kode ISO 3166-2. Diperlukan jika negara yang disediakan adalah AS. |
aku p | rangkaian | (opsional) Alamat IP pengguna. |
alamat dompet | rangkaian | Alamat dompet penerima. Berikut adalah 2 kasus penggunaan sederhana dari parameter ini:
|
dompetExtraId | rangkaian | (opsional) Properti diperlukan untuk alamat dompet mata uang yang menggunakan ID tambahan untuk pemrosesan transaksi (XRP, XLM, EOS, BNB). |
Metode pembayaran | Metode Pembayaran Changelly | (opsional) Kode metode pembayaran. |
agen pengguna | rangkaian | (opsional) Agen Pengguna. |
metadata | Rekam<string, tidak diketahui> | (opsional) Objek metadata, yang dapat berisi parameter apa pun yang Anda perlukan. |
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 ;
}
Properti
redirectUrl | rangkaian | URL ke halaman pembelian penyedia. |
ID pesanan | rangkaian | ID pesanan internal disediakan oleh Fiat API. |
IdPengguna eksternal | rangkaian | ID Pengguna yang Anda berikan. |
IdPesanan eksternal | rangkaian | ID Pesanan yang Anda berikan. |
kode penyedia | Penyedia Changelly | Kode penyedia On-Ramp. |
mata uangDari | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
mata uangKe | rangkaian | Ticker mata uang pembayaran dalam huruf besar. |
jumlahDari | rangkaian | Jumlah mata uang yang akan dibayar pengguna. |
negara | rangkaian | Kode ISO 3166-1 negara (Alpha-2). |
negara | tali | batal | Sebutkan kode ISO 3166-2. Akan bernilai null jika negara yang diberikan bukan AS. |
aku p | tali | batal | Alamat IP pengguna. |
alamat dompet | rangkaian | Alamat dompet penerima. |
dompetExtraId | tali | batal | Properti yang diperlukan untuk alamat dompet mata uang yang menggunakan ID tambahan untuk pemrosesan transaksi (XRP, XLM, EOS, BNB). |
Metode pembayaran | Metode Pembayaran Changelly | batal | Kode metode pembayaran. |
agen pengguna | tali | batal | Agen Pengguna. |
metadata | Rekam<string, tidak diketahui> | batal | Objek metadata, yang dapat berisi parameter apa pun yang Anda perlukan. Jika Anda tidak memberikan objek metadata dalam permintaan, null akan dikembalikan dalam metadata sebagai respons. Jika Anda menentukan objek kosong dalam permintaan, objek kosong akan dikembalikan sebagai respons. |
dibuatPada | rangkaian | Waktu dalam format ISO 8601. |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
Properti
mata uang | rangkaian | Ticker mata uang kripto dalam huruf besar. |
alamat dompet | rangkaian | Alamat dompet penerima. |
dompetExtraId | rangkaian | (opsional) Properti diperlukan untuk alamat dompet mata uang yang menggunakan ID tambahan untuk pemrosesan transaksi (XRP, XLM, EOS, BNB). |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
Properti
hasil | boolean | Salah jika alamat dompet atau ID tambahan salah. |
menyebabkan | "alamat dompet" | "dompetExtraId" | batal | Menentukan apakah alamat dompet atau ID tambahan salah. Jika hasilnya benar, sebab sama dengan nol. |
interface ChangellyState {
code : string ;
name : string ;
}
Properti
kode | rangkaian | Sebutkan kode ISO 3166-2. |
nama | rangkaian | Nama negara bagian. |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
Properti
jumlah yang diharapkan | rangkaian | Jumlah dana yang diharapkan diperoleh pengguna setelah pembelian. |
metode | Metode Pembayaran Changelly | Kode metode pembayaran. |
nama metode | rangkaian | Nama metode pembayaran. |
Tingkat terbalik | rangkaian | Tingkat pembelian saat ini, yang mencakup semua biaya. |
biaya | rangkaian | Total biaya pembelian. |
interface ChangellyErrorDetails {
cause : string ;
value : string ;
}
Properti
menyebabkan | rangkaian | Penyebab kesalahan. Misalnya, ini bisa sama dengan parameter permintaan yang hilang untuk jenis kesalahan validasi. |
nilai | rangkaian | Nilai kesalahan. |
enum ChangellyRequestUrl {
ProvderList = "/v1/providers" ,
CurrencyList = "/v1/currencies" ,
CountryAvailability = "/v1/available-countries" ,
GetOffers = "/v1/offers" ,
CreateOrder = "/v1/orders" ,
ValidateWalletAddress = "/v1/validate-address" ,
}
Anggota
enum ChangellyProvider {
Moonpay = "moonpay" ,
Banxa = "banxa" ,
Wert = "wert" ,
}
Anggota
enum ChangellyCurrency {
Crypto = "crypto" ,
Fiat = "fiat"