مقدمه

API های وندار بر اساس استاندارد REST ایجاد شده اند.

تمامی پاسخ API های ما بصورت JSON-encoded پاسخ داده خواهند شد.

بوسیله ارسال توکن در هر درخواست، احراز هویت نیز انجام می شود. (ممکن است در برخی از سرویس ها نحوه احراز هویت متفاوت باشد)

محدودیت های درخواست به API

برای متد POST در هر ۳ ثانیه ۳۰ درخواست

و برای باقی متد ها در هر ۳ ثانیه ۱۰۰ درخواست قابل پذیرش است.

توجه داشته باشید که در حال حاضر برخی از مسیرها با base url روبرو تعیین نشده است.

آیا این بخش مفید بود؟بلی خیر
BASE URL

https://api.vandar.io

احراز هویت

برای دریافت توکن و رفرش توکن اولیه مالک یا مدیر کسب و کار می تواند وارد داشبورد وندار شود و کسب و کار خود را انتخاب کند. و از منوی تنظیمات بخش تنظیمات مدیریت حساب، توکن ها را انتخاب کنید. و با زدن دکمه افزودن توکن جدید، و وارد کردن یک نام برای توکن و وارد کردن رمز عبور حساب کاربری خود یک توکن و رفرش توکن در یافت کنید.

از آنجاییکه عمر توکن ها محدود است و مقدار آن در فیلد expires_in (بر مبنای ثانیه) همراه توکن ارسال شده است،‌ باید قبل از منقضی شدن توکن با ارسال رفرش توکن، توکن جدید را دریافت کنید.

پارامترها
refreshtokenrequiredstring

مقداری که از فراخوانی متد قبل دریافت کرده‌اید

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'POST',
  url: '/v3/refreshtoken',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    refreshtoken: '{refreshtoken}'
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "token_type": "Bearer",
  "expires_in": 432000,
  "access_token": "bPJO9cJLGRqClDadEua7ztoCLC5E***********",
  "refresh_token": "def50200c4d2462d2de167da1*******"
}

postman

جهت تست و توسعه سرویس‌ها از کالکشن پستمن وندار استفاده نمایید.

کلیه سرویس‌های وندار در کالکشن ارائه شده موجود می‌باشد، برای تست API ها کافیست نام انگلیسی کسب‌وکار خود را بجای پارامتر business و اکسس توکن دریافتی از وندار را در پارامتر access_token ارسال نمائید.

نام انگلیسی کسب‌وکار در داشبورد وندار، بخش تنظیمات،اطلاعات پایه و در فیلد نام انگلیسی برند موجود می‌باشد.

آیا این بخش مفید بود؟بلی خیر

خطاها

API های وندار از قواعد HTTP response پیروی می‌کند.

بطور کلی در رنج 2xx پاسخ های موفق را دریافت می‌کنید.

رنج 4xx زمانی بوجود می‌آید که اطلاعات اشتباهی از سمت شما به API ها ارسال شده است.

خطاهایی در رنج 5xx نشان دهنده مشکلاتی از سمت API های وندار بوده که می توانید آن را با پشتیبانی مطرح کنید.

آیا این بخش مفید بود؟بلی خیر
HTTP STATUS CODE SUMMARY

200 - OKEverything worked as expected.
400 - Bad RequestThe request was unacceptable, often due to missing a required parameter.
401 - UnauthorizedNo valid API key provided.
402 - Request FailedThe parameters were valid but the request failed.
403 - ForbiddenThe API key doesn't have permissions to perform the request.

درگاه پرداخت IPG

برای فروشگاه‌های اینترنتی که خدمات یا محصولاتی را در وب‌سـایت خود ارائه می‌کنند، از درگاه پرداخت وندار استفاده کنید.

نکته

برای استفاده از درگاه پرداخت لازم است این ابزار را در داشبورد وندار فعال کرده و یک توکن دریافت کنید.

قبل از شروع پیاده سازی بهتر است یک بار فرایند پرداخت را با هم مرور کنیم
  • مرحله اول: ارسال اطلاعات تراکنش و دریافت توکن پرداخت.
  • مرحله دوم: انتقال کاربر به صفحه پرداخت با توکنی که از مرحله اول دریافت کردید.
  • مرحله سوم (اختیاری): قبل از تایید تراکنش اطلاعات تراکنش را دریافت می‌کنید.
  • مرحله چهارم: بعد از فرایند پرداخت کاربر به آدرسی بازگشتی که در مرحله اول ارسال کردید، بر‌میگردد. و شما برای نهایی شدن تراکنش حتما باید متد وریفای تراکنش رو صدا بزنید. و نتیجه نهایی تراکنش را دریافت کنید. پایان تراکنش

