مرحله ی اول: ارسال درخواست اعتبارسنجی
### POST /credit/v2/clients/{clientId}/scoreReport/send
* **اسکوپ: ** ```credit:score-request:post```
* **رویکرد: ** ```Client_Credential```
* **شرح:** : با وارد کردن کدملی و شماره موبایل برای کاربر پیامک کد ارسال میشود.
** سرویس های وابسته**:
* ** صحت سنجی و ایجاد درخواست گزارش**
* ** بررسی وضعیت و دریافت گزارش**
* ** دانلود مستندات ریسپانس کد ها **
````````````````
{address}/credit/v2/clients/{clientId}/scoreReport/send?trackId={trackId}
````````````````
**سرویسهای مرتبط :[ ارسال درخواست مجدد اعتبار سنجی](/doc/credit:score-renew-request-post.html?sandbox=+sandbox/)**
https://sandboxapi.finnotech.ir :address
https://apibeta.finnotech.ir :address
#### URI Parameters
* **clientId:**شناسه کلاینت
#### Query Parameters
* **trackId :** (اجباری) رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید.
* example: ```ef226c90-20cc-48c6-b582-dee29e71676a```
#### Headers
مقادیر زیر باید در هدر قرار بگیرد
````````````````
Authorization : Bearer {Token}
````````````````
#### Body
##### Example:
````````````````
{
"realPersonNationalCode": "1234567811",
"mobileNumber": "09451111111"
}
````````````````
* **realPersonNationalCode:** شناسه ی حقیقی کاربر,
* **mobileNumber:** شماره ی تلفن منطبق با کد ملی,
* **legalPersonNationalCode:** شناسه ی حقوقی شرکت در صورت لزوم
####Results Format
#####Successful result format (status code 200)
````````````````
{
"trackId": "ac468674-ae31-4f34-9b1d",
"result": {
"data": "KLSNSDKLFNSKLNFNNFSDFNSKDFKJSBFKBFKB3pQYw==",
"hasError": false,
"messages": null
},
"status": "DONE"
}
````````````````
* **result:** آبجکتی از پاسخ سرویس شامل:
* **trackId: ** کد پیگیری، اگر ارسال شده باشد همان مقدار برگردانده میشود و در غیر اینصورت یک رشته تصادفی تولید و
برگردانده میشود.
* **data: ** دیتای رمزگذاری شده که در مراحل بعد استفاده می شود.
* **hasError: ** اگر خطایی موجود باشد مقدار true می باشد.
* **messages: ** متن خطا
#### UnSuccessful result format
````````````````
{
"trackId": "7b695b25-289c-4ccb-93f9",
"status": "FAILED",
"error": {
"code": "VALIDATION_ERROR",
"message": "موبایل نامعتبر است"
}
}
````````````````
#### UnSuccessful result format
````````````````
{
"trackId": "4c6a9fd6-3035-4972-a557",
"status": "FAILED",
"error": {
"code": "VALIDATION_ERROR",
"message": "کد ملی معتبر نیست."
}
}
````````````````
مرحله ی دوم: صحت سنجی و ایجاد درخواست گزارش
###POST /credit/v2/clients/{clientId}/scoreReport/verifyAndCreate
* **اسکوپ: ** ```credit:score-verify:post```
* **رویکرد: ** ```Client_Credential```
* **شرح:** در این مرحله صحت اطلاعات ورودی بررسی شده و گزارش ایجاد میشود.
````````````````
{address}/credit/v2/clients/{clientId}/scoreReport/verifyAndCreate?trackId={trackId}
````````````````
**سرویسهای مرتبط :[درخواست مجدد دریافت گزارش اعتبارسنجی](/doc/credit:score-renew-report-post.html?sandbox=+sandbox/)**
https://sandboxapi.finnotech.ir :address
https://apibeta.finnotech.ir :address
####Notes
* فرستادن تمام پارامتر های Body الزامی است
#### URI Parameters
* **clientId:**شناسه کلاینت
#### Query Parameters
* **trackId :** (اجباری) رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید.
* example: ```ef226c90-20cc-48c6-b582-dee29e71676a```
#### Headers
مقادیر زیر باید در هدر قرار بگیرد
````````````````
Authorization : Bearer {Token}
````````````````
####Body
#####Example:
````````````````
{
"hashData": "OXY0dWM0blhSYVZkbEtwQWpZNDZpUHVpRENFVy",
"otpCode":"12345"
}
````````````````
* **hashData:** شناسه رمزگذاری شده که در مراحل قبل دریافت کردید.
* **optCode:** کد یکبارمصرف که در مرحله قبل بر روی شمارهموبایل وارد شده ارسال شده است.
####Results Format
#####Unsuccessful result format (status code 400)
````````````````
"trackId": "f5e592b5-a19d-49c3-a3ff",
"status": "FAILED",
"error": {
"code": "VALIDATION_ERROR",
"message": "ورودی نامعتبر است"
}
````````````````
به ازای نادرست بودن هر یک از پارامترهای ورودی خطای ذکر شده در بالا نمایش داده خواهد شد.
####Results Format
#####Successful result format (status code 200)
````````````````
{
"trackId": "15a7f751-75c4-41c0",
"result": {
"data": "InProcessing",
"hasError": false,
"messages": null
},
"status": "DONE"
}
````````````````
* **result:**
* **data:** درصورتی که فراخوانی درست انجام شده باشد مقدار InProcessing و در غیر این صورت مقدار null خواهد داشت
* **hasError: ** اگر خطایی موجود باشد مقدار true می باشد.
* **messages: ** متن خطا
* **status:**
* DONE: فراخوانی موفق سرویس
* FAILED: فراخوانی ناموفق سرویس
**سرویسهای مرتبط :[درخواست مجدد دریافت گزارش اعتبارسنجی](/doc/credit:score-renew-report-post.html?sandbox=+sandbox/)**
مرحله ی سوم: بررسی وضعیت گزارش
###POST /credit/v2/clients/{clientId}/scoreReport/requestStatusCheck
* **اسکوپ: ** ```credit:score-report:post```
* **رویکرد: ** ```Client_Credential```
* **شرح:** در این سرویس با وارد کردن هش دیتای مراحل قبل، لینک گزارش دریافت میشود.
````````````````
{address}/credit/v2/clients/{clientId}/scoreReport/requestStatusCheck?trackId={trackId}
````````````````
https://sandboxapi.finnotech.ir :address
https://apibeta.finnotech.ir :address
####Notes
* فرستادن تمام پارامتر های Body الزامی است
#### URI Parameters
* **clientId:**شناسه کلاینت
#### Query Parameters
* **trackId :** (اجباری) رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید.
* example: ```ef226c90-20cc-48c6-b582-dee29e71676a```
#### Headers
مقادیر زیر باید در هدر قرار بگیرد
````````````````
Authorization : Bearer {Token}
````````````````
####Body
#####Example:
````````````````
{
"hashData": "OXY0dWM0blhSYVZkbEtwQWpZNDZpUHVpRENFVy"
}
````````````````
* **hashData:** شناسه رمزگذاری شده که در مراحل قبل دریافت کردید
####Results Format
#####Unsuccessful result format (status code 400)
````````````````
{
"trackId": "f5e592b5-a19d-49c3-a3ff",
"status": "FAILED",
"error": {
"code": "VALIDATION_ERROR",
"message": "ورودی نامعتبر است"
}
}
````````````````
به ازای نادرست بودن هر یک از پارامترهای ورودی خطای ذکر شده در بالا نمایش داده خواهد شد.
####Results Format
#####Successful result format (status code 200)
````````````````
{
"trackId": "e3d91d25-5b7f-42d2-a99e-9d1cb8ca3f9b",
"result": {
"data": {
"statusTitle": "ساخت گزارش",
"status": "ReportGenerated",
"reportLink": "https://hostName.ir/report/pNw7x2muLx8TZPx4wx94w=",
"otpMessageStatusTitle": "رسیده به مخابرات",
"otpMessageStatus": 3,
"reportTryCount": 0
},
"hasError": false,
"messages": null
},
"status": "DONE"
}
````````````````
* **result:**
* **data:** آبجکتی شامل مقادیر برگشتی زیر
* **statusTitle:** عنوان درخواست
* **reportLink:** لینک حاوی گزارش. از قسمت آخر reportLink میتوان در مرحله بعد به عنوان هش استفاده کرد. برای مثال در اینجا مقدار آن pNw7x2muLx8TZPx4wx94w= میباشد.
* **otpMessageStatusTitle:** عنوان وضعیت کد فعال سازی
* **otpMessageStatus:** کد وضعیت کد فعال سازی
* **reportTryCount:** تعداد درخواست
* **hasError: ** اگر خطایی موجود باشد مقدار true می باشد.
* **messages: ** متن خطا
* **status:**
* DONE: فراخوانی موفق سرویس
* FAILED: فراخوانی ناموفق سرویس
مرحله ی چهارم: درخواست دریافت اطلاعات گزارش
###POST /credit/v2/clients/{clientId}/scoreReport/getRequestData
* **اسکوپ: ** ```credit:score-report-info:post```
* **رویکرد: ** ```Client_Credential```
* **شرح:** در این مرحله با استفاده از هش توضیح داده شده در مرحله قبل، میتوان اطلاعات گزارش را با فرمتهای xml و json و pdf دریافت کرد. زمان اعتبار گزارش 48 ساعت است.
````````````````
{address}/credit/v2/clients/{clientId}/scoreReport/getRequestData?trackId={trackId}
````````````````
https://sandboxapi.finnotech.ir :address
https://apibeta.finnotech.ir :address
####Notes
* فرستادن تمام پارامتر های Body الزامی است
#### URI Parameters
* **clientId:**شناسه کلاینت
#### Query Parameters
* **trackId :** (اجباری) رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید.
* example: ```ef226c90-20cc-48c6-b582-dee29e71676a```
#### Headers
مقادیر زیر باید در هدر قرار بگیرد
````````````````
Authorization : Bearer {Token}
````````````````
####Body
#####Example:
````````````````
{
"hashData":"WXOO_L9mtTud47udTBT9flCBclHjGGNXn4l_zPRTVCs=",
"outputType": "json"
}
````````````````
* **hashData:** هش که در مرحله قبل توضیح داده شد.
* **outputType:** (اختیاری) در صورتی که مقدار این فیلد برابر با json یا pdf باشد، آنگاه خروجی گزارش از نوع json یا pdf و در صورتی که فیلد وارد نشود، خروجی از نوع xml خواهد بود.
####Results Format
#####Unsuccessful result format (status code 400)
````````````````
{
"responseCode": "FN-KKKK-404499123456",
"trackId": "e7598bfa-7d30-4117-9999-1112344bc817",
"status": "FAILED",
"error": {
"code": "NOT_FOUND",
"message": "گزارشی با این مشخصات یافت نشد."
}
}
````````````````
به ازای نامعتبر بودن هش وارد شده، خطای بالا نمایش داده میشود.
####Results Format
#####Successful result format (status code 200)
````````````````
{
"trackId": "your-track-id",
"result": {
"_declaration": {
"_attributes": {
"version": "1.0",
"encoding": "utf-16"
}
},
"GetGeneratedReportV2DTO": {
"_attributes": {
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"xmlns:xsd": "http://www.w3.org/2001/XMLSchema"
},
"ReportTypes": {
"string": {
"_text": "Inquiry"
}
},
"Score": {
"Score": {
"_text": "0"
}
},
"Report": {
"PersonInformation": {
"NationalCode": {
"_text": "6789123456"
},
"Contacts": {},
"HasBlockedContract": {
"_text": "false"
},
"DateOfBirth": {}
},
"InquiryStats": {
"InquiryStats": [
{
"OrganizationType": {
"_text": "بانک مرکزی"
},
"OrganizationTypeCode": {
"_text": "0102533"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "بانک ها و موسسات اعتباری"
},
"OrganizationTypeCode": {
"_text": "010333"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "تلکام/سازمان هاي خدماتی"
},
"OrganizationTypeCode": {
"_text": "0108933"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "سازمان های خرده فروشی"
},
"OrganizationTypeCode": {
"_text": "0106633"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "سازمان های عمومی/دولتی"
},
"OrganizationTypeCode": {
"_text": "01010233"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "سازمان های قضايی"
},
"OrganizationTypeCode": {
"_text": "01012233"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "مصرف کنندگان"
},
"OrganizationTypeCode": {
"_text": "01010033"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "موسسات اعتباري غير متشکل"
},
"OrganizationTypeCode": {
"_text": "0103033"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
},
{
"OrganizationType": {
"_text": "موسسات صادر کننده کارت اعتباری"
},
"OrganizationTypeCode": {
"_text": "0104433"
},
"LastMonthInquiryCount": {
"_text": "0"
},
"LastYearInquiryCount": {
"_text": "0"
},
"PersonNegativeStatusCount": {
"_text": "0"
},
"ContractNegativeStatusCount": {
"_text": "0"
}
}
]
},
"PersonRoles": {},
"SummaryInformationRelatedToContracts": {},
"SummaryInformationRelatedToContractsSum": {},
"DirectContracts": {},
"IndirectContracts": {},
"ContractNegativeStatus": {},
"PersonNegativeStatus": {},
"InquiryCreatedDate": {
"_text": "1401/03/31 09:18"
}
}
}
},
"status": "DONE"
}
````````````````
* **result:** خروجی گزارش اعتبارسنجی. در صورتی که فیلد outputType="json" یا outputType="pdf" باشد، آنگاه result به فرم json یا pdf میباشد. در غیر اینصورت به فرم xml است.
* **status:**
* DONE: فراخوانی موفق سرویس
* FAILED: فراخوانی ناموفق سرویس