IBAN-i valideerimise API V4 dokumentatsioon

See API on osa meie IBAN komplekti teenusest

1. Mis on uut V4 IBAN-i valideerimise API-s?


Töötame pidevalt selleks, et oma teenuseid parandada ja paremaid makse valideerimise lahendusi pakkuda.
Võimalik, et olete märganud, et IBAN-i teenuse API on jätnud vahele ühe versiooni V2-st V4-ni.
Seda tehti seetõttu, et me ühendasime teised APId nagu SortWare v3 üheks versiooniks v4-ks.

Muutuse logi ( v2-st v4-ks ):


Uus valideerimine lisatud ( tõrge 206 ja edu 006 ) - V4 API kontrollib nüüd IBAN-i sisendis lubamatuid märke
Uus tõrkekood - 206 (valideerimine nurjus) sõnumiga: IBAN sisaldab lubamatuid märke.
Selle tšeki edukood on - 006 (valideerimine õnnestus) sõnumiga: IBAN ei sisalda lubamatuid märke
See tõrkekood annab teile rohkem teavet juhul, kui edastate IBAN-i meie süsteemi mittetähtnumbriliste märkidega.
Eelneva süsteemi puhul eemaldati kõik mittetähtnumbrilised märgid ja teostati valideerimine

Uus valideerimine lisatud ( tõrge 207 ja edu 007 ) - Riik ei toeta IBAN-i kasutamist
See valideerimiskiht annab teada sellest, kui esitatud IBAN-i riigikood ei kuulu IBAN-i makseid toetavate ametlike riikide hulka.
Näiteks võib isik luua Ameerika Ühendriikide jaoks IBAN-i, kasutades ebausaldusväärset kolmanda osapoole tarkvara
Selline IBAN võib välja näha nagu US64SVBKUS6S3300958879
Te märkate, et kontrollnumber on õige ja see läbib mooduli valideerimise, kuid see ei ole kehtiv IBAN, kuna Ameerika Ühendriigid ei kasuta IBAN-it pangamaksete puhul.


2. Omadused


IBAN-i valideerimise API V4 võimaldab teha järgnevat:

  • Kontrollida, kas IBAN on kehtiv, kasutades selle kontrollnumbreid
  • Kontrollida, kas IBAN-il on kehtiv riigisisene pangakood ja kontonumbri kontrollnumbrid *
  • Konkreetse riigi IBAN-i pikkuse valideerimine
  • Konkreetse riigi IBAN-i struktuuri/vormingu valideerimine
  • IBAN-i numbrite valideerimine ( mittetähtnumbriliste olemasolu kontrollimine )
  • Kontrollida, kas riigikood toetab IBAN-standardit

  • Tuvastada IBAN-i väljastanud panga
  • Tuvastada IBAN-i riiki ja riigikoodi
  • Tuvastada IBAN-i väljastanud panga aadressi
  • Tuvastada panga’ BIC-koodi
  • Tuvastada panga’ SEPA toetamist: B2B,COR1,SCC,SCT,SDD

* Pangakoodi ja kontonumbri valideerimine toimub ainult teatud pankade ja riikide puhul.

3. API V4 taotlused



API süsteem võimaldab automatiseerida IBAN-i valideerimise lihtsa HTTP GET - või POST-päringu kaudu.
Aktsepteeritud parameetrid on toodud allpool tabelis:

Välja nimi Pikkus Tüüp Kirjeldus
IBAN Max 100 String IBAN, mida soovite valideerida.
api_võti 128 String Teie isiklik API-võti.
vorming 5 String Toetatud vastuse XML-i ja JSON-i vorming.

*API võtme saamiseks võtke meiega ühendust contact@iban.com või sooritage tellimus meie tellimuslehel

NÄIDE – Valideeri IBAN
Kasutage julgelt API testimiseks allpool olevat näidiskoodi kõige levinumates programmeerimiskeeltes.

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);
		
    }
})


IBAN-i valideerimise API näidiskasutust koos GET taotlusega on võimalik leida allpool:

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

Kus:
  • võti on teie API-võti
  • IBAN saatis valideerimiseks API mooduli.
  • xml on vastusevorming. Json-vormingus vastuse jaoks saab määrata ka json-märksõna.

Kui HTTP GET või POST päring on tehtud õige API võtmega, tagastab süsteem tulemused määratud vormingus. Näidisvastuse leiate järgmisest jaotisest “API vastuse struktuur”

