توثيق مصادقة API الخاصة بـ IBAN

هذا API هو جزء من موقعنا IBAN Suite o]lm

1. ما هو الجديد في V4 IBAN Validation API?


نعمل باستمرار لتحسين خدماتنا ولتقديم حلول أفضل للتحقق من الدفع.
ربما لاحظت أن IBAN Suite API تخطى نسخة من V2 إلى V4.
تم ذلك لأننا وحدنا واجهات برمجة التطبيقات الأخرى مثل SortWare v3 في تكرار واحد للنسخ على سبيل المثال V4.

سجل التغيير ( من v2 الي v4 ):


تمت إضافة التحقق من الصحة الجديد (الخطأ 206 والنجاح 006) - يتحقق V4 API الآن من وجود أحرف غير قانونية في رقم IBAN الإدخال.
رمز الخطأ الجديد - 206 (فشل التحقق من الصحة) مع الرسالة: يحتوي IBAN على أحرف غير قانونية.
رمز النجاح لهذا الفحص هو - 006 (التحقق من الصحة تم بنجاح) مع الرسالة: لا يحتوي IBAN على أحرف غير قانونية
سيمنحك رمز الخطأ هذا مزيدًا من المعلومات في حالة إرسال رقم IBAN بأحرف غير أبجدية رقمية إلى نظامنا.
كان السلوك السابق هو تجريد جميع الأحرف غير الأبجدية الرقمية وإجراء التحقق من الصحة

تمت إضافة تحقق جديد (الخطأ 207 والنجاح 007) - لا يدعم البلد رقم الحساب المصرفي الدولي (IBAN)
ستبلغ طبقة التحقق من الصحة هذه إذا لم يكن رمز البلد الخاص بـ IBAN المقدم جزءًا من البلدان الرسمية التي تدعم مدفوعات IBAN.
على سبيل المثال ، يجوز للشخص إنشاء رقم IBAN للولايات المتحدة باستخدام برنامج جهة خارجية غير موثوق به
قد يبدو رقم IBAN مثل US64SVBKUS6S3300958879
ستلاحظ أن رقم الشيك صحيح وأنه سوف يجتاز عمليات التحقق من المعامل ، ومع ذلك فهو ليس رقم IBAN صالحًا لأن الولايات المتحدة لا تستخدم IBAN للمدفوعات المصرفية..


2. ميزات


يتيح لك التحقق من صحة IBAN API V4 القيام بما يلي:

  • تحقق من صحة رقم الحساب المصرفي الدولي (IBAN) الصحيح باستخدام أرقام الشيك
  • تحقق من صحة رقم الحساب المصرفي الدولي ورقم التحقق من رقم الحساب المصرفي الدولي الصحيح *
  • تحقق من صحة طول IBAN لبلد معين
  • تحقق من صحة بنية / تنسيق IBAN لبلد معين
  • تحقق من صحة رموز IBAN (تحقق من الأحرف غير الأبجدية الرقمية )
  • التحقق من صحة إذا كان رمز البلد يدعم معيار IBAN

  • تحديد البنك الذي أصدر IBAN
  • حدد رمز البلد ورمز IBAN
  • تحديد عنوان البنك الصادر IBAN
  • تحديد البنك’s BIC رمز
  • تحديد البنك’s SEPA دعم: B2B,COR1,SCC,SCT,SDD

* يتم إجراء عمليات التحقق من رمز البنك ورقم الحساب لبعض البنوك والبلدان فقط.

3. API V4 طلبات



يسمح لك نظام API بأتمتة عملية التحقق من IBAN من خلال طلب HTTP GET أو POST بسيط.
يتم سرد المعلمات المقبولة في الجدول أدناه:

اسم الحقل طول نوع وصف
IBAN اقصي 100 String IBAN الذي تريد التحقق من صحة.
api_key 128 String مفتاح API الشخصي الخاص بك.
بنية 5 String تنسيق استجابة XML و JSON المدعومة.

*للحصول على مفتاح API ، يرجى الاتصال بنا على contact@iban.com أو شراء اشتراك في موقعنا صفحة الطلب

مثال – التحقق من صحة IBAN
لا تتردد في استخدام نموذج التعليمة البرمجية أدناه لاختبار واجهة برمجة التطبيقات بلغات البرمجة الأكثر شيوعًا.

curl "https://api.iban.com/clients/api/v4/iban/" \
    -X POST \
    -d format=json \
	-d api_key=[YOUR_API_KEY] \
	-d iban=DE46500700100927353010
<?php
$curl = curl_init();

$post = [
    'format' => 'json',
    'api_key' => '[YOUR_API_KEY]',
    'iban'   => 'DE46500700100927353010',
];

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.iban.com/clients/api/v4/iban/',
	CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => $post
));

$output = curl_exec($curl);
$result = json_decode($output);

print_r($result);

curl_close($curl);
?>
require 'net/http'

uri = URI('https://api.iban.com/clients/api/v4/iban/')

