Этот SDK позволяет работать с API Changelly Fiat в JavaScript и TypeScript. Разработчики JavaScript найдут полнофункциональную библиотеку с удобными функциями для автоматизации всех вызовов методов в API-интерфейсе Changelly; разработчики, использующие 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 ;
Параметры
Возвращает логическое значение — Действительна ли подпись обратного вызова?
Получите расширенную информацию о поставщиках On-Ramp для пользователей.
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[]>
Получите список предложений о покупке от поставщиков On-Ramp.
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
Параметры
Возвращает Promise<ChangellyGetOffersResponse[]>
Создайте заказ на покупку криптовалюты и получите URL-адрес перенаправления на страницу покупки. Если какой-либо из необязательных параметров не указан в запросе, они будут возвращены со значением «null» в ответе.
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
Параметры
Возвращает Promise<ChangellyCreateOrderResponse[]>
Проверьте, действительны ли указанный адрес кошелька и (необязательно) дополнительный идентификатор для данной валюты.
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. |
обратный вызовPublicKey | нить | (необязательно) Открытый ключ обратного вызова API Changelly Fiat. |
базовый URL-адрес | нить | (необязательно) Базовый URL-адрес Changelly Fiat API. |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
Характеристики
базовый URL-адрес | нить | (необязательно) Базовый URL. |
путь | ChangellyRequestUrl | нить | Запросить адрес. |
параметры | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | ChangellyGetOffersParams | (необязательно) Запросить параметры запроса. |
данные | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (необязательно) Запросите параметры тела. |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
Характеристики
код | ChangellyProvider | Код провайдера On-Ramp. |
имя | нить | Имя провайдера On-Ramp. |
довериеПилотРейтинг | нить | Рейтинг провайдера на Trustpilot. |
значокURL | нить | URL-адрес значка провайдера On-Ramp. |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
Характеристики
тип | ChangellyВалюта | (необязательно) Тип валюты. Если тип валюты не указан, конечная точка вернет как бумажные валюты, так и криптовалюты. |
кодпровайдера | ChangellyProvider | (необязательно) Поставщик, валюты которого вы хотите просмотреть. Если код провайдера On-Ramp не указан, конечная точка вернет поддерживаемые валюты всех провайдеров. |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
Характеристики
тикер | нить | Тикер валюты в верхнем регистре. Это уникальный идентификатор валюты. |
имя | нить | Название валюты, которое вы можете указать в своем интерфейсе. |
тип | ChangellyВалюта | Тип валюты. |
экстраИдНаме | строка | нулевой | Дополнительное идентификационное имя криптовалюты, например «Memo». Требуется для следующих валют: XRP, XLM, EOS, BNB. Для фиатных валют и криптовалют без дополнительного идентификатора extraIdName равно нулю. Если валюта имеет дополнительный идентификатор, вам необходимо указать параметр |
значокURL | нить | URL значка валюты. |
точность | нить | Точность валюты. Для фиатных валют он всегда равен 2. |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
Характеристики
(необязательно) код_провайдера | ChangellyProvider | (необязательно) Поставщик, страны которого вы хотите просмотреть. Если код провайдера On-Ramp не указан, конечная точка вернет поддерживаемые страны всех провайдеров. |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
Характеристики
код | ChangellyProvider | Код провайдера On-Ramp. |
имя | нить | Имя провайдера On-Ramp. |
государства | ChangellyState [] | (необязательно) Штаты США. Возвращается, если код страны — США. |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
Характеристики
кодпровайдера | ChangellyProvider | (необязательно) Код провайдера On-Ramp. |
внешнийUserId | нить | (необязательно) предоставленный вами идентификатор пользователя. |
валютаОт | нить | Тикер валюты выплаты в верхнем регистре. |
валютаTo | нить | Тикер валюты выплаты в верхнем регистре. |
суммаОт | нить | Сумма валюты, которую собирается заплатить пользователь. |
страна | нить | Код страны по стандарту ISO 3166-1 (Альфа-2). |
состояние | нить | (необязательно) Государственный код ISO 3166-2. Требуется, если указанной страной является США. |
IP | нить | (необязательно) IP-адрес пользователя. |
Может быть успешным и потерпеть неудачу.
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
Характеристики
кодпровайдера | ChangellyProvider | Код провайдера On-Ramp. |
ставка | нить | Лучшая цена покупки среди всех способов оплаты. В стоимость включены все сборы. |
инвертированная ставка | нить | Инвертированная норма покупки. |
платеж | нить | Самое низкое значение общей комиссии за покупку среди всех способов оплаты. |
суммаОт | нить | Сумма валюты, которую собирается заплатить пользователь. |
ожидаемая суммаTo | нить | Самая большая сумма средств среди всех способов оплаты, которую ожидает получить пользователь после покупки. |
Способ оплатыПредложения | 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 ;
}
Характеристики
кодпровайдера | ChangellyProvider | Код провайдера On-Ramp. |
тип ошибки | ChangellyErrorType (время ожидания, недоступно, ограничения, страна, состояние, валюта, метод оплаты, InvalidOffer) | Тип ошибки. |
сообщение об ошибке | нить | Сообщение об ошибке. |
ошибкаПодробнее | ChangellyErrorDetails [] | нулевой | Подробности ошибки. Если ошибка не содержит подробностей, |
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 заказа, предоставленный вами. |
внешнийUserId | нить | Идентификатор пользователя, предоставленный вами. |
кодпровайдера | ChangellyProvider | Код провайдера On-Ramp. |
валютаОт | нить | Тикер валюты выплаты в верхнем регистре. |
валютаTo | нить | Тикер валюты выплаты в верхнем регистре. |
суммаОт | нить | Сумма валюты, которую собирается заплатить пользователь. |
страна | нить | Код страны по стандарту ISO 3166-1 (Альфа-2). |
состояние | нить | (необязательно) Государственный код ISO 3166-2. Требуется, если указанной страной является США. |
IP | нить | (необязательно) IP-адрес пользователя. |
кошелекАдрес | нить | Адрес кошелька получателя. Вот два простых варианта использования этого параметра:
|
кошелекExtraId | нить | (необязательно) Свойство, необходимое для адресов кошельков валют, которые используют дополнительный идентификатор для обработки транзакций (XRP, XLM, EOS, BNB). |
способ оплаты | ChangellyPaymentMethod | (необязательно) Код способа оплаты. |
пользовательский агент | нить | (необязательно) Пользовательский агент. |
метаданные | Запись<строка, неизвестна> | (необязательно) Объект метаданных, который может содержать любые необходимые вам параметры. |
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-адрес страницы покупки поставщика. |
идентификатор заказа | нить | Внутренний идентификатор заказа, предоставленный Fiat API. |
внешнийUserId | нить | Идентификатор пользователя, предоставленный вами. |
внешнийордерид | нить | ID заказа, предоставленный вами. |
кодпровайдера | ChangellyProvider | Код провайдера On-Ramp. |
валютаОт | нить | Тикер валюты выплаты в верхнем регистре. |
валютаTo | нить | Тикер валюты выплаты в верхнем регистре. |
суммаОт | нить | Сумма валюты, которую собирается заплатить пользователь. |
страна | нить | Код страны по стандарту ISO 3166-1 (Альфа-2). |
состояние | строка | нулевой | Государственный код ISO 3166-2. Будет нулевым, если указанная страна не США. |
IP | строка | нулевой | IP-адрес пользователя. |
кошелекАдрес | нить | Адрес кошелька получателя. |
кошелекExtraId | строка | нулевой | Свойство, необходимое для адресов кошельков валют, которые используют дополнительный идентификатор для обработки транзакций (XRP, XLM, EOS, BNB). |
способ оплаты | ChangellyPaymentMethod | нулевой | Код способа оплаты. |
пользовательский агент | строка | нулевой | Пользовательский агент. |
метаданные | Запись<строка, неизвестна> | нулевой | Объект метаданных, который может содержать любые необходимые вам параметры. Если вы не предоставите объект метаданных в запросе, в метаданных ответа будет возвращено значение null. Если вы укажете в запросе пустой объект, в ответе будет возвращен пустой объект. |
создано в | нить | Время в формате ISO 8601. |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
Характеристики
валюта | нить | Тикер криптовалюты в верхнем регистре. |
кошелекАдрес | нить | Адрес кошелька получателя. |
кошелекExtraId | нить | (необязательно) Свойство, необходимое для адресов кошельков валют, которые используют дополнительный идентификатор для обработки транзакций (XRP, XLM, EOS, BNB). |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
Характеристики
результат | логическое значение | Ложь, если адрес кошелька или дополнительный идентификатор неверны. |
причина | "Адрес кошелька" | "кошелекExtraId" | нулевой | Указывает, является ли адрес кошелька или дополнительный идентификатор неверным. Если результат истинен, причина равна нулю. |
interface ChangellyState {
code : string ;
name : string ;
}
Характеристики
код | нить | Государственный код ISO 3166-2. |
имя | нить | Название штата. |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
Характеристики
ожидаемая суммаTo | нить | Сумма средств, которую пользователь ожидает получить после покупки. |
метод | ChangellyPaymentMethod | Код способа оплаты. |
Имя метода | нить | Название способа оплаты. |
инвертированная ставка | нить | Текущая цена покупки, включающая все комиссии. |
платеж | нить | Общая стоимость покупки. |
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"