این چهار مرحله کلی، مقدمه چند نکته مهم است که توجه شما را به این نکات جلب می‌کنم

همگام‌سازی آدرس درگاه پرداخت و callback_url

در مرحله اول، باید پارامتری به نام callback_url را همراه با درخواست خود ارسال کنید. توجه داشته باشید که از این پس، آدرس callback_url باید حتماً با دامنه‌ای که برای آن ترمینال شاپرکی دریافت کرده‌اید، مطابقت داشته باشد. به عنوان مثال، اگر دامنه ثبت‌شده در شاپرک vandar.io است، آدرس callback_url نیز باید یکی از مشتقات این دامنه باشد، مانند:

https://vandar.io/:path

https://subdomain.vandar.io/:path

همگام‌سازی آدرس درگاه پرداخت و HTTP Referer

یکی دیگر از موارد بسیار مهم زمانی است که کاربر شما به صفحه درگاه پرداخت منتقل می‌شود. در این انتقال، درخواست ریدایرکت به همراه هدر Referer ارسال می‌شود. از این پس، آدرس Referer باید دارای دو ویژگی زیر باشد:

پر بودن: هدر Referer نباید خالی باشد.

مطابقت با دامنه ترمینال شاپرکی: آدرس Referer باید با دامنه‌ای که ترمینال شاپرکی برای آن صادر شده است، همخوانی داشته باشد.

تعداد زیادی از کسب و کارها قبل از تایید یک تراکنش و نهایی کردن اون ممکنه به اطلاعات تراکنش نیاز داشته باشند. به عنوان مثال اگر بخواهید شماره کارت پرداخت کننده را قبل از نهایی کردن تراکنش صحت سنجی کنید مرحله سوم که دریافت اطلاعات شماره کارت است رو فراخوانی می‌کنید و پارامتر "cid" که هش "SHA256" شماره کارت است را با شماره کارتی که پرداخت کننده از قبل نزد شما ثبت کرده است، تطابق می‌دهید. اما اگر به این صحت سنجی نیاز نداشته باشید. فراخوانی این سرویس اختیاری است.

این ورژن آخرین ورژن درگاه پرداخت وندار است. ورژن های قدیمی وندار پابرجا است. اما با توجه به تغییرات انجام شده سرعت انجام تراکنش در این ورژن بالاتر است. و این ورژن قابلیت های درگاه پرداخت دومرحله ای و تک مرحله ای را همزمان داراست. به هیچ عنوان در ورودی و خروجی ها تغییر داده نشده است. پس فقط با تغییر آدرس می‌توانید به ورژن ۳ مهاجرت کنید.

در صورتیکه تمایل به استفاده از قابلیت سوئیچینگ هوشمند درگاه پرداخت دارید این موضوع را به پشتیبانی وندار اطلاع دهید تا برای شما فعال کنند.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST https://ipg.vandar.io/api/v4/send

GET https://ipg.vandar.io/v4/:token

POST https://ipg.vandar.io/api/v4/transaction

POST https://ipg.vandar.io/api/v4/verify

تسویه

با استفاده از سرویس تسویه می‌توانید مبلغ موردنظر از کیف پول کسب و کار خود به مقصد شبای دلخواه (تمامی شباهای سامانه بانکی کشور) واریز نمائید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/settlement/store

GET /v2.1/business/:business/settlement

GET /v2.1/business/:business/settlement/:settlement_id

DELETE /v2.1/business/:business/settlement/:transaction_id

GET /v3/business/:business/settlement/banks

تسویه گروهی

با استفاده از سرویس تسویه گروهی می‌توانید تسویه های خود به صورت دسته ای (گروهی) یکجا ثبت نمائید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST https://batch.vandar.io/api/v2/business/:business/batches-settlement

GET https://batch.vandar.io/api/v2/business/:business/batches

GET https://batch.vandar.io/api/v2/business/:business/batch-settlements/:batch_id

تسویه در نوبت

