Este SDK permite que você trabalhe com a API Changelly Fiat em JavaScript e TypeScript. Os desenvolvedores de JavaScript encontrarão uma biblioteca completa com funções convenientes para automatizar todas as chamadas de método dentro da API fiduciária Changelly; os desenvolvedores que usam TypeScript encontrarão uma definição rica de tipos estritos.
Observação. Se você tiver alguma dúvida sobre a integração do SDK, não hesite em nos escrever para [email protected].
Este tutorial irá orientá-lo nos fundamentos da criação de um projeto que usa o Changelly Fiat API SDK.
package.json
padrão: > npm init --y
tsconfig.json
e obterão acesso à maioria dos tipos integrados do NodeJS: > npm install typescript
> npx tsc --init
> npm install -D @types/node
> npm install @changelly/fiat-api-sdk-node
CHANGELLY_PRIVATE_KEY
e CHANGELLY_PUBLIC_KEY
para que ela não seja confirmada no controle de origem.index.ts
básico para o seu projeto que cria um cliente 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 } ) ;
Classe SDK Changelly Fiat API Node.js.
Crie uma instância ChangellyFiatClient.
new ChangellyFiatClient (
params : ChangellyFiatClientParams
) : ChangellyFiatClient
Parâmetros
Retorna ChangellyFiatClient
Construa assinatura X-Api.
buildSignature (
params : ChangellyBuildSignatureParams
) : string ;
Parâmetros
String de retorno — Changelly X-Api-Signature
Valide o pedido X-Callback-Signature.
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
Parâmetros
Retorna booleano — A assinatura de retorno de chamada é válida?
Obtenha informações estendidas sobre os provedores On-Ramp para os usuários.
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
Parâmetros
Promessa de retorno <ChangellyGetProviderListResponse[]>
Obtenha uma lista de criptomoedas e moedas fiduciárias suportadas.
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
Parâmetros
Promessa de retorno <ChangellyGetCurrencyListResponse[]>
Obtenha uma lista de países onde as compras de criptografia são suportadas.
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
Parâmetros
Promessa de retorno <ChangellyGetCountryAvailabilityResponse[]>
Obtenha uma lista de ofertas de compra de fornecedores On-Ramp.
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
Parâmetros
Promessa de retorno <ChangellyGetOffersResponse[]>
Crie um pedido de compra criptografado e obtenha um URL de redirecionamento para a página de compra. Se algum dos parâmetros opcionais não for fornecido na solicitação, ele será retornado com o valor “nulo” na resposta.
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
Parâmetros
Promessa de retorno <ChangellyCreateOrderResponse[]>
Verifique se o endereço da carteira fornecido e o ID extra (opcional) são válidos para a moeda especificada.
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
Parâmetros
Promessa de retorno <ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
Propriedades
chave pública | corda | Chave pública da API Changelly Fiat. |
chave privada | corda | Chave privada da API Changelly Fiat. |
retorno de chamadaPublicKey | corda | (opcional) Chave pública de retorno de chamada da API Changelly Fiat. |
baseUrl | corda | (opcional) URL base da API Changelly Fiat. |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
Propriedades
baseUrl | corda | (opcional) URL base. |
nome do caminho | ChangellyRequestUrl | corda | Solicitar endereço. |
parâmetros | ChangellyGetCurrencyListParams | ChangellyGetCountryAvailabilityParams | ChangellyGetOffersParams | (opcional) Solicite parâmetros de consulta. |
dados | ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams | (opcional) Solicite parâmetros do corpo. |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
Propriedades
código | ChangellyProvider | Código do provedor na rampa. |
nome | corda | Nome do provedor de acesso. |
trustPilotRating | corda | Classificação do provedor na Trustpilot. |
íconeUrl | corda | URL do ícone do provedor On-Ramp. |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
Propriedades
tipo | Moeda Changelly | (opcional) Tipo de moeda. Se o tipo de moeda não for especificado, o endpoint retornará moedas fiduciárias e criptomoedas. |
código do provedor | ChangellyProvider | (opcional) O provedor cujas moedas você deseja visualizar. Se o código do provedor On-Ramp não for especificado, o endpoint retornará as moedas suportadas de todos os provedores. |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
Propriedades
relógio | corda | Cotação da moeda em letras maiúsculas. É um identificador exclusivo da moeda. |
nome | corda | Nome da moeda que você pode especificar em sua interface. |
tipo | Moeda Changelly | Tipo de moeda. |
extraIdNome | corda | nulo | Nome de ID extra da criptomoeda, por exemplo, “Memo”. Obrigatório para as seguintes moedas: XRP, XLM, EOS, BNB. Para moedas fiduciárias e criptomoedas sem ID extra, extraIdName é igual a nulo. Se a moeda tiver um ID extra, você precisará fornecer o parâmetro |
íconeUrl | corda | URL do ícone da moeda. |
precisão | corda | Precisão da moeda. Para moedas fiduciárias, é sempre igual a 2. |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
Propriedades
(opcional) provedorCode | ChangellyProvider | (opcional) O provedor cujos países você deseja visualizar. Se o código do provedor On-Ramp não for especificado, o endpoint retornará os países com suporte de todos os provedores. |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
Propriedades
código | ChangellyProvider | Código do provedor na rampa. |
nome | corda | Nome do provedor de acesso. |
estados | ChangellyEstado [] | (opcional) estados dos EUA. É retornado se o código do país for EUA. |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
Propriedades
código do provedor | ChangellyProvider | (opcional) Código do provedor de acesso. |
ID de usuário externo | corda | (opcional) ID de usuário fornecido por você. |
moedaDe | corda | Ticker da moeda de pagamento em letras maiúsculas. |
moedaPara | corda | Ticker da moeda de pagamento em letras maiúsculas. |
valorDe | corda | Quantidade de moeda que o usuário irá pagar. |
país | corda | Código ISO 3166-1 do país (Alfa-2). |
estado | corda | (opcional) Indique o código ISO 3166-2. É obrigatório se o país fornecido for os EUA. |
IP | corda | (opcional) Endereço IP do usuário. |
Pode ter sucesso e falhar.
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
Propriedades
código do provedor | ChangellyProvider | Código do provedor na rampa. |
avaliar | corda | A melhor taxa de compra entre todos os métodos de pagamento. A tarifa inclui todas as taxas. |
Taxa invertida | corda | Taxa de compra invertida. |
taxa | corda | O menor valor da taxa total de compra entre todas as formas de pagamento. |
valorDe | corda | Quantidade de moeda que o usuário irá pagar. |
valor esperado para | corda | A maior quantidade de fundos entre todos os métodos de pagamento que o usuário espera receber após a compra. |
Método de pagamentoOfertas | ChangellyPaymentMethodOffer [] | Detalhes da compra para cada tipo de pagamento disponível. Outros métodos de pagamento além do “cartão” estarão disponíveis posteriormente. |
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 ;
}
Propriedades
código do provedor | ChangellyProvider | Código do provedor na rampa. |
tipo de erro | ChangellyErrorType (Tempo limite, Indisponível, Limites, País, Estado, Moeda, PaymentMethod, InvalidOffer) | Tipo de erro. |
mensagem de erro | corda | Mensagem de erro. |
detalhes do erro | ChangellyErrorDetails [] | nulo | Detalhes do erro. Se o erro não contiver detalhes, |
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 > ;
} ;
Propriedades
ID de pedido externo | corda | ID do pedido fornecido por você. |
ID de usuário externo | corda | ID de usuário fornecido por você. |
código do provedor | ChangellyProvider | Código do provedor na rampa. |
moedaDe | corda | Ticker da moeda de pagamento em letras maiúsculas. |
moedaPara | corda | Ticker da moeda de pagamento em letras maiúsculas. |
valorDe | corda | Quantidade de moeda que o usuário irá pagar. |
país | corda | Código ISO 3166-1 do país (Alfa-2). |
estado | corda | (opcional) Indique o código ISO 3166-2. É obrigatório se o país fornecido for os EUA. |
IP | corda | (opcional) Endereço IP do usuário. |
endereço da carteira | corda | Endereço da carteira do destinatário. Aqui estão dois casos de uso simples deste parâmetro:
|
carteiraExtraId | corda | (opcional) Propriedade necessária para endereços de carteiras de moedas que utilizam um ID adicional para processamento de transações (XRP, XLM, EOS, BNB). |
método de pagamento | ChangellyPaymentMethod | (opcional) O código da forma de pagamento. |
agente do usuário | corda | (opcional) Agente do usuário. |
metadados | Registro<string, desconhecido> | (opcional) Objeto de metadados, que pode conter quaisquer parâmetros necessários. |
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 ;
}
Propriedades
redirecionar URL | corda | URL para a página de compra do fornecedor. |
ID do pedido | corda | ID do pedido interno fornecido pela Fiat API. |
ID de usuário externo | corda | ID de usuário fornecido por você. |
ID de pedido externo | corda | ID do pedido fornecido por você. |
código do provedor | ChangellyProvider | Código do provedor na rampa. |
moedaDe | corda | Ticker da moeda de pagamento em letras maiúsculas. |
moedaPara | corda | Ticker da moeda de pagamento em letras maiúsculas. |
valorDe | corda | Quantidade de moeda que o usuário irá pagar. |
país | corda | Código ISO 3166-1 do país (Alfa-2). |
estado | corda | nulo | Indique o código ISO 3166-2. Será nulo se o país fornecido não for os EUA. |
IP | corda | nulo | Endereço IP do usuário. |
endereço da carteira | corda | Endereço da carteira do destinatário. |
carteiraExtraId | corda | nulo | Propriedade necessária para endereços de carteiras de moedas que utilizam um ID adicional para processamento de transações (XRP, XLM, EOS, BNB). |
método de pagamento | ChangellyPaymentMethod | nulo | O código da forma de pagamento. |
agente do usuário | corda | nulo | Agente do usuário. |
metadados | Registro<string, desconhecido> | nulo | Objeto de metadados, que pode conter quaisquer parâmetros necessários. Se você não fornecer o objeto de metadados na solicitação, null será retornado nos metadados na resposta. Se você especificar um objeto vazio na solicitação, um objeto vazio será retornado na resposta. |
criadoEm | corda | Hora no formato ISO 8601. |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
Propriedades
moeda | corda | ticker de criptomoeda em letras maiúsculas. |
endereço da carteira | corda | Endereço da carteira do destinatário. |
carteiraExtraId | corda | (opcional) Propriedade necessária para endereços de carteiras de moedas que utilizam um ID adicional para processamento de transações (XRP, XLM, EOS, BNB). |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
Propriedades
resultado | booleano | Será falso se o endereço da carteira ou ID extra estiver incorreto. |
causa | "carteiraEndereço" | "carteiraExtraId" | nulo | Especifica se o endereço da carteira ou ID extra está incorreto. Se o resultado for verdadeiro, causa é igual a nulo. |
interface ChangellyState {
code : string ;
name : string ;
}
Propriedades
código | corda | Indique o código ISO 3166-2. |
nome | corda | Nome do estado. |
interface ChangellyPaymentMethodOffer {
amountExpectedTo : string ;
method : ChangellyPaymentMethod ;
methodName : string ;
invertedRate : string ;
fee : string ;
}
Propriedades
valor esperado para | corda | A quantidade de fundos que o usuário espera receber após a compra. |
método | ChangellyPaymentMethod | O código da forma de pagamento. |
nome do método | corda | O nome da forma de pagamento. |
Taxa invertida | corda | Taxa atual de compra, que inclui todas as taxas. |
taxa | corda | Taxa total da compra. |
interface ChangellyErrorDetails {
cause : string ;
value : string ;
}
Propriedades
causa | corda | Causa do erro. Por exemplo, pode ser igual ao parâmetro de solicitação ausente para o tipo de erro de validação. |
valor | corda | Valor de erro. |
enum ChangellyRequestUrl {
ProvderList = "/v1/providers" ,
CurrencyList = "/v1/currencies" ,
CountryAvailability = "/v1/available-countries" ,
GetOffers = "/v1/offers" ,
CreateOrder = "/v1/orders" ,
ValidateWalletAddress = "/v1/validate-address" ,
}
Membros
enum ChangellyProvider {
Moonpay = "moonpay" ,
Banxa = "banxa" ,
Wert = "wert" ,
}
Membros
enum ChangellyCurrency {
Crypto = "crypto" ,
Fiat = "fiat"