பொது REST API தகவல்கள்
- முகப்புப் பக்கம்: https://api-adapter.backend.currency.com
- டெமோ கணக்கின் முகப்புப் பக்கம்: https://demo-api-adapter.backend.currency.com
- அனைத்து இறுதி முனையங்களும் JSON object அல்லது array ஆக திருப்பியனுப்பும்.
- தரவுகள் ஏறுவரிசையில் திருப்பியனுப்பப்படும். பழையது முதலில், புதியது கடைசியில்.
- அனைத்து நேரம் மற்றும் நேரமுத்திரை தொடர்பான புலங்களும் மில்லி விநாடிகளில் இருக்கும்.
- நிறுவனங்களின் டோக்கன்கள், டோக்கனைஸ்டு கடன் பத்திரங்கள், ”KARMA.cx” டோக்கன்கள் மற்றும் ஹாங்காங் சந்தைகளிலுள்ள டோக்கனைஸ்டு சொத்துக்கள் தவிர அனைத்து டோக்கனைஸ்டு சொத்துக்களும் எங்கள் API-யின் முதற்பதிப்பில் (v1) கிடைக்கின்றன. இரண்டாவது API பதிப்பில் (v2) ஹாங்காங் சந்தைகளும் கிடைக்கப் பெறுகின்றன.
- APIக்குள் பயனீட்டு வர்த்தகத்துக்கான சொத்துக்களின் பட்டியலை இங்கு காணலாம்.
- மார்க்கெட், லிமிட் அல்லது ஸ்டாப் ஆர்டர்களை அமைக்கும்போதூம் ஒரு குறிப்பிட்ட டோக்கனுக்குத் தேவையானதைக் காட்டிலும் துல்லியமான பெரிய தொகையைக் குறிப்பிடும்போதும் round_down லாஜிக் True என இருக்கும். அனுமதிக்கப்பட்ட துல்லிய அளவை exchangeInfo கோரிக்கை பதிலிலும் quotePrecision அளவுருவிலும் காணலாம்.
- விலை அளவுருக்கு பெரிய தொகையைத் துல்லியமாகக் குறிப்பிடுவதற்கு round_up லாஜிக் பயன்படுத்தப்படுகிறது. அனுமதிக்கப்பட்ட துல்லிய அளவை exchangeInfo கோரிக்கை பதிலிலும் quotePrecision அளவுருவிலும் காணலாம்.
தேவையான தகவல்களைப் பெறுவதற்கு Swagger-க்குள் உள்ள REST API பகுதியைத் தயவுசெய்து பார்க்கவும்.
Troubleshooting
HTTP ரிட்டன் குறியீடுகள்
- HTTP 4XX ரிட்டன் குறியீடுகள் தவறான வடிவத்திலுள்ள கோரிக்கைகளில் பயன்படுத்தப்படுகின்றன; பிரச்சினையானது அனுப்புபவரின் பக்கத்தில் இருக்கிறது.
- HTTP 403 ரிட்டன் குறியீடானது WAF (Web Application Firewall) வரம்பானது மீறப்படும்போது பயன்படுகிறது.
- HTTP 429 ரிட்டன் குறியீடானது ஒரு கோரிக்கை வீத வரம்பைத் தாண்டும்போது பயன்படுகிறது.
- HTTP 418 ரிட்டன் குறியீடானது 429 குறியீடுகளைப் பெற்ற பிறகும் ஒரு IP தொடர்ந்து கோரிக்கைகளை அனுப்பியதற்காக தானாகவே தடைசெய்யப்படும்போது பயன்படுகிறது.
- HTTP 5XX ரிட்டன் குறியீடானது உட்புற பிழைகளுக்குப் பயன்படுகிறது; பிரச்சினையானது Currency.com பக்கத்தில் இருக்கும். இதை செயல்பாட்டுத் தோல்வியாகக் கருதாமல் இருப்பது முக்கியம்; செயலாக்க நிலை அறியப்படாததாகவும் ஒருவேளை வெற்றியடைந்ததாகவும் இருக்கலாம்.
பிழை குறியீடுகள்
- எந்தவொரு இறுதி முனையமும் பிழையை ரிட்டன் செய்யக்கூடும்.
பேலோட் மாதிரி கீழே:
{
"code": -1121,
"msg": "Invalid symbol."
}
- குறிப்பிட்ட பிழை குறியீடுகளும் செய்திகளும் பிழை குறியீடுகளில் வரையறுக்கப்பட்டுள்ளன.
இறுதி முனையங்கள் பற்றிய பொதுத் தகவல்கள்
GET
இறுதி முனையங்களுக்கு, அளவுருக்கள்query string
ஆக அனுப்பப்பட வேண்டும்.POST
,PUT
, மற்றும்DELETE
இறுதி முனையங்களுக்கு, அளவுருக்களை query string ஆகவோ அல்லது application/x-www-form-urlencoded உள்ளடக்க வகையுடன் கோரிக்கை பாகமாகவோ அனுப்பலாம். நீங்கள் விரும்பினால் query string மற்றும் கோரிக்கை பாகத்துக்கிடையில் அளவுருக்களைக் கலக்கவும் செய்யலாம். அளவுருக்களை எந்த வரிசையிலும் அனுப்பலாம்.- அளவுருக்களை எந்த வரிசையிலும் அனுப்பலாம்.
- ஒரு அளவுருவானது query string-லும் கோரிக்கை பாகத்திலும் அனுப்பப்பட்டால், query string அளவுரு பயன்படுத்தப்படும்.
இறுதி முனையப் பாதுகாப்பு வகை
- ஒவ்வொரு இறுதி முனையத்துக்கும் ஒரு பாதுகாப்பு வகை உள்ளது. இது நீங்கள் எவ்வாறு அதனுடன் இடைவினை செய்கிறீர்கள் என்பதைத் தீர்மானிக்கும். இது இறுதி முனையத்தின் பெயருக்கு அடுத்து குறிப்பிடப்பட்டிருக்கும்.
- எந்த பாதுகாப்பு வகையும் குறிப்பிடப்படாவிட்டால், பாதுகாப்பு வகை எதுவுமில்லை என்று ஊகிக்கலாம்.
- API-குறிச்சொற்கள் X-MBX-APIKEY தலைப்பு வாயிலாக REST API க்கு அனுப்பப்படுகின்றன.
- API-குறிச்சொற்கள் இரகசியக் குறிச்சொற்களாகும்; இது எழுத்து வேறுபாட்டை உணரக்கூடியது (case sensitive).
- API-குறிச்சொற்களை குறிப்பிட்ட பாதுகாப்பு இறுதிமுனைய வகைகளை அணுகுவதற்கு மட்டும் அமைத்துக் கொள்ளலாம். உதாரணமாக, ஒரு API-குறிச்சொல்லை வர்த்தகத்துக்கு மட்டும் பயன்படுத்தி, மற்றொரு API-குறிச்சொல்லை வர்த்தக வழித்தடங்கள் தவிர ஏனையவற்றை அணுகப் பயன்படுத்தலாம்.
- இயல்பாக, API-குறிச்சொற்களால் அனைத்து பாதுகாப்புத் தடங்களையும் அணுக இயலும்.
பாதுகாப்பு வகை | விளக்கம் |
---|---|
NONE | இறுதி முனையத்தை தடையின்றி அணுகலாம் |
TRADE | இறுதிமுனையம் ஒரு சரியான API-குறிச்சொல்லையும் கையொப்பத்தையும் அனுப்ப வேண்டும் |
USER_DATA | இறுதிமுனையம் ஒரு சரியான API-குறிச்சொல்லையும் கையொப்பத்தையும் அனுப்ப வேண்டும் |
USER_STREAM | இறுதிமுனையம் ஒரு சரியான API-குறிச்சொல்லை அனுப்ப வேண்டும் |
MARKET_DATA | இறுதிமுனையம் ஒரு சரியான API-குறிச்சொல்லை அனுப்ப வேண்டும் |
TRADE
மற்றும்USER_DATA
இறுதிமுனையங்கள்SIGNED
இறுதி முனையங்களாகும்.
SIGNED (TRADE, USER_DATA, மற்றும் MARGIN) இறுதி முனையப் பாதுகாப்பு
SIGNED
இறுதி முனையங்களுக்கு ஒரு கூடுதல் அளவுரு, கையொப்பத்தைquery string
அல்லது கோரிக்கை பாகத்துடன் அனுப்ப வேண்டும்.- இறுதி முனையங்கள்
HMAC SHA256
கையொப்பங்களைப் பயன்படுத்துகின்றன.HMAC SHA256
கையொப்பமானதுHMAC SHA256
செயலாக்கத்தில் அமைக்கப்பட்டுள்ளது. உங்கள்secretKey
-ஐ குறிச்சொல்லாகவும்totalParams
-ஐ HMAC செயல்பாட்டுக்கான மதிப்பாகவும் பயன்படுத்தவும். கையொப்பம்
எழுத்து வேறுபாட்டை உணரக்கூடியது (case sensitive) அல்ல.totalParams
ஆனதுquery string
ஆக வரையறுக்கப்பட்டுகோரிக்கை பாகத்துடன்
இணைந்துள்ளது.
ஏககால பாதுகாப்பு
- ஒரு
SIGNED
இறுதி முனையத்துக்கு ஒருநேரமுத்திரை
அளவுரு தேவை. இது கோரிக்கை எப்போது உருவாக்கப்பட்டது மற்றும் அனுப்பப்பட்டது என்ற மில்லி நொடி நேரமுத்திரையில் அனுப்பப்பட வேண்டும். நேரமுத்திரை
-க்குப் பின் கோரிக்கை செல்லுபடியாகும், மில்லிநொடிகளைக் குறிப்பிட ஒரு கூடுதல் அளவுருவாகrecvWindow
அனுப்பலாம்.recvWindow §
அனுப்பப்படவில்லையெனில், இயல்பாக அது 5000 என்று இருக்கும்.
லாஜிக் பின்வருமாறு இருக்கும்:
if (timestamp < (serverTime + 1000) && (serverTime -
timestamp) <= recvWindow)
{
// process request
}
else
{
// reject request
}
தீவிரமாக வர்த்தகம் செய்வது என்பது ஏக காலத்தைச் சார்ந்தது. இணையத்தொடர்பு நிலையற்றதாகவோ நம்பத்தகாததாகவோ இருந்தால் கோரிக்கைகள் சேவையகத்தை அடைய மாறுபட்ட நேர அளவை எடுக்கக்கூடும். recvWindow
உடன் நீங்கள் குறிப்பிட்ட மில்லி நொடிகளுக்குள் கோரிக்கை செயல்படுத்தப்பட வேண்டும் அல்லது சேவையகத்தால் நிராகரிக்கப்பட வேண்டும் என்று குறிப்பிட முடியும்.
நீங்கள் 5000 அல்லது அதற்கும் குறைவான recvWindow பயன்படுத்த பரிந்துரைக்கப்படுகிறது! அதிகபட்சமானது 60,000 தாண்டி இருக்கக்கூடாது!
POST-க்கான SIGNED இறுதி முனைய மாதிரிகள் /api/v1/order
Linux கமாண்ட் லைனிலிருந்து echo, openssl மற்றும் curl பயன்படுத்தி ஒரு சரியான கையொப்பமிட்ட பேலோடை எப்படி அனுப்புவது என்பதற்கான படிப்படியான உதாரணம் இதோ.
Key | Value |
---|---|
apiKey | vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A |
secretKey | NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j |
Parameter | Value |
---|---|
symbol | LTC/BTC |
side | BUY |
type | LIMIT |
timeInforce | GTC |
quantity | 1 |
price | 0,1 |
recvWindow | 5000 |
timestamp | 1499827319559 |
'/' போன்ற சில இடுகுறிகளை url குறியாக்கம் செய்யப்பட்டு '%2F' சேர்க்கையாக மாற்ற வேண்டும் என்பதை நினைவில் கொள்ளவும்.
உதாரணம் 1: ஒரு கோரிக்கை பாகமாக
requestBody:
symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
HMAC SHA256 signature
[linux]$ echo -n
"symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559" | openssl dgst -sha256 -hmac
"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= ebec6528b2beb508b2417fa33453a4ad28c1aae8097bb243caa60d0524036f50
curl command:
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY:
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api-adapter.backend.currency.com/api/v1/order' -d
'symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=ebec6528b2beb508b2417fa33453a4ad28c1aae8097bb243caa60d0524036f50'
Example 2: query string ஆக
queryString:
symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
HMAC SHA256 signature:
[linux]$ echo -n
"symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559" | openssl dgst -sha256 -hmac
"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= ebec6528b2beb508b2417fa33453a4ad28c1aae8097bb243caa60d0524036f50
curl command:
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY:
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api-adapter.backend.currency.com/api/v1/order?symbol=LTC%2FBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=ebec6528b2beb508b2417fa33453a4ad28c1aae8097bb243caa60d0524036f50'
POST-க்கான SIGNED இறுதி முனைய மாதிரிகள் /api/v1/order
(பயனீடு வர்த்தக முறை)
Linux கமாண்ட் லைனிலிருந்து echo, openssl மற்றும் curl பயன்படுத்தி ஒரு சரியான கையொப்பமிட்ட பேலோடை எப்படி அனுப்புவது என்பதற்கான படிப்படியான உதாரணம் இதோ.
Key | Value |
---|---|
apiKey | vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A |
secretKey | NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j |
Parameter | Value |
---|---|
symbol | BTC/USD_LEVERAGE |
side | BUY |
type | MARKET |
timeInforce | GTC |
quantity | 0.01 |
quantity | 2 |
accountId | 2376109060084932 |
takeProfit | 8000 |
stopLoss | 6000 |
recvWindow | 60000 |
timestamp | 1586942164000 |
'/' போன்ற சில இடுகுறிகளை url குறியாக்கம் செய்யப்பட்டு '%2F' சேர்க்கையாக மாற்ற வேண்டும் என்பதை நினைவில் கொள்ளவும்.
உதாரணம் 1: ஒரு கோரிக்கை பாகமாக
requestBody:
symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000
HMAC SHA256 signature
[linux]$ echo -n
"symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000" | openssl dgst -sha256 -hmac
"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= 05fc9fd19c2b1a11215025c5dfa56da2204b04181add67670d4f92049b439f7b
curl command:
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY:
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api-adapter.backend.currency.com/api/v1/order' -d
'symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000&signature=05fc9fd19c2b1a11215025c5dfa56da2204b04181add67670d4f92049b439f7b'
Example 2: query string ஆக
queryString:
symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000
HMAC SHA256 signature:
[linux]$ echo -n
"symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000" | openssl dgst -sha256 -hmac
"NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= 05fc9fd19c2b1a11215025c5dfa56da2204b04181add67670d4f92049b439f7b
curl command:
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY:
vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api-adapter.backend.currency.com/api/v1/order?symbol=BTC%2FUSD_LEVERAGE&side=BUY&type=MARKET&timeInForce=GTC&quantity=0.01&leverage=2&accountId=2376109060084932&takeProfit=8000&stopLoss=6000&recvWindow=60000×tamp=1586942164000&signature=05fc9fd19c2b1a11215025c5dfa56da2204b04181add67670d4f92049b439f7b
கலைச்சொற்கள்
அடிப்படைச் சொத்து
என்பது ஒரு சொத்தின், அதாவது ஒரு குறியீட்டின்எண்ணிக்கையைக்
குறிக்கிறது.சொத்தின் விலையளிப்பு
என்பது ஒரு சொத்தின், அதாவது ஒரு குறியீட்டின்விலையைக்
குறிக்கிறது.
ENUM விளக்கங்கள்
Order status (status):
- NEW
- FILLED
- CANCELED
- REJECTED
Order types (orderTypes, type):
- LIMIT
- MARKET
- STOP
Order side (side):
- BUY
- SELL
Time in force (timeInForce):
- GTC
- IOC
- FOK
Kline/மெழுகுதிரி வரைபட இடைவேளைகள்:
m -> நிமிடங்கள்; h -> மணி; d -> நாட்கள்; w -> வாரங்கள்
- 1m
- 5m
- 15m
- 30m
- 1h
- 4h
- 1d
- 1w
/klines 'வகை' அளவுரு:
- heiken-ashi