با استفاده از سرویس تسویه در نوبت می‌توانید هنگامی که کیف پول شما به اندازه کافی موجودی ندارد، تسویه های خود ثبت نمائید و پس از اینکه کیف پول شما افزایش پیدا کرد این تسویه‌ها به بانک ارسال می‌شود.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/settlement/queued

GET /v3/business/:business/settlement/queued

GET /v3/business/:business/settlement/queued/:id

POST /v3/business/:business/settlement/queued/cancel

ابزار واریز بانکی

ابزار «واریز بانکی» یا به اصطلاح ،cash in یکی از بهترین روش‌های شارژ کیف پول کسب‌وکار ها است. کسب‌ و کارهایی که مبالغ زیادی از حساب آن‌ها برداشته می‌شود، با استفاده از این ویژگی می‌توانند مبلغی را از حساب بانک آینده خود به کیف پول خود در وندار اضافه کرده و پس از آن تعیین کنند که چه مقدار وجه از کیف پول‌شان خارج شود.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/cash-in/account

POST /v3/business/:business/cash-in/account/deposit

POST /v3/business/:business/cash-in/account/balance

واریز شناسه‌دار

«واریز شناسه‌دار»، سرویس مکمل سایر روش‌های پرداخت است که افراد و سازمان‌ها از آن استفاده می‌کنند. به کمک این سرویس، می‌توانید بدون محدودیت در شبکه بانکی، پرداخت و دریافت وجه داشته باشید. این سرویس به صورت پیشفرض برای همه کسب‌وکارهای فعال، قابل استفاده بوده و برای هر کسب‌وکار یک شناسه یکتا منحصر به فرد تخصیص می‌یابد. با استفاده از «واریز شناسه‌دار» این امکان وجود دارد که با واریز وجه از همه بانک‌هایی که در آن حساب دارید، موجودی «کیف پول وندار» خود را افزایش دهید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/cash-in/code

GET /v3/business/:business/cash-in/suspicious-payment

POST /v3/business/:business/cash-in/suspicious-payment/:id

پرداخت خودکار

سرویس پرداخت خودکار یا دایرکت دبیت سرویسی است که یک فرد وجوهی را از حساب بانکی شخص دیگری خارج می کند در واقع شما به بانک اجازه می دهید که مبلغی را مستقیما از حسابتان کسر و در قبال آن خدماتی را به شما ارایه دهد. به طور کلی دایرکت دبیت برداشت مستقیم پول برای انجام معاملات مالی در صورت صدور مجوز توسط پرداخت کننده می باشد. این کار بیشتر زمانی انجام می شود که شما بخواهید اشتراک خود را تمدید کنید.

آیا این بخش مفید بود؟بلی خیر

بانک‌ها

لیست بانک‌های فعال دایرکت‌دبیت برای کسب‌وکار شما از طریق این سرویس قابل دسترس می‌باشد. همچنین امکان مدیریت بانک‌ها در داشبورد وندار، بخش پرداخت خودکار فراهم می‌باشد.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/subscription/banks/actives

مجوز پرداخت از حساب

جهت دسترسی به حساب در سرویس پرداخت خودکار، نیاز به ایجاد یک مجوز در بانک وجود دارد. بر اساس این مجوز، کسب‌وکار شما اجازه برداشت از حساب کاربر را خواهد داشت.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/subscription/authorization/store

GET https://subscription.vandar.io/authorizations/:token

PATCH /v3/business/:business/subscription/authorization/:authorization_id/verify

GET /v3/business/:business/subscription/authorization/:authorization_id/search

GET /v3/business/:business/subscription/authorization

GET /v3/business/:business/subscription/authorization/:authorization_id/calculation

DELETE /v3/business/:business/subscription/authorization/:authorization_id

پرداخت از حساب

در این سرویس می‌توانید از حساب کاربران خود یکبار یا به صورت دوره‌ای بر اساس مجوزی که از کاربر گرفته‌اید، وجهی را برداشت نمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/subscription/withdrawal/store

GET /v3/business/:business/subscription/withdrawal/:withdrawal_id

GET /v3/business/:business/subscription/withdrawal/track-id/:track_id

GET /v3/business/:business/subscription/withdrawal

GET /v3/business/:business/subscription/withdrawal?q=:authorization_id

PUT /v3/business/:business/subscription/withdrawal/:withdrawal_id

بازگشت وجه

جهت بازگشت وجه یک تراکنش موفق پرداخت از حساب، می‌توانید از این سرویس استفاده نمایید.

