IBAN Validacijski API V4 Dokumentacija

Ovaj API je dio naše IBAN Suite usluge

1. Što je novo kod V4 IBAN Validacijskog API-a?


Kontinuirano radimo na poboljšanju naših usluga i pružamo bolju rješenja za provjeru plaćanja.
Možda ste primijetili da je IBAN Suite API preskočio iteraciju verzije od V2 do V4.
To je učinjeno jer smo ujedinili ostale API-e kao što je SortWarev3 u jednu verziju iteracije, npr. V4.

Promjena (od v2 u v4 ):


Dodana je nova potvrda (pogreška 206 i uspjeh 006) - V4 API sada provjerava nedozvoljene znakove u unosu IBAN-a.
ovi kôd pogreške - 206 (Validation Failed) s porukom: IBAN sadrži nedozvoljene znakove.
Kôd uspjeha za ovu provjeru je - 006 (uspjeh valorizacije) s porukom: IBAN ne sadrži nedozvoljene znakove .
Ovaj kod pogreške će vam dati više informacija u slučaju da pošaljete IBAN s ne-alfanumeričkim znakovima u naš sustav.

Dodana je nova potvrda (pogreška 207 i uspjeh 007) - Zemlja ne podržava IBAN
Ovaj sloj potvrde bit će prijavljen ako šifra zemlje podnesenog IBAN-a nije dio službenih zemalja IBAN isplate.
Na primjer, osoba može generirati IBAN za Sjedinjene Države pomoću nepouzdanog softvera treće strane.
Takav IBAN može izgledati kao US64SVBKUS6S3300958879
Primijetit ćete da je kontrolna znamenka točna i da će proći valjanost modula, no to nije važeći IBAN od Sjedinjene Države ne upotrebljavaju IBAN za bankovne uplate.


2. Značajke


IBAN Validation API V4 omogućuje vam sljedeće::

  • Provjerite je li IBAN važeći it’s pomoću znamenaka za provjeru
  • Provjerite je li IBAN ima važeće domaće šifre banke i znamenke za provjeru broja računa*
  • Potvrdite IBAN duljinu za određenu zemlju
  • VValidacija IBAN strukture / oblikovanja za određenu zemlju
  • Provjera valjanosti IBAN znakova (provjerite za ne-alfanumeričke znakove)
  • rovjerite da li kôd zemlje podržava IBAN standard

  • Odredite banku koja je izdala IBAN
  • Prepoznajte zemlju i kod zemlje IBAN-a
  • Identificirajte adresu banke izdala IBAN
  • Odredite bankovni BIC kôd
  • Identificirajte SEPA potporu banke: B2B, COR1, SCC, SCT, SDD

* Bankovni kôd i potvrda o broju računa vrše se samo za određene banke i zemlje.

3. API V2 Zahtjevi



Sustav API-ja omogućuje automatizaciju IBAN provjere putem jednostavnog HTTP GET ili POST zahtjeva.
Prihvaćeni parametri navedeni su u donjoj tablici:

Naziv Polja Dužina Tip Opis
IBAN Max 100 Niz IBAN koji želite provjeriti.
api_key 128 Niz Vaš osobni API ključ.
format 5 Niz Oblik XML i JSON odgovora.

*Da biste dobili API ključ, kontaktirajte nas nacontact@iban.com ili kupite pretplatu na našoj stranici za narudžbu

PRIMJER –Provjera IBAN-a
Slobodno upotrijebite donji primjer koda kako biste testirali API na najčešćim programskim jezicima.

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


Primjer upotrebe API-ja za provjeru IBAN-a s GET zahtjevom može se pronaći u nastavku::

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

Where:
  • key je vaš API ključ
  • IBAN poslan na provjeru putem API modula..
  • xml je format odgovora. Također, jsonova ključna riječ može se odrediti za json oblikovan odgovor.

Nakon što se HTTP GET ili POST zahtjev izvrši s ispravnim API ključem, sustav će vratiti rezultate u navedenom formatu. Primjer odgovora možete pronaći u sljedećem odjeljku "Struktura odgovora API-ja" ;

4. API V2 Odgovor

An XSD Schema API’s odgovora nalazi se ispod:


  
    
      
        
          
            
              
              
              
              
              
              
              
              
              
              
              
              
              
              
            
          
        
        
          
            
              
              
              
              
              
            
          
        
        
          
            
              
                
                  
                    
                    
                  
                
              
            
          
        
        
      
    
  

Detaljni opis bank_data object polja prikazan je u donjoj tablici::

Naziv Polja Duljina Tip Opis
BIC Max 11 Niz BIC kod banke izdavatelja / podružnice ili institucije..
BANKA Max 256 Niz Naziv banke / institucije koja je izdala IBAN
PODRUŽNICA Max 256 String Naziv specificne banke ako je dostupna
ZEMLJA Max 32 Niz Puni naziv zemlje podrijetla, npr. "Sjedinjene Države"”
ZEMLJA_ISO 2 Niz Kratica dva slova šifre zemlje, npr. SAD, Velika Britanija, AU, FR ... itd..
CITY Max 128 Niz Naziv grada banke izdavatelja’s i lokacija.
STATE Max 128 Niz Naziv države u kojoj se nalazi banka / podružnica..
ZIP Max 11 Niz Poštanski broj grada.
ADRESA Max 128 Niz Adresa banke izdavatelja..
RAČUN Max 128 Niz Broj domaćeg bankovnog računa izvađen iz IBAN-a..
Detaljni opis polja s pološajem sepa_data može se vidjeti u donjoj tablici::

Naziv polja Duljina Tip Opis
SCT Max 3 Niz Podržava li ova banka SEPA Credit Transfer.
SDD Max 3 Niz Podržava li ova banka SEPA Direct Debit.
COR1 Max 3 Niz Podržava li ova banka SEPA COR1.
B2B Max 3 NIz Podržava li ova banka SEPA Business to Business.
SCC Max 3 String Podržava li ova banka SEPA Card Clearing.


Primjer XML odgovora API-ja za upit IBAN provjere valjanosti bio bi::

	
		BARCGB22
		CHELTENHAM
		BARCLAYS BANK PLC
		
Leicester LE87 2BB 0345 7345345 United Kingdom GB 30093459
YES YES YES YES NO 002 Account Number check digit is correct 001 IBAN Check digit is correct 005 IBAN structure is correct 003 IBAN Length is correct

5. API V2 Kodovi Statusa

Vrednovanje matematičke kontrolne znamenke i validacija oblikovanja u objektu "validations"

Status Code Type Description
301 Account Error API Key is invalid
302 Account Error Subscription expired
303 Account Error No queries available
304 Account Error You have no access to this API
201 Validation Failed Account Number check digit not correct
202 Validation Failed IBAN Check digit not correct
203 Validation Failed IBAN Length is not correct
205 Validation Failed IBAN structure is not correct
206 Validation Failed IBAN contains illegal characters
207 Validation Failed Country does not support IBAN
001 Validation Success IBAN Check digit is correct
002 Validation Success Account Number check digit is correct
003 Validation Success IBAN Length is correct
004 Validation Success Account Number does not support check digit
005 Validation Success IBAN structure is correct

Ako tražite dokumentaciju za naslijeđeni IBAN Validation API V2, mmožete ga pronaći u Legacy API V2 Dokumentaciji