res = Net::HTTP.post_form(uri, "format" => "json", "api_key" => "[YOUR_API_KEY]","iban" => "DE46500700100927353010")

puts res.body
import requests

post_data = {'format':'json', 'api_key':'[YOUR_API_KEY]','iban':'DE46500700100927353010'}

response = requests.post('https://api.iban.com/clients/api/v4/iban/',post_data)
print(response.text)
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;
my $server_endpoint = "https://api.iban.com/clients/api/v4/iban/";

my $format = 'json';
my $api_key = '[YOUR_API_KEY]';
my $iban = 'DE02100500000024290661';


my $req = HTTP::Request->new( POST => $server_endpoint );
$req->content_type('application/x-www-form-urlencoded');

my $post_data = 'format=' . $format . '&api_key=' . $api_key . '&iban=' . $iban;

$req->content($post_data);

my $resp = $ua->request($req);

if ( $resp->is_success ) {
    my $message = $resp->decoded_content;
	print $message;
}

JAVA

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;


public class ibanapi {

	private final String USER_AGENT = "API Client/1.0";

	public static void main(String[] args) throws Exception {

		ibanapi http = new ibanapi();

		
		System.out.println("\nTesting API - Send API POST request");
		http.sendPost();

	}

	// HTTP POST request
	private void sendPost() throws Exception {

		String url = "https://api.iban.com/clients/api/v4/iban/";
		URL obj = new URL(url);
		HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

		//add reuqest header
		con.setRequestMethod("POST");
		con.setRequestProperty("User-Agent", USER_AGENT);
		con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

		String urlParameters = "api_key=[YOUR_API_KEY]&format=json&iban=DE02100500000024290661";

		// Send post request
		con.setDoOutput(true);
		DataOutputStream wr = new DataOutputStream(con.getOutputStream());
		wr.writeBytes(urlParameters);
		wr.flush();
		wr.close();

		int responseCode = con.getResponseCode();
		System.out.println("\nSending 'POST' request to URL : " + url);
		System.out.println("Post parameters : " + urlParameters);
		System.out.println("Response Code : " + responseCode);

		BufferedReader in = new BufferedReader(
		new InputStreamReader(con.getInputStream()));
		String inputLine;
		StringBuffer response = new StringBuffer();

		while ((inputLine = in.readLine()) != null) {
			response.append(inputLine);
		}
		in.close();

		//print result
		System.out.println(response.toString());

	}

}

.NET

public static void Main(string[] args)
		{						
			var request = (HttpWebRequest)WebRequest.Create("https://api.iban.com/clients/api/v4/iban/");
 
			var postData = "api_key=[YOUR_API_KEY]";
			 postData += "&format=json";
			 postData += "&iban=DE02100500000024290661";
			 
			var data = Encoding.ASCII.GetBytes(postData);
			 
			request.Method = "POST";
			request.ContentType = "application/x-www-form-urlencoded";
			request.ContentLength = data.Length;
			 
			using (var stream = request.GetRequestStream())
			{
			 stream.Write(data, 0, data.Length);
			}
			 
			var response = (HttpWebResponse)request.GetResponse();
			 
			var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
			
			Console.WriteLine(responseString);
			
			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}

NODE

var request = require('request');

var headers = {
    'User-Agent':       'IBAN API Client/0.0.1',
    'Content-Type':     'application/x-www-form-urlencoded'
}

var options = {
    url: 'https://api.iban.com/clients/api/v4/iban/',
    method: 'POST',
    headers: headers,
    form: {'api_key': '[YOUR_API_KEY]', 'format': 'json', 'iban': 'GB04BARC20474473160944'}
}

request(options, function (error, response, body) {
    if (!error && response.statusCode == 200) {
     
		var data = JSON.parse(body);

		console.log(data.errors);
		
		console.log("Bank Name: " + data.bank_data.bank);
		console.log("Bank BIC: " + data.bank_data.bic);
		console.log("Bank City: " + data.bank_data.city);
		console.log("Bank Address: " + data.bank_data.address);
		console.log("Bank Zip: " + data.bank_data.zip);
		console.log("Bank Phone: " + data.bank_data.phone);
		console.log("Bank FAX: " + data.bank_data.fax);
		console.log("Bank www: " + data.bank_data.www);
		console.log("Bank email: " + data.bank_data.email);
		console.log("Bank Country Name: " + data.bank_data.country);
		console.log("Bank Country Code: " + data.bank_data.country_iso);
		console.log("Domestic Account Number: " + data.bank_data.account);
		
    }
})


يمكن العثور أدناه على مثال لاستخدام API Validation IBAN مع طلب GET:

https://api.iban.com/clients/api/v4/iban/?api_key=key&format=xml&iban=IBAN

اين:
  • المفتاح هو مفتاح API الخاص بك
  • تم إرسال IBAN للتحقق من صحة وحدة واجهة برمجة التطبيقات.
  • xml هو تنسيق الاستجابة. أيضا يمكن تحديد كلمة رئيسية json للاستجابة منسقة json.