جهت فعالسازی قابلیت بازگشت‌وجه لطفا با پشتیبانی وندار تماس حاصل نمایید.

لیست بانک‌هایی که از این قابلیت پشتیبانی می‌کنند: بانک ملی، پست‌بانک‌ایران، اقتصادنوین، سامان، سرمایه، سینا، آینده، دی، ایران‌زمین، کشاورزی، فردابانک، مهرایران، پارسیان، تجارت

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/subscription/refunds

GET /v3/business/:business/subscription/refunds/:refund_id

GET /v3/business/:business/subscription/refunds

معامله امن «میاندو»

میاندو برای خریدار هویت فروشنده و برای فروشنده، پرداخت مبلغ از سوی خریدار را تضمین می‌کند. خریدار مبلغ معامله را نزد میاندو به امانت می‌گذارد تا پس از ارائه کالا یا خدمت و تایید خریدار، این مبلغ برای فروشنده آزاد شود.

آیا این بخش مفید بود؟بلی خیر

مشتریان

مشتریان در میاندو به اشخاصی اطلاق می‌شود که به عنوان طرفین معامله (خریدار، فروشنده) به خرید و فروش می‌پردازند.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/customers

GET /miando/api/v1/customers

GET /miando/api/v1/customers/:id

معاملات

پیش نویسی است که پس از تایید طرفین به یک قرارداد بین فروشنده و خریدار در میاندو ثبت می‌شود.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/agreements

POST /miando/api/v1/agreements/:tracking_code

POST /miando/api/v1/agreements/:tracking_code/finalize

POST /miando/api/v1/agreements/:tracking_code/cancel

GET /miando/api/v1/agreements

GET /miando/api/v1/agreements/:tracking_code

تیکت

اگر در روند معامله مشکلی پیش آمد می‌توانید با ثبت تیکت مشکل خود را بیان کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/tickets

مشتریان

در این بخش سرویس‌های ثبت مشتری، فیلدهای اختصاصی مشتری، مشاهده لیست مشتریان، ویرایش اطلاعات مشتری، حذف مشتری و مشاهده اطلاعات یک مشتری ارائه می‌شوند.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/customers

POST /v2/business/:business/customers

PUT /v2/business/:business/customers/:customer

DELETE /v2/business/:business/customers/:customer

GET /v2/business/:business/customers/:customer

فیلد اختصاصی

با استفاده از این سرویس می‌توانید فیلدهای اختصاصی برای کسب و کار ثبت نمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/business/customers/fields

POST /v2/business/:business/customers/fields

PUT /v2/business/:business/customers/fields/:field_id

DELETE /v2/business/:business/customers/fields/:field_id

GET /v2/business/:business/customers/fields/:field_id

کیف پول

در این بخش مدیریت کیف پول مشتریان که شامل واریز، برداشت و مشاهده موجودی کیف پول مشتری می‌باشد، صورت می‌گیرد.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/customers/:customer/wallet

POST /v2/business/:business/customers/:customer/wallet/deposit

POST /v2/business/:business/customers/:customer/wallet/withdraw

تراکنش‌ها

در این بخش اطلاعات تراکنش‌های مشتریان قابل مشاهده می‌باشد.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v2/business/:business/customers/:customer/transactions

شبا

استفاده از سرویس‌های استعلامی نیازمند فعال‌سازی آن از سمت پشتیبانی است. برای فعال‌سازی این سرویس درخواست خود را از بخش تیکت‌ها ارسال فرمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer/ibans

GET /v3/business/:business/customers/:customer/ibans

DELETE /v3/business/:business/customers/:customer/ibans

POST /v3/business/:business/customers/:customer/ibans/:iban/inquiry

POST /v3/business/:business/customers/:customer/ibans/:iban/set-default

کارت

استفاده از سرویس‌های استعلامی نیازمند فعال‌سازی آن از سمت پشتیبانی است. برای فعال‌سازی این سرویس درخواست خود را از بخش تیکت‌ها ارسال فرمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer/cards

GET /v3/business/:business/customers/:customer/cards

DELETE /v3/business/:business/customers/:customer/cards/:card

POST /v3/business/:business/customers/:customer/cards/:card/inquiry

POST /v3/business/:business/customers/:customer/cards/:card/set-default

POST /v3/business/:business/customers/:customer/cards/to-iban

احراز هویت

