مستندات Back-End صرافی رمزارز
Back-End Crypto Exchange Docs
نسخه ۱.۰.۰ - ۰۵/۱۷/۲۰۲۱
فهرست مطالب
۱. مقدمه
تمامی وب سرویسهای توضیح داده شده در این مستندات به صورت RESTful هستند و طبق همین چهارچوب باید با آنها ارتباط برقرار کرد.
جهت رفع هرگونه مشکل و یا پرسش با پشتیبانی در تماس باشید.
۲. احراز هویت و ورود از طریق یوآیدی
یوآیدی یک سیستم احراز هویت آنلاین می باشد و اطلاعات دریافتی شما از این سرویس توسط شخص کاربر ارایه شده که صحت این اطلاعات و عواقب آن برعهده ی کاربر می باشد.
برای ورود از طریق سیستم یوآیدی کاربر ابتدا اطلاعات هویتی، اطلاعات بانکی و آدرس خود را تکمیل می نماید که این اطلاعات توسط یوآیدی صحت سنجی شده و بعد از آن کاربر می تواند وارد فرایند احرازهویت شود. در فرایند احرازهویت ابتدا ویدئوی چند ثانیه ای از کاربر گرفته می شود و در صورتی که سیستم یوآیدی از زنده بودن ویدئو اطمینان حاصل کرد، یک فریم عکس از ویدئو انتخاب می شود و با عکس ثبت احوال کاربر مقایسه می گردد. در صورت تطبیق یا عدم تطبیق عکس سیستم یوآیدی احراز هویت کاربر را تایید و یا رد می کند.
در پایان فرایند ثبت نام کاربر، توکنی در اختیار اپلیکیشن میزبان قرار می گیرد که با استفاده از آن توکن می توان اطلاعات کاربر را دریافت کرد.
توجه داشته باشید به دلیل محدودیت های اداره ثبت احوال گرفتن اطلاعات کاربر پس از حداقل ۱۰ دقیقه امکان پذیر می باشد.
در ادامه Sequence diagram روند احراز هویت را مشاهده میکنید:
۳. ورود میزبان
جهت دسترسی به اطلاعات کاربر، ابتدا با استفاده از Id, secrectKey ( توسط یوآیدی در اختیار میزبان قرار داده میشود) وارد سیستم شوید و access token را دریافت نمایید.
۳.۱. نمونه ی درخواست
POST - https://cloud.uid.ir/cryptocore/business/login
Content-Type: application/json;charset=UTF-8
{
"id": "id",
"secretKey": "secret Key"
}
3.2. توضیح پارامتر های درخواستی
Field | Type | Description |
id | string | توسط یوآیدی ارسال می گردد |
secret Key | string | توسط یوآیدی ارسال می گردد |
۳.۳. نمونه پاسخ دریافتی
"status": status,
"error": "error",
"message": {
"oauthInformation": {
"access_token": "access Token",
"refresh_token": "refresh Token",
"token_type": "token Type bearer",
"scope": "[read, write]",
"expires_in": expires In }
}
4. سرویس getUserInfo
بعد از اتمام مراحل احراز هویت client token از طریق sdk به redirect url اعلامی توسط میزبان ارسال میشود. با استفاده از این توکن، میزبان میتواند اطلاعات کاربر را دریافت نماید.
۴.۱. نمونه ی درخواست
POST - https://cloud.uid.ir/cryptocore/getUserInfo
Authorization: bearer access_token
Content-Type: application/json;charset=UTF-8
{
"clientToken": "client Token"
}
4.2. توضیح پارامتر های درخواستی
Field | Type | Description |
client Token | string | توکن جهت گرفتن اطلاعات کاربر |
۴.۳. نمونه ی پاسخ دریافتی
"status":status,
"error": "error",
"message": {
"nationalCode": "national Code",
"mobileNumber": "mobile Number",
"birthDate": "birth Date",
"metaData": "meta Data",
"bankInfo": {
"id": id,
"shabaNumber": "shaba Number",
"bankName": "bank Name",
"cardNumber": "card Number",
"accountNumber": "account Number"
},
"addressInfo": [
{
"id": id,
"state": "state",
"city": "city",
"address": "address",
"postalCode": "postalCode"
}
]
},
"path": "/getUserInfo"
4.4. توضیح پاسخ های دریافتی
Field | Type | Description |
meta Data | string | عدم نمایش این فیلد در صورتی که توسط کسب و کار در ورودی اپلیکیشن وارد نشود |
۵. سرویس clientToken
پس از پایان مراحل احراز هویت، برای کاربر توکن با نام clientToken ایجاد و در دیتابیس ذخیره میشود. در این سرویس میزبان پس از ورود میتواند با وارد کردن کد ملی کاربر clientToken مربوط به کاربر را دریافت نماید.
۵.۱. نمونه ی درخواست
GET - https://cloud.uid.ir/cryptocore/clientToken/{nationalCode}
Authorization: bearer access_token
Content-Type: application/json;charset=UTF-8
{
"nationalCode": "national Code"
}
5.2. توضیح پارامترهای درخواستی
Field | Type | Description |
national Code | string | شماره ملی کاربر جهت نمایش توکن |
۵.۳. نمونه پاسخ دریافتی
"timestamp": "2021-10-30T12:02:53.931+00:00",
"status": 200,
"error": "OK",
"message": "clientToken",
"path": "/clientToken/0032546580"
6. خطاهای دریافتی
Code | Description |
429 | درخواست بیش از حد مجاز |
۴۰۰ | درخواست نامعتبر |
۵۰۰ | خطای داخلی سرور |
۴۰۹ | شما قبلا احراز هویت شده اید |
۴۰۴ | میزبان مورد نظر یافت نشد |
۴۰۴ | کاربر مورد نظر یافت نشد |
۵۰۳ | سرویس در دسترس نمی باشد |
۴۱۷ | ویدیو نامعتبر |
۴۰۳ | دسترسی غیر مجاز به سرویس |