يتيح لك SDK هذا العمل مع واجهة برمجة تطبيقات Changelly Fiat في JavaScript وTypeScript. سيجد مطورو JavaScript مكتبة كاملة الميزات بوظائف ملائمة لأتمتة جميع استدعاءات الطريقة داخل واجهة برمجة تطبيقات Changelly fiat؛ سيجد المطورون الذين يستخدمون 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
التحقق من صحة الطلب X-Callback-Signature.
validateOrderCallbackSignature (
signature : string ,
orderId : string
) : boolean ;
حدود
إرجاع منطقي - هل توقيع رد الاتصال صالح؟
احصل على معلومات موسعة حول موفري On-Ramp للمستخدمين.
getProviderList (
config ?: AxiosRequestConfig
) : Promise < ChangellyGetProviderListResponse [ ] > ;
حدود
إرجاع الوعد<ChangellyGetProviderListResponse[]>
احصل على قائمة بالعملات المشفرة والعملات الورقية المدعومة.
getCurrencyList (
params ?: ChangellyGetCurrencyListParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCurrencyListResponse [ ] > ;
حدود
إرجاع الوعد<ChangellyGetCurrencyListResponse[]>
احصل على قائمة بالبلدان التي يتم فيها دعم عمليات شراء العملات المشفرة.
getCountryAvailabilityList (
params ?: ChangellyGetCountryAvailabilityParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetCountryAvailabilityResponse [ ] > ;
حدود
إرجاع الوعد<ChangellyGetCountryAvailabilityResponse[]>
احصل على قائمة عروض الشراء من موفري On-Ramp.
getOffers (
params : ChangellyGetOffersParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyGetOffersResponse [ ] > ;
حدود
إرجاع الوعد<ChangellyGetOffersResponse[]>
أنشئ طلب شراء عملات مشفرة واحصل على عنوان URL لإعادة التوجيه إلى صفحة الشراء. إذا لم يتم توفير أي من المعلمات الاختيارية في الطلب، فسيتم إرجاعها بالقيمة "فارغة" في الاستجابة.
createOrder (
data : ChangellyCreateOrderParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyCreateOrderResponse > ;
حدود
إرجاع الوعد<ChangellyCreateOrderResponse[]>
تحقق مما إذا كان عنوان المحفظة المحدد والمعرف الإضافي (الاختياري) صالحين للعملة المحددة.
validateWalletAddress (
data : ChangellyValidateWalletAddressParams ,
config ?: AxiosRequestConfig
) : Promise < ChangellyValidateWalletAddressResponse > ;
حدود
إرجاع الوعد<ChangellyValidateWalletAddressResponse[]>
interface ChangellyFiatClientParams {
publicKey : string ;
privateKey : string ;
callbackPublicKey ?: string ;
baseUrl ?: string ;
}
ملكيات
publicKey | خيط | المفتاح العام لـ Changelly Fiat API. |
PrivateKey | خيط | مفتاح خاص لـ Changelly Fiat API. |
رد الاتصالPublicKey | خيط | (اختياري) المفتاح العام لرد اتصال Changelly Fiat API. |
baseUrl | خيط | (اختياري) عنوان URL الأساسي لواجهة برمجة تطبيقات Changelly Fiat. |
interface ChangellyBuildSignatureParams {
baseUrl ?: string ;
pathname : ChangellyRequestUrl | string ;
params ?:
| ChangellyGetCurrencyListParams
| ChangellyGetCountryAvailabilityParams
| ChangellyGetOffersParams ;
data ?: ChangellyCreateOrderParams | ChangellyValidateWalletAddressParams ;
}
ملكيات
baseUrl | خيط | (اختياري) عنوان URL الأساسي. |
اسم المسار | تغييرليريكويستUrl | خيط | عنوان الطلب. |
المعلمات | تشينجليجيتكورنسيليستبارامس | تشينجليجيتكونتريأفايلابيليتيبارامس | ChangellyGetOffersParams | (اختياري) طلب معلمات الاستعلام. |
بيانات | تشينجلي كريت أوردر بارامس | ChangellyValidateWalletAddressParams | (اختياري) طلب معلمات الجسم. |
interface ChangellyGetProviderListResponse {
code : ChangellyProvider ;
name : string ;
trustPilotRating : string ;
iconUrl : string ;
}
ملكيات
شفرة | ChangellyProvider | رمز موفر On-Ramp. |
اسم | خيط | اسم موفر On-Ramp. |
TrustPilotRating | خيط | تقييم الموفر على Trustpilot. |
iconUrl | خيط | عنوان URL لرمز موفر On-Ramp. |
interface ChangellyGetCurrencyListParams {
type ?: ChangellyCurrency ;
providerCode ?: ChangellyProvider ;
}
ملكيات
يكتب | عملة التغيير | (اختياري) نوع العملة. إذا لم يتم تحديد نوع العملة، فستعيد نقطة النهاية كلاً من العملات الورقية والعملات المشفرة. |
ProviderCode | ChangellyProvider | (اختياري) المزود الذي تريد عرض عملاته. إذا لم يتم تحديد رمز موفر On-Ramp، فستقوم نقطة النهاية بإرجاع العملات المدعومة لجميع الموفرين. |
interface ChangellyGetCurrencyListResponse {
ticker : string ;
name : string ;
type : ChangellyCurrency ;
extraIdName : string | null ;
iconUrl : string ;
precision : string ;
}
ملكيات
شريط | خيط | شريط العملة بالأحرف الكبيرة. إنه معرف فريد للعملة. |
اسم | خيط | اسم العملة الذي يمكنك تحديده في الواجهة الخاصة بك. |
يكتب | عملة التغيير | نوع العملة. |
extraIdName | سلسلة | باطل | اسم المعرف الإضافي للعملة المشفرة، على سبيل المثال، "مذكرة". مطلوبة للعملات التالية: XRP، XLM، EOS، BNB. بالنسبة للعملات الورقية والعملات المشفرة التي لا تحتوي على معرف إضافي، فإن extraIdName يساوي قيمة خالية. إذا كانت العملة تحتوي على معرف إضافي، فستحتاج إلى توفير معلمة |
iconUrl | خيط | عنوان URL لرمز العملة. |
دقة | خيط | دقة العملة. بالنسبة للعملات الورقية، فهي تساوي دائمًا 2. |
interface ChangellyGetCountryAvailabilityParams {
providerCode ?: ChangellyProvider ;
}
ملكيات
(اختياري) رمز الموفر | ChangellyProvider | (اختياري) المزود الذي تريد عرض بلدانه. إذا لم يتم تحديد رمز موفر On-Ramp، فستقوم نقطة النهاية بإرجاع البلدان المدعومة لجميع الموفرين. |
interface ChangellyGetCountryAvailabilityResponse {
code : ChangellyProvider ;
name : string ;
states ?: ChangellyState [ ] ;
}
ملكيات
شفرة | ChangellyProvider | رمز موفر On-Ramp. |
اسم | خيط | اسم موفر On-Ramp. |
الدول | دولة التغيير [] | (اختياري) الولايات الأمريكية. يتم إرجاعه إذا كان رمز البلد هو الولايات المتحدة. |
interface ChangellyGetOffersParams {
providerCode ?: ChangellyProvider ;
externalUserId ?: string ;
currencyFrom : string ;
currencyTo : string ;
amountFrom : string ;
country : string ;
state ?: string ;
ip ?: string ;
}
ملكيات
ProviderCode | ChangellyProvider | (اختياري) رمز موفر On-Ramp. |
معرف المستخدم الخارجي | خيط | (اختياري) معرف المستخدم الذي قدمته. |
عملة من | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
العملة إلى | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
المبلغ من | خيط | مقدار العملة التي سيدفعها المستخدم. |
دولة | خيط | رمز البلد ISO 3166-1 (ألفا-2). |
ولاية | خيط | (اختياري) اذكر رمز ISO 3166-2. مطلوب إذا كانت الدولة المقدمة هي الولايات المتحدة. |
الملكية الفكرية | خيط | (اختياري) عنوان IP الخاص بالمستخدم. |
يمكن أن تكون ناجحة وتفشل.
interface Offer {
providerCode : ChangellyProvider ;
rate : string ;
invertedRate : string ;
fee : string ;
amountFrom : string ;
amountExpectedTo : string ;
paymentMethodOffers : ChangellyPaymentMethodOffer [ ] ;
}
ملكيات
ProviderCode | ChangellyProvider | رمز موفر On-Ramp. |
معدل | خيط | أفضل سعر للشراء بين جميع طرق الدفع. يشمل السعر جميع الرسوم. |
معدل مقلوب | خيط | معدل الشراء المقلوب. |
مصاريف | خيط | أقل قيمة لإجمالي رسوم الشراء بين جميع طرق الدفع. |
المبلغ من | خيط | مقدار العملة التي سيدفعها المستخدم. |
المبلغ المتوقع | خيط | أكبر مبلغ من الأموال بين جميع طرق الدفع التي من المتوقع أن يحصل عليها المستخدم بعد عملية الشراء. |
طريقة الدفععروض | 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 ;
}
ملكيات
ProviderCode | ChangellyProvider | رمز موفر On-Ramp. |
errorType | ChangellyErrorType (المهلة، غير متاح، الحدود، البلد، الولاية، العملة، طريقة الدفع، العرض غير الصالح) | نوع الخطأ. |
errorMessage | خيط | رسالة خطأ. |
تفاصيل الخطأ | تفاصيل خطأ التغيير [] | باطل | تفاصيل الخطأ. إذا كان الخطأ لا يحتوي على تفاصيل، |
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 > ;
} ;
ملكيات
معرف الطلب الخارجي | خيط | معرف الطلب المقدم من قبلك. |
معرف المستخدم الخارجي | خيط | معرف المستخدم المقدم من قبلك. |
ProviderCode | ChangellyProvider | رمز موفر On-Ramp. |
عملة من | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
العملة إلى | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
المبلغ من | خيط | مقدار العملة التي سيدفعها المستخدم. |
دولة | خيط | رمز البلد ISO 3166-1 (ألفا-2). |
ولاية | خيط | (اختياري) اذكر رمز ISO 3166-2. مطلوب إذا كانت الدولة المقدمة هي الولايات المتحدة. |
الملكية الفكرية | خيط | (اختياري) عنوان IP الخاص بالمستخدم. |
WalletAddress | خيط | عنوان محفظة المستلم. فيما يلي حالتي استخدام بسيطتين لهذه المعلمة:
|
WalletExtraId | خيط | (اختياري) الخاصية المطلوبة لعناوين محفظة العملات التي تستخدم معرفًا إضافيًا لمعالجة المعاملات (XRP، XLM، EOS، BNB). |
طريقة الدفع | طريقة الدفع المتغيرة | (اختياري) رمز طريقة الدفع. |
userAgent | خيط | (اختياري) وكيل المستخدم. |
البيانات الوصفية | سجل <سلسلة، غير معروف> | (اختياري) كائن بيانات التعريف، والذي يمكن أن يحتوي على أي معلمات تحتاجها. |
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 ;
}
ملكيات
redirectUrl | خيط | عنوان URL لصفحة الشراء الخاصة بالموفر. |
معرف الطلب | خيط | معرف الطلب الداخلي المقدم من Fiat API. |
معرف المستخدم الخارجي | خيط | معرف المستخدم المقدم من قبلك. |
معرف الطلب الخارجي | خيط | معرف الطلب المقدم من قبلك. |
ProviderCode | ChangellyProvider | رمز موفر On-Ramp. |
عملة من | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
العملة إلى | خيط | شريط عملة الدفع بالأحرف الكبيرة. |
المبلغ من | خيط | مقدار العملة التي سيدفعها المستخدم. |
دولة | خيط | كود البلد ISO 3166-1 (ألفا-2). |
ولاية | سلسلة | باطل | الدولة رمز ISO 3166-2. سيكون لاغيًا إذا كانت الدولة المقدمة ليست الولايات المتحدة. |
الملكية الفكرية | سلسلة | باطل | عنوان IP الخاص بالمستخدم. |
WalletAddress | خيط | عنوان محفظة المستلم. |
WalletExtraId | سلسلة | باطل | الخاصية المطلوبة لعناوين محفظة العملات التي تستخدم معرفًا إضافيًا لمعالجة المعاملات (XRP، XLM، EOS، BNB). |
طريقة الدفع | طريقة الدفع المتغيرة | باطل | رمز طريقة الدفع. |
userAgent | سلسلة | باطل | وكيل المستخدم. |
البيانات الوصفية | سجل <سلسلة، غير معروف> | باطل | كائن بيانات التعريف، والذي يمكن أن يحتوي على أي معلمات تحتاجها. إذا لم تقم بتوفير كائن البيانات التعريفية في الطلب، فسيتم إرجاع قيمة فارغة في البيانات التعريفية في الاستجابة. إذا قمت بتحديد كائن فارغ في الطلب، فسيتم إرجاع كائن فارغ في الاستجابة. |
تم إنشاؤه | خيط | الوقت بتنسيق ISO 8601. |
interface ChangellyValidateWalletAddressParams {
currency : string ;
walletAddress : string ;
walletExtraId ?: string ;
}
ملكيات
عملة | خيط | شريط العملة المشفرة بأحرف كبيرة. |
WalletAddress | خيط | عنوان محفظة المستلم. |
WalletExtraId | خيط | (اختياري) الخاصية المطلوبة لعناوين محفظة العملات التي تستخدم معرفًا إضافيًا لمعالجة المعاملات (XRP، XLM، EOS، BNB). |
interface ChangellyValidateWalletAddressResponse {
result : boolean ;
cause : "walletAddress" | "walletExtraId" | null ;
}
ملكيات
نتيجة | منطقية | غير صحيح إذا كان عنوان المحفظة أو المعرف الإضافي غير صحيح. |
سبب | "عنوان المحفظة" | "walletExtraId" | باطل | يحدد ما إذا كان عنوان المحفظة أو المعرف الإضافي غير صحيح. إذا كانت النتيجة صحيحة، فالسبب يساوي صفرًا. |
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"