Este SDK le permite trabajar con la API Changelly Fiat en JavaScript y TypeScript. Los desarrolladores de JavaScript encontrarán una biblioteca completa con funciones convenientes para automatizar todas las llamadas a métodos dentro de la API fiduciaria de Changelly; Los desarrolladores que utilicen TypeScript encontrarán una rica definición de tipos estrictos.
Nota. Si tiene alguna pregunta sobre la integración del SDK, no dude en escribirnos a [email protected].
Este tutorial lo guiará a través de los conceptos básicos de la creación de un proyecto que utiliza el SDK API de Changelly Fiat.
package.json
predeterminado: > npm init --y
tsconfig.json
y obtendrán acceso a la mayoría de los tipos integrados para NodeJS: > npm install typescript
> npx tsc --init
> npm install -D @types/node
> npm install @changelly/fiat-api-sdk-node
CHANGELLY_PRIVATE_KEY
y CHANGELLY_PUBLIC_KEY
para que no se envíe al control de código fuente.index.ts
básico para su proyecto que cree un cliente 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 } ) ;
Clase Changelly Fiat API Node.js SDK.
Cree una instancia de ChangellyFiatClient.
new ChangellyFiatClient (
params : ChangellyFiatClientParams
) : ChangellyFiatClient
Parámetros
Devuelve ChangellyFiatCliente
Construya la firma X-Api.
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
Parámetros
Devuelve una cadena : Changelly X-Api-Signature
Validar pedido X-Callback-Signature.
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
Parámetros
Devuelve booleano : ¿Es válida la firma de devolución de llamada?
Obtenga información ampliada sobre los proveedores de On-Ramp para los usuarios.
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
Parámetros
Promesa de retorno <ChangallyGetProviderListResponse[]>
Obtenga una lista de criptomonedas y monedas fiduciarias admitidas.
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
Parámetros
Promesa de retorno <ChangallyGetCurrencyListResponse[]>
Obtenga una lista de países donde se admiten las compras de criptomonedas.
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
Parámetros
Promesa de devolución <ChangallyGetCountryAvailabilityResponse[]>
Obtenga una lista de ofertas de compra de proveedores de On-Ramp.
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
Parámetros
Promesa de devolución <ChangallyGetOffersResponse[]>
Cree una orden de compra criptográfica y obtenga una URL de redireccionamiento a la página de compra. Si alguno de los parámetros opcionales no se proporciona en la solicitud, se devolverá con el valor "nulo" en la respuesta.
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
Parámetros
Promesa de retorno <ChangellyCreateOrderResponse[]>
Verifique si la dirección de billetera proporcionada y la identificación adicional (opcional) son válidas para la moneda dada.
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
Parámetros
Promesa de retorno <ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
Propiedades
clave pública | cadena | Clave pública de la API Changelly Fiat. |
clave privada | cadena | Clave privada de Changelly Fiat API. |
devolución de llamadaPublicKey | cadena | (opcional) Clave pública de devolución de llamada de Changelly Fiat API. |
URL base | cadena | (opcional) URL base de la API Changelly Fiat. |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
Propiedades
URL base | cadena | (opcional) URL base. |
nombre de ruta | URL de solicitud de cambio | cadena | Solicitar dirección. |
parámetros | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | ChangellyObtenerOfertasParams | (opcional) Solicitar parámetros de consulta. |
datos | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (opcional) Solicitar parámetros del cuerpo. |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
Propiedades
código | Proveedor Changelly | Código de proveedor de On-Ramp. |
nombre | cadena | Nombre del proveedor de On-Ramp. |
confianzaPilotRating | cadena | Calificación del proveedor en Trustpilot. |
iconoUrl | cadena | URL del icono del proveedor de On-Ramp. |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
Propiedades
tipo | Moneda Changelly | (opcional) Tipo de moneda. Si no se especifica el tipo de moneda, el punto final devolverá tanto monedas fiduciarias como criptomonedas. |
código de proveedor | Proveedor Changelly | (opcional) El proveedor cuyas monedas desea ver. Si no se especifica el código de proveedor de On-Ramp, el punto final devolverá las monedas admitidas de todos los proveedores. |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
Propiedades
corazón | cadena | Ticker de moneda en mayúsculas. Es un identificador único de la moneda. |
nombre | cadena | Nombre de moneda que puede especificar en su interfaz. |
tipo | Moneda Changelly | Tipo de moneda. |
nombreIdextra | cadena | nulo | Nombre de identificación adicional de la criptomoneda, por ejemplo, "Memo". Requerido para las siguientes monedas: XRP, XLM, EOS, BNB. Para monedas fiduciarias y criptomonedas sin una identificación adicional, extraIdName es igual a nulo. Si la moneda tiene un ID adicional, debe proporcionar el parámetro |
iconoUrl | cadena | URL del icono de moneda. |
precisión | cadena | Precisión monetaria. Para las monedas fiduciarias, siempre es igual a 2. |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
Propiedades
(opcional) código de proveedor | Proveedor Changelly | (opcional) El proveedor cuyos países desea ver. Si no se especifica el código de proveedor de On-Ramp, el punto final devolverá los países admitidos de todos los proveedores. |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
Propiedades
código | Proveedor Changelly | Código de proveedor de On-Ramp. |
nombre | cadena | Nombre del proveedor de On-Ramp. |
estados | Estado de Changelly [] | (opcional) estados de EE. UU. Se devuelve si el código del país es EE.UU. |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
Propiedades
código de proveedor | Proveedor Changelly | (opcional) Código de proveedor de On-Ramp. |
ID de usuario externo | cadena | (opcional) ID de usuario proporcionado por usted. |
monedaDesde | cadena | Ticker de la moneda de pago en mayúsculas. |
monedaA | cadena | Ticker de la moneda de pago en mayúsculas. |
cantidadDesde | cadena | Cantidad de moneda que el usuario va a pagar. |
país | cadena | Código de país ISO 3166-1 (Alfa-2). |
estado | cadena | (opcional) Indique el código ISO 3166-2. Es obligatorio si el país proporcionado es EE. UU. |
IP | cadena | (opcional) Dirección IP del usuario. |
Puede tener éxito y fracasar.
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
Propiedades
código de proveedor | Proveedor Changelly | Código de proveedor de On-Ramp. |
tasa | cadena | La mejor tarifa de compra entre todos los métodos de pago. La tarifa incluye todos los honorarios. |
tasa invertida | cadena | Tasa de compra invertida. |
tarifa | cadena | El valor más bajo de la tarifa total de compra entre todos los métodos de pago. |
cantidadDesde | cadena | Cantidad de moneda que el usuario va a pagar. |
cantidad esperada para | cadena | La mayor cantidad de fondos entre todos los métodos de pago que se espera que obtenga el usuario después de la compra. |
método de pago ofertas | Oferta de método de pago de Changelly [] | Detalles de compra para cada tipo de pago disponible. Los métodos de pago distintos de "tarjeta" estarán disponibles más adelante. |
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 ;
}
Propiedades
código de proveedor | Proveedor Changelly | Código de proveedor de On-Ramp. |
tipo de error | ChangellyErrorType (Tiempo de espera, No disponible, Límites, País, Estado, Moneda, Método de pago, Oferta no válida) | Tipo de error. |
mensaje de error | cadena | Mensaje de error. |
errorDetalles | ChangellyErrorDetails [] | nulo | Detalles del error. Si el error no contiene detalles, |
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 > ;
} ;
Propiedades
ID de pedido externo | cadena | ID de pedido proporcionado por usted. |
ID de usuario externo | cadena | ID de usuario proporcionado por usted. |
código de proveedor | Proveedor Changelly | Código de proveedor de On-Ramp. |
monedaDesde | cadena | Ticker de la moneda de pago en mayúsculas. |
monedaA | cadena | Ticker de la moneda de pago en mayúsculas. |
cantidadDesde | cadena | Cantidad de moneda que el usuario va a pagar. |
país | cadena | Código de país ISO 3166-1 (Alfa-2). |
estado | cadena | (opcional) Indique el código ISO 3166-2. Es obligatorio si el país proporcionado es EE. UU. |
IP | cadena | (opcional) Dirección IP del usuario. |
billeteraDirección | cadena | Dirección de la billetera del destinatario. Aquí hay 2 casos de uso simples de este parámetro:
|
billeteraExtraId | cadena | (opcional) Propiedad requerida para direcciones de billetera de monedas que usan una identificación adicional para el procesamiento de transacciones (XRP, XLM, EOS, BNB). |
método de pago | Método de pago de Changelly | (opcional) El código del método de pago. |
agente de usuario | cadena | (opcional) Agente de usuario. |
metadatos | Registro<cadena, desconocida> | (opcional) Objeto de metadatos, que puede contener cualquier parámetro que necesite. |
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 ;
}
Propiedades
URL de redirección | cadena | URL a la página de compra del proveedor. |
ID de pedido | cadena | ID de pedido interno proporcionado por Fiat API. |
ID de usuario externo | cadena | ID de usuario proporcionado por usted. |
ID de pedido externo | cadena | ID de pedido proporcionado por usted. |
código de proveedor | Proveedor Changelly | Código de proveedor de On-Ramp. |
monedaDesde | cadena | Ticker de la moneda de pago en mayúsculas. |
monedaA | cadena | Ticker de la moneda de pago en mayúsculas. |
cantidadDesde | cadena | Cantidad de moneda que el usuario va a pagar. |
país | cadena | Código de país ISO 3166-1 (Alfa-2). |
estado | cadena | nulo | Indique el código ISO 3166-2. Será nulo si el país proporcionado no es EE. UU. |
IP | cadena | nulo | Dirección IP del usuario. |
billeteraDirección | cadena | Dirección de la billetera del destinatario. |
billeteraExtraId | cadena | nulo | Propiedad requerida para direcciones de billetera de monedas que utilizan una identificación adicional para el procesamiento de transacciones (XRP, XLM, EOS, BNB). |
método de pago | Método de pago de Changelly | nulo | El código del método de pago. |
agente de usuario | cadena | nulo | Agente de usuario. |
metadatos | Registro<cadena, desconocida> | nulo | Objeto de metadatos, que puede contener cualquier parámetro que necesite. Si no proporciona el objeto de metadatos en la solicitud, se devolverá un valor nulo en los metadatos de la respuesta. Si especifica un objeto vacío en la solicitud, se devolverá un objeto vacío en la respuesta. |
creado en | cadena | Hora en formato ISO 8601. |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
Propiedades
divisa | cadena | Ticker de criptomoneda en mayúsculas. |
billeteraDirección | cadena | Dirección de la billetera del destinatario. |
billeteraExtraId | cadena | (opcional) Propiedad requerida para direcciones de billetera de monedas que usan una identificación adicional para el procesamiento de transacciones (XRP, XLM, EOS, BNB). |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
Propiedades
resultado | booleano | Es falso si la dirección de la billetera o la identificación adicional son incorrectas. |
causa | "dirección de billetera" | "billeteraExtraId" | nulo | Especifica si la dirección de la billetera o la identificación adicional es incorrecta. Si el resultado es verdadero, la causa es nula. |
interface ChangellyState {
code : string ;
name : string ;
}
Propiedades
código | cadena | Indique el código ISO 3166-2. |
nombre | cadena | Nombre del estado. |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
Propiedades
cantidad esperada para | cadena | La cantidad de fondos que se espera que obtenga el usuario después de la compra. |
método | Método de pago de Changelly | El código del método de pago. |
nombre del método | cadena | El nombre del método de pago. |
tasa invertida | cadena | Tarifa actual de compra, que incluye todas las tarifas. |
tarifa | cadena | Tarifa total de la compra. |
interface ChangellyErrorDetails {
cause : string ;
value : string ;
}
Propiedades
causa | cadena | Causa del error. Por ejemplo, puede ser igual al parámetro de solicitud que falta para el tipo de error de validación. |
valor | cadena | Valor de error. |
enum ChangellyRequestUrl {
ProvderList = "/v1/providers" ,
CurrencyList = "/v1/currencies" ,
CountryAvailability = "/v1/available-countries" ,
GetOffers = "/v1/offers" ,
CreateOrder = "/v1/orders" ,
ValidateWalletAddress = "/v1/validate-address" ,
}
Miembros
enum ChangellyProvider {
Moonpay = "moonpay" ,
Banxa = "banxa" ,
Wert = "wert" ,
}
Miembros
enum ChangellyCurrency {
Crypto = "crypto" ,
Fiat = "fiat"