برنامه نویسی افرا سورس

راهنمای api افرا سورس

خوش آمدید

با تشکر از اینکه از وب سرویس ما استفده میکنید :)

به مستندات API افرا سورس، بزرگترین ارایه دهنده وب سرویس ایران خوش آمدید. افرا سورس از ابتدای کار API خود را در اختیار تمامی کاربران و توسعه‌دهندگان گرامی قرار داده است. با استفاده از API استعلام کارت بانکی افرا سورس می‌توانید از اطلاعات کارت بانکی فرد که شامل : نام و نام خانوادگی / اسم بانک میشود، اقدام به دریافت توکن کرده و حساب خود را ایجاد کنید. استفاده از API علاوه بر فراهم‌سازی امکانات نوین برای کاربران، امکان انجام استعلام خودکار که باعث احراز هویت سریع تر کاربران را فراهم می‌کند.
پیش از استفاده از API افرا سورس اطمینان حاصل کنید که با قوانین افرا سورس و همچنین قوانین و شرایط استفاده از API افرا سورس آشنایی کامل دارید. همین طور با توجه به احتمال ایجاد تغییرات در بستر افرا سورس یا ساختار و جزئیات APIها، همواره به اطلاعیه‌های کانال رسمی تلگرام افرا سورس و کانال رسمی تلگرام API افرا سورس دقت کنید. به علاوه به صورت مستمر صفحه سابقه تغییرات API افرا سورس را رصد کنید تا از تمامی تغییرات API افرا سورس مطلع باشید.
در استفاده از API همواره اطمینان حاصل کنید که کد شما قابلیت مواجهه با حالت‌های خطا و شرایط و تغییرات پیش‌بینی نشده را داشته باشد و عکس العمل مناسبی در این خصوص نشان دهد. با توجه به حساسیت‌های فیلترینگ و اختلال های اینترنتی، لازم است که کدهای استفاده کننده از API به صورت اصولی و با ملاحظاتی مانند کنترل وضعیت شارژ (توکن) درخواست‌ها در شرایط مختلف، مدیریت حالت‌های خطا، پیش‌گیری از تشدید آبشاری خطاها و اعلان، وجود سازوکارهای مدیریت ریسک و ... توسعه داده شود.
اگر برای اولین بار است که از API سورس استفاده می‌کنید، می‌توانید از بخش راهنمای شروع به کار با API کمک بگیرید.

احراز هویت و توکن

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

!! به هیچ عنوان توکن خود را در اختیار دیگران قرار ندهید. اگر این توکن به صورت تصادفی در اختیار دیگران قرار گرفت سریعاً وارد ربات دریافت توکن شده و اقدام به دریافت توکن جدید کنید.

برای دریافت توکن می‌توانید با مراجعه به ربات دریافت توکن افرا سورس به آیدی (@AFRA_WEB_bot) خود در در تلگرام، توکن خود را دریافت نمایید.

محدودیت ها

توجه داشته باشید، برای استفاده از APIها محدودیت هایی وجود دارد که در قسمت توضیحات هر کدام از APIها این موارد ذکر شده است.
همچنین به منظور حفظ امنیت حساب کاربران، در هنگام احرازهویت(تایید شماره)، در صورتی که دستگاه شما جدید شناخته شود، محدودیت برداشت به مدت یک‌ساعت روی حساب کاربری شما اعمال خواهد شد. کاربرانی که فرایند دریافت توکن با زمان کمتر از این یک‌ساعت دارند میتوانند مقدار device را که در جواب دریافت توکن دریافت کرده‌اند را در مراحل بعدی به همراه دیگر پارامترها ارسال، تا از اعمال این محدودیت جلوگیری نمایند.

راهنمای حل مشکلات

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

راهنمای شروع کار با API

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

استعلام کارت بانکی

برای دریافت خروجی ، از این درخواست استفاده نمایید:

!! برای دریافت خروجی حتماً از متد GET و با ارسال توکن در آدرس url استفاده نمایید. روش قدیمی مبتنی بر POST دیگر پشتیبانی نمی‌شود.


پارامترهای ورودی

پارامتر

نوع

پیشفرض

توضیحات

نمونه

key

string

الزامی

توکن احراز هویت

XXXXXXXXXXX

cardnumber

string

الزامی

شماره کارت

XXXXXXXXXXX


          curl "https://api.afrasource.ir/card/card.php?key=XXXXXXXXXXXXXXXXXXX&cardnumber=XXXXXXXXXXXXXXXXXXX"
        

در صورت فراخوانی درست پاسخ به این صورت خواهد بود:

          
{
    "ok": true,
    "-": "-",
    "bank": "سپه",
    "banken": "sepah",
    "--": "-",
    "Info": "بانک سپه\n⁉️Site: https://ib.ebanksepah.ir\n⁉️USSD: #\n⁉️TBank: 021 64058\n",
    "---": "-",
    "firstName": "مهدي شريفي",
    "firstName1": "مهدي",
    "lastName1": "شريفي",
    "----": "-",
    "firstNameen": "Mahdi Sharifi",
    "firstNameen1": "Mahdi",
    "lastNameen1": "Sharifi",
    "-----": "-",
    "activeStatus": "فعال",
    "activeStatusen": "active",
    "------": "-",
    "cardnumber": "589210XXXXXXXXXX",
    "hesab": "11583XXXXXXXX",
    "sheba": "IR60015000000XXXXXXXXXXX",
    "-------": "-",
    "jpeg": "https://api.afrasource.ir/card/pic/ic_bank_sepah.png"
}
          
        