استفاده از سرویس‌های استعلامی نیازمند فعال‌سازی آن از سمت پشتیبانی است. برای فعال‌سازی این سرویس درخواست خود را از بخش تیکت‌ها ارسال فرمایید.

این سرویس جهت احراز هویت طرف‌حساب‌های پذیرندگان وندار ارائه شده است که توسط آن، پذیرندگان می‌توانند اطلاعات هویتی مخاطبان خود را مورد سنجش قرار دهند.

در حال حاضر وب سرویس احراز هویت مخاطبین به دو دسته کلی تقصیم شده است:

  • مخاطبینی که از قبل توسط پذیرنده ثبت نام شده اند.
  • مخاطبینی که ثبت نام نشده اند.

    برای احراز هویت کاربرانی که از قبل توسط پذیرنده ثبت نام شده اند احتیاجی به وارد کردن اطلاعات مخاطب نیست بلکه اطلاعات مخاطبین واکشی شده و در صورت وجود نقض یا مغایرت وب سرویس پیغام مناسب بر می گرداند.

برای احراز هویت مخاطبینی که از قبل توسط پذیرنده ثبت نام نشده اند وارد کردن اطلاعات مربوط به هر سرویس الزامی است.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer/authentication/kyc

POST /v3/business/:business/customers/authentication/kyc

POST /v3/business/:business/customers/:customer/authentication/shahkar

POST /v3/business/:business/customers/authentication/shahkar

گزارشات

این سرویس جهت گزارش گیری از طرف‌حساب‌های پذیرندگان وندار ارائه شده است که توسط آن، پذیرندگان می‌توانند گزارش های مربوط به مخاطبان خود را مشاهده کنند.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v2/business/:customer/customers/:customer/logs

شناسه واریز

این سرویس جهت ایجاد شناسه واریز و انتصاب آن به طرف‌حساب‌های پذیرندگان وندار ارائه شده است که توسط آن، پذیرندگان می‌توانند به ازای هر مشتری یک شناسه واریز منحصر به فرد ایجاد کنند.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/customers/:customer/cash-in-code

استعلام ها

سرویس استعلام مشتریان

استفاده از سرویس‌های استعلامی نیازمند فعال‌سازی آن از سمت پشتیبانی است. برای فعال‌سازی این سرویس درخواست خود را از بخش تیکت‌ها ارسال فرمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/inquiry/nid

POST /v3/business/:business/customers/inquiry/postal-code

POST /v3/business/:business/customers/national-code-iban-inquiry

POST /v3/business/:business/customers/match-mobile-card

صورت حساب

از وب‌سرویس صورت حساب وندار جهت مشاهده موجودی کیف پول، گزارش تراکنش ها و تسویه‌ انجام شده در وندار مورد استفاده قرار می‌گیرد

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/balance

GET /v3/business/:business/transaction

کسب و کار

با استفاده از این بخش می‌توانید اطلاعات کسب‌وکار و لیست کاربران کسب‌وکار خود را مشاهده کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business

GET /v2/business/:business/iam

بازگشت وجه

با استفاده از سرویس بازگشت وجه می توانید برای بازگرداندن مبلغ یک تراکنشِ موفقِ درگاه پرداخت، به شماره کارت پرداخت‌کننده استفاده کنید.

شرایط لازم برای بازگشت وجه
  • فعال بودن ابزار بازگشت وجه
  • موفق بودن تراکنش
  • داشتن موجودی کافی در کیف‌ پول
آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/transaction/:transaction_id/refund

روند

با استفاده از سرویس روند، می‌توانید کارت‌های بانکی با طرح و لوگوی اختصاصی کسب‌وکار خود برای کاربران صادر کنید و تمامی عملیات بانکی مانند انتقال وجه، پایا، ساتنا، دریافت موجودی، پیگیری تراکنش‌ها و مشاهده صورت‌حساب را از طریق API انجام دهید.

آیا این بخش مفید بود؟بلی خیر

تنظیمات کسب و کار

قبل از فراخوانی سرویس‌های روند، لازم است تنظیمات مربوط به کسب‌وکار شما تعریف شود.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v1/business/:business/ravand/set-config

دریافت اطلاعات استاتیک

برای صدور کارت، باید لیستی از اطلاعاتی مانند استان‌ها، شهرها، کد صنف، تحصیلات و مشاغل را دریافت کنید. با ارسال شناسه‌های مربوط به این اطلاعات، می‌توانید جزئیات اطلاعات کاربران خود را به‌روزرسانی کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v1/business/:business/ravand/provinces

GET /v1/business/:business/ravand/cities

GET /v1/business/:business/ravand/guilds

GET /v1/business/:business/ravand/educations

GET /v1/business/:business/ravand/occupations

صدور کارت

برای صدور کارت، این سرویس ها باید فراخوانی شوند: ایجاد کارت، به‌روزرسانی اطلاعات، آپلود مدارک هویتی، دریافت متن ویدیوی احراز هویت، نهایی‌سازی درخواست و پیگیری درخواست. با استفاده از این سرویس‌ها می‌توانید فرآیند صدور کارت را برای کاربران خود به‌طور کامل انجام دهید

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v1/business/:business/ravand/provider/:provider/cardholder

PUT /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/video-caption

POST /v1/business/business/ravand/provider/:provider/cardholder/:cardholder_id/upload

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/finalize

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/inquiry

ثبت اطلاعات متقاضی کارت

با فراخوانی این سرویس و ارسال 3 پارامتر کد ملی، موبایل و تاریخ تولد درخواست اولیه برای متقاضی ایجاد شده و در جواب کلید cardholder_id برگردانده می شود که این کلید را در تمام درخواست بعدی باید ارسال نمایید. توجه داشته باشید که در ورودی تمام سرویس ها نیاز به ارسال provider می باشد که این پارامتر نام بانک موردنظر جهت صدور کارت می باشد. در حال حاضر بانک های زیر پشتیبانی می شوند:

بانک خاورمیانه = middleeast

برای فراخوانی سرویس ها نیاز هست نام انگلیسی بانک بجای :provider ارسال شود.

v1/business/:business/ravand/provider/middleeast/cardholder

موبایل متقاضی حتما باید با کد ملی مطابقت داشته باشد در غیر این صورت در جواب سرویس خطای عدم تطابق برگشت داده می شود.

پارامترها
national_coderequiredstring

کد ملی متقاضی

mobilerequiredstring

شماره موبایل متقاضی

birth_daterequiredstring

تاریخ تولد متقاضی به فرمت Y/m/d

پاسخ ها
dataobject

در این کلید پارامتر cardholder_id برگشت داده می شود که در درخواست های بعدی باید ارسال شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    national_code: '0020000000',
    mobile: '09190000000',
    birth_date: '1370/01/01'
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5"
  }
}

بروزرسانی اطلاعات متقاضی کارت

در این مرحله بعد از دریافت cardholder_id باید اطلاعات متقاضی را توسط این سرویس تکمیل نمایید. پارامتر های اجباری به ازای هر provider متفاوت خواهد بود که در ادامه توضیح داده می شود.

این سرویس به صورت کلی پارامتر های زیر را دریافت می کند:

en_first_namestring

نام متقاضی به انگلیسی

en_last_namestring

نام خانوادگی متقاضی به انگلیسی

en_father_namestring

نام پدر متقاضی به انگلیسی

emailstring

ایمیل

national_card_serial_numberstring

شماره سریال کارت ملی متقاضی

national_card_expire_datestring

تاریخ انقضای کارت ملی متقاضی

national_card_tracking_codestring

شماره پیگیری کارت ملی متقاضی

postal_codestring

کد پستی متقاضی

birth_location_idinteger

شناسه محل تولد متقاضی

birth_certificate_location_idinteger

شناسه محل ثبت شناسنامه متقاضی

occupation_idinteger

شناسه شغل متقاضی

education_idinteger

شناسه مدرک تحصیلی متقاضی

guild_idinteger

شناسه صنف متقاضی

city_idinteger

شناسه شهر محل سکونت متقاضی

province_idinteger

شناسه استان محل سکونت متقاضی

addressstring

آدرس متقاضی

پارامتر های اجباری به تفکیک provider

بانک خاورمیانه
پارامترها
national_card_serial_numberrequiredstring

شماره سریال کارت ملی متقاضی

postal_coderequiredstring

کد پستی متقاضی

birth_location_idrequiredinteger

شناسه محل تولد متقاضی

birth_certificate_location_idrequiredinteger

شناسه محل ثبت شناسنامه متقاضی

occupation_idrequiredinteger

شناسه شغل متقاضی

education_idrequiredinteger

شناسه مدرک تحصیلی متقاضی

guild_idrequiredinteger

شناسه صنف متقاضی