4. API V4 vastus

API vastuse XSD-skeem on:’ on allpool:




	 
		   
				 
					   
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
					   
				 
		   
		   
	 



Tagastatud bank_data objekti väljade üksikasjalikku kirjeldust saab vaadata alljärgnevas tabelis:

Välja nimi Pikkus Tüüp Kirjeldus
BIC Max 11 String Emiteeriva panga/filiaali või asutuse BIC-kood.
PANK Max 256 String IBAN-i väljastanud panga/asutuse nimi
FILIAAL Max 256 String Konkreetse panga filiaali nimi, kui see on olemas
RIIK Max 32 String Päritoluriigi täisnimi nt. “Ameerika Ühendriigid”
RIIK_ISO 2 String Riigikoodi kaks tähtlühendit, nt USA, UK, AU, FR … jne.
LINN Max 128 String Emitentpanga linna nimi.
MAAKOND Max 128 String Selle maakonna nimi, kus pank/filiaal asub.
ZIP Max 11 String Linna zip-kood või sihtnumber.
AADRESS Max 128 String Emitentpanga aadress.
KONTO Max 128 String IBAN-ist väljavõetud kodumaise pangakonto number.
Tagastatud objektiväljade sepa_data üksikasjalik kirjeldus on esitatud järgmises tabelis:

Välja nimi Pikkus Tüüp Kirjeldus
SCT Max 3 String Kas see pank toetab SEPA krediitülekannet.
SDD Max 3 String Kas see pank toetab SEPA otsekorraldust.
COR1 Max 3 String Kas see pank toetab SEPA COR1.
B2B Max 3 String Kas see pank toetab SEPA Ärilt ärile.
SCC Max 3 String Kas see pank toetab SEPA kaardi tühjendamist.


IBAN-i valideerimispäringu API XML-vastus oleks järgmine:

	
		BARCGB22
		INTERNATIONAL BANKING 2
		BARCLAYS BANK UK PLC
		
PO Box 69999 1 Churchill Place Canary Wharf
London E14 1QE 020 71147000 GB 73160944
Jah Jah Jah Jah Ei 006 IBAN ei sisalda sobimatuid mittetähtnumbrilisi 001 IBAN kontrollnumber on õige 002 Kontonumbri kontrollnumber on õige 005 IBAN-i struktuur on korrektne 003 IBAN-i pikkus on korrektne 007 Riik toetab IBAN-standardit

5. API V4 oleku koodid

Matemaatilised kontrollnumbrid ja vormingu valideerimised tagastatakse objektil „valideerimised”.
API versioonis v 4 oleme iga valideerimise eraldanud oma objektiks, et hõlbustada juurdepääsu igale teie koodi kindlale valideerimisele.
See tähendab sisuliselt seda, et selle asemel, et lehitseda läbi 'valideerimiste' objekte, saad sa lihtsalt viidata konkreetsele valideerimisobjektile selle nime järgi nagu $valideerimised->struktuur;

Oleku kood Tüüp Kirjeldus
301 Konto tõrkekood API-võti on kehtetu
302 Konto tõrkekood Tellimus on aegunud
303 Konto tõrkekood Päringuid pole saadaval
304 Konto tõrkekood Teil pole juurdepääsu sellele API-le
305 Konto tõrkekood IP aadress pole lubatud
201 Valideerimine ebaõnnestus Kontonumbri kontrollnumber pole õige
202 Valideerimine ebaõnnestus IBAN-i kontrollnumber pole õige
203 Valideerimine ebaõnnestus IBAN-i pikkus pole korrektne
205 Valideerimine ebaõnnestus IBAN-i struktuur pole korrektne
206 Valideerimine ebaõnnestus IBAN sisaldab sobimatuid märke
207 Valideerimine ebaõnnestus Riiik ei toeta IBAN-standardit
001 Valideerimine õnnestus IBAN-i kontrollnumber on õige
002 Valideerimine õnnestus Kontonumbri kontrollnumber on õige
003 Valideerimine õnnestus IBAN-i pikkus on korrektne
004 Valideerimine õnnestus Kontonumbri kontrollnumbrit ei teostata selle panga või filiaali jaoks
005 Valideerimine õnnestus IBAN-i struktuur in korrektne
006 Valideerimine õnnestus IBAN ei sisalda sobimatuid märke
007 Valideerimine õnnestus Riik toetab IBAN-standardit