این خروجی یک شی JSON است که شامل چند فیلد اطلاعاتی درباره بانک سپه و مشخصات شخصی به نام "مهدی شریفی" می‌باشد.
فیلد "ok" نشان می‌دهد که درخواست مورد نظر با موفقیت انجام شده است.
فیلد "bank" نام بانک مورد نظر، در اینجا بانک سپه، را نشان می‌دهد.
فیلد "Info" شامل اطلاعات مربوط به بانک سپه است که به صورت یک رشته متنی به نمایش درآمده است. این اطلاعات شامل آدرس وب‌سایت بانک، روش‌های دسترسی به حساب بانکی (مانند USSD) و شماره تماس بانک هستند.
فیلد "firstName" نشان دهنده نام کامل شخصی است که اطلاعات بانکی مربوط به او را نشان می‌دهد.
فیلد "jpeg" یک لینک به تصویر لوگوی بانک سپه را نمایش می‌دهد که در اینجا به صورت یک آدرس وب به نمایش درآمده است.
فیلد "activeStatus" وضعیت فعال بودن یا غیر فعال بودن حساب را نمایش می‌دهد که در اینجا به صورت فعال به نمایش درآمده است.
فیلد "cardnumber" شماره کارت وارد شده در وب سرویس را نمایش می‌دهد که در اینجا به صورت 589210XXXXXXXXXX به نمایش درآمده است.
فیلد "hesab" شماره حساب استعلام شده از بانک را نمایش می‌دهد که در اینجا به صورت 11583XXXXXXXX به نمایش درآمده است.
فیلد "sheba" شماره شبا ی استعلام شده از بانک را نمایش می‌دهد که در اینجا به صورت IR60015000000XXXXXXXXXXX به نمایش درآمده است.

درخواست api با php

        
         <?php
          header('Content-type: application/json;');
          
          // Set the API endpoint URL
          $url = 'https://api.afrasource.ir/card/card.php';
          
          // Set the API parameters
          $params = [
              'key' => 'توکن',
              'cardnumber' => 'شماره کارت'
          ];
          
          // Initiate curl
          $ch = curl_init();
          
          // Set the curl options
          curl_setopt_array($ch, [
              CURLOPT_URL => $url . '?' . http_build_query($params),
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_SSL_VERIFYHOST => false,
              CURLOPT_SSL_VERIFYPEER => false,
          ]);
          
          // Execute the request
          $response = curl_exec($ch);
          
          // Close curl
          curl_close($ch);
          
          // Output the response
          echo $response;
        
      

درخواست api با javascript

        
          const url = 'https://api.afrasource.ir/card/card.php';
          const params = {
              'key': 'توکن',
              'cardnumber': 'شماره کارت'
          };
          
          fetch(`${url}?${new URLSearchParams(params)}`, {
              method: 'GET',
              headers: {
                  'Content-Type': 'application/json',
              },
              redirect: 'follow',
          })
          .then(response => response.json())
          .then(data => console.log(data))
          .catch(error => console.error(error));
        
      

درخواست api با java

        
          import java.net.*;
          import java.io.*;
          
          public class APICall {
              public static void main(String[] args) throws Exception {
                  // Set the API endpoint URL
                  URL url = new URL("https://api.afrasource.ir/card/card.php");
          
                  // Set the API parameters
                  String params = "key=توکن&cardnumber=شماره کارت";
          
                  // Send the request to the API endpoint
                  HttpURLConnection con = (HttpURLConnection) url.openConnection();
                  con.setRequestMethod("GET");
                  con.setDoOutput(true);
                  try (DataOutputStream out = new DataOutputStream(con.getOutputStream())) {
                      out.writeBytes(params);
                      out.flush();
                  }
          
                  // Get the response from the API endpoint
                  try (BufferedReader in = new BufferedReader(
                          new InputStreamReader(con.getInputStream()))) {
                      String inputLine;
                      StringBuffer response = new StringBuffer();
                      while ((inputLine = in.readLine()) != null) {
                          response.append(inputLine);
                      }
                      System.out.println(response.toString());
                  }
              }
          }
        
      

درخواست api با python

        
          import requests

          # Set the API endpoint URL
          url = 'https://api.afrasource.ir/card/card.php'
          
          # Set the API parameters
          params = {
              'key': 'توکن',
              'cardnumber': 'شماره کارت'
          }
          
          # Send the request to the API endpoint
          response = requests.get(url, params=params, verify=False)
          
          # Output the response
          print(response.content.decode('utf-8'))
        
      

درخواست api با ruby

        
          require 'uri'
          require 'net/https'
          
          # Set the API endpoint URL
          url = URI.parse('https://api.afrasource.ir/card/card.php')
          
          # Set the API parameters
          params = {
              'key' => 'توکن',
              'cardnumber' => 'شماره کارت'
          }
          
          # Send the request to the API endpoint
          http = Net::HTTP.new(url.host, url.port)
          http.use_ssl = true
          http.verify_mode = OpenSSL::SSL::VERIFY_NONE
          response = http.get(url.path + '?' + URI.encode_www_form(params))
          
          # Output the response
          puts response.body