city_idrequiredinteger

شناسه شهر محل سکونت متقاضی

province_idrequiredinteger

شناسه استان محل سکونت متقاضی

addressrequiredstring

آدرس متقاضی

پاسخ ها
dataobject

در این کلید پارامتر cardholder_id برگشت داده می شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'PUT',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "national_card_serial_number": "11111",
    "postal_code": "1111111111",
    "birth_location_id": 32,
    "birth_certificate_location_id": 32,
    "occupation_id": 1,
    "education_id": 1,
    "guild_id": 1,
    "city_id": 32,
    "province_id": 1,
    "address": "تست"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5"
  }
}

دریافت متن ویدیو احراز هویت

این سرویس جهت دریافت متن ویدیویی احراز هویت متقاضی بکار می رود. پس از دریافت متن ویدیو، متقاضی می بایست به صورت ویدیویی این متن را خوانده و سپس در سرویس ارسال مدارک هویتی با تایپ authentication_video ارسال نماید.

پاسخ ها
dataobject

در این کلید پارامتر cardholder_id و video_caption برگشت داده می شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/video-caption',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5",
    "video_caption": "متن ویدیو احراز هویت"
  }
}

ارسال مدارک هویتی

در این مرحله باید مدارک هویتی متقاضی کارت ارسال شود. هدر این سرویس از نوع multipart/form-data می باشد.

پسوند های مجاز آپلود فایل jpg,jpeg,png,mp4,webm می باشد و حداکثر حجم فایل آپلودی نباید از 5 مگابایت بیشتر شود.

مدارک هویتی متقاضی باید به صورت جداگانه و تکی ارسال شود. همچنین، در هر بار ارسال مدرک، لازم است نوع مدرک (type) نیز به همراه آن ارسال گردد.

پارامترها
typerequiredstring
filerequiredfile

فایل مدرک هویتی متقاضی

اجباری یا اختیاری بودن پارامتر type به ازای هر provider متفاوت می باشد:

بانک خاورمیانه

type های اجباری

national_card_front_photo

national_card_back_photo

signature_photo

applicant_photo

authentication_video

پاسخ ها
dataobject

در این کلید پارامتر cardholder_id برگشت داده می شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/upload',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'multipart/form-data'
  },
  formData: {
    type: 'national_card_front_photo',
    file: {
      value: fs.createReadStream('/national_card_front_photo.jpg'),
      options: {
        filename: 'national_card_front_photo.jpg',
        contentType: null
      }
    }
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5"
  }
}

نهایی سازی درخواست

پس از انجام تمام مراحل بالا و تکمیل اطلاعات باید درخواست خود را نهایی سازی کنید توجه داشته باشید که پس از انجام این مرحله امکان فراخوانی مجدد سرویس های تکمیل اطلاعات وجود ندارد.

پاسخ ها
dataobject

در این کلید پارامتر cardholder_id برگشت داده می شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/finalize',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5"
  }
}

پیگیری درخواست

این سرویس اطلاعات کارت متقاضی را پس از صدور کارت توسط بانک برمیگرداند. در صورتی که کارت از سمت بانک صادر نشده باشد خطای 400 برگشت داده می شود.

پاسخ ها
dataobject

در این کلید پارامتر های شناسه متقاضی، شماره حساب، شماره کارت، شماره شبا، شناسه متقاضی در بانک و وضعیت کارت برگشت داده می شود.

messagestring

پیعام موفق یا ناموفق بودن درخواست.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/inquiry',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "data": [
    {
      "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5",
      "account_number": "11111",
      "card_number": "11111",
      "iban_number": "IR000000",
      "cardholder_id_in_bank": "1245785",
      "status": "PENDING"
    }
  ],
  "message": "اطلاعات با موفقیت دریافت شد."
}
{
  "message": "درخواست در حال پردازش است",
  "data": [],
  "code": "cardholder_inquiry_is_not_done",
  "errors": []
}

فعالسازی کارت

بعد از دریافت کارت فیزیکی، جهت فعالسازی کارت می توانید از این سرویس ها استفاده کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/token

GET /v1/redirect/:token

عملیات بانکی

بعد از فعالسازی کارت، جهت انجام عملیات بانکی می توانید از این سرویس ها استفاده کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/accounts-info

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/balance

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/bank-statement

GET /v1/business/:business/ravand/reasons

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/retry-otp

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/confirm-otp