بمجرد تقديم طلب HTTP GET أو POST باستخدام مفتاح API الصحيح ، سيعيد النظام النتائج بالتنسيق المحدد. يمكنك العثور على نموذج استجابة في القسم التالي “API هيكل استجابة”

4. API V4 استجابة

يمكن العثور على مخطط XSD لاستجابة واجهة برمجة التطبيقات (API) أدناه:




	 
		   
				 
					   
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
					   
				 
		   
		   
	 



يمكن الاطلاع على وصف تفصيلي لحقول كائن bank_data التي تم إرجاعها في الجدول أدناه:

اسم المجال طول نوع وصف
BIC اقصي 11 String رمز BIC للبنك / الفرع أو المؤسسة المصدرة.
بنك اقصي 256 String اسم البنك / المؤسسة التي أصدرت IBAN
BRANCH اقصي 256 String اسم فرع البنك المحدد إن وجد
COUNTRY اقصي 32 String الاسم الكامل لبلد المنشأ علي سبيل المثال “الولايات المتحدة”
COUNTRY_ISO 2 String اختصار مؤلف من حرفين لرمز البلد ، على سبيل المثال US, UK, AU, FR … etc.
المدينة اقصي 128 String اسم مدينة البنك المصدر’s المكان.
ولاية اقصي 128 String اسم الدولة التي يقع فيها البنك / الفرع.
ZIP اقصي 11 String Zip او الرمز البريدي للمدينة.
عنوان اقصي 128 String عنوان البنك المصدر.
الحساب اقصي 128 String رقم الحساب المصرفي المحلي المستخرج من IBAN.
يمكن الاطلاع على وصف تفصيلي لحقول كائن sepa_data التي تم إرجاعها في الجدول أدناه:

اسم المجال طول نوع وصف
SCT اقصي 3 String ما إذا كان هذا البنك يدعم تحويل SEPA الائتماني.
SDD اقصي 3 String ما إذا كان هذا البنك يدعم SEPA Direct Debit.
COR1 اقصي 3 String ما إذا كان هذا البنك يدعم SEPA COR1.
B2B اقصي 3 String ما إذا كان هذا البنك يدعم SEPA Business to Business.
SCC اقصي 3 String ما إذا كان هذا البنك يدعم SEPA Card Clearing.


سيكون رد XML عينة من API لاستعلام التحقق من صحة IBAN:

	
		BARCGB22
		INTERNATIONAL BANKING 2
		BARCLAYS BANK UK PLC
		
PO Box 69999 1 Churchill Place Canary Wharf
London E14 1QE 020 71147000 GB 73160944
YES YES YES YES NO 006 IBAN does not contain illegal characters 001 IBAN Check digit is correct 002 Account Number check digit is correct 005 IBAN structure is correct 003 IBAN Length is correct 007 Country supports IBAN standard

5. API V4 Status Codes

يتم إرجاع أرقام التحقق من صحة والتحقق من التنسيق في كائن "عمليات التحقق من الصحة"
في الإصدار v4 من واجهة برمجة التطبيقات (API) ، قمنا بفصل كل عملية تحقق إلى كائن خاص بها لتسهيل الوصول إلى كل عملية تحقق محددة في الكود.
هذا يعني بشكل أساسي أنه بدلاً من إجراء حلقات عبر كائن "عمليات التحقق من الصحة" ، يمكنك ببساطة الرجوع إلى كائن التحقق من الصحة المحدد باسمه مثل $validations->structure;

رمز الحالة نوع وصف
301 خطأ في الحساب مفتاح API غير صالح
302 خطأ في الحساب صلاحية الاشتراك
303 خطأ في الحساب ليس هناك ستفسارات المتاحة
304 خطأ في الحساب لا يمكنك الوصول إلى واجهة برمجة التطبيقات هذه
305 خطأ في الحساب عنوان IP غير مسموح به
201 فشل التحقق من الصحة رقم التحقق من رقم الحساب غير صحيح
202 فشل التحقق من صحة التحقق من رقم IBAN غير صحيح
203 فشل التحقق من الصحة طول IBAN غير صحيح
205 فشل التحقق من الصحة هيكل IBAN غير صحيح
206 فشل التحقق من الصحة IBAN يحتوي على أحرف غير قانونية
207 فشل التحقق من الصحة البلد لا يدعم معيار IBAN
001 التحقق من الصحة تم بنجاح رقم التحقق من IBAN صحيح
002 التحقق من الصحة تم بنجاح رقم التحقق من رقم الحساب هو الصحيح
003 التحقق من الصحة تم بنجاح طول IBAN صحيح
004 التحقق من الصحة تم بنجاح لم يتم تنفيذ رقم التحقق من رقم الحساب لهذا البنك أو الفرع
005 التحقق من الصحة تم بنجاح هيكل IBAN صحيح
006 التحقق من الصحة تم بنجاح لا يحتوي IBAN على أحرف غير قانونية
007 التحقق من الصحة تم بنجاح البلد يدعم معيار IBAN