[go: up one dir, main page]

IBAN Validati API V4 Documentati

Deze API is onderdeel van onze IBAN Suite service

1. Wat is er nieuw in de V4 IBAN Validati API?


We werken voortdurend aan het verbeteren van onze services en aan het bieden van betere betalingsvalidatie-oplossingen.
U hebt misschien gemerkt dat IBAN Suite API een versie-iteratie heeft overgeslagen van V2 naar V4.
Dit is gedaan omdat we de andere API's zoals SortWare v3 hebben samengevoegd tot een enkele versie-iteratie, bijvoorbeeld v4.

Changelog ( from v2 to v4 ):


Nieuwe validatie toegevoegd (fout 206) - V4 API controleert nu op illegale tekens in de invoer-IBAN.
De nieuwe foutcode - 206 (validatie mislukt) met bericht: IBAN bevat ongeldige tekens.
Deze foutcode geeft u meer informatie in het geval dat u een IBAN met niet-alfanumerieke tekens naar ons systeem verzendt.
Vorig gedrag was om alle niet-alfanumerieke tekens te verwijderen en de validatie uit te voeren
Nieuw validatie toegevoegd ( error 207 ) - Land biedt geen ondersteuning voor IBAN
Deze validatielaag geeft aan of de landcode van de IBAN die wordt ingediend geen deel uitmaakt van de officiële landen die IBAN-betalingen ondersteunen.
Een persoon kan bijvoorbeeld een IBAN voor de Verenigde Staten genereren met behulp van een onbetrouwbare software van derden
Zulke IBAN kan eruitzien als US64SVBKUS6S3300958879
U zult opmerken dat het controlecijfer correct is en dat het de modulus-validaties doorstaat, maar het is geen geldige IBAN omdat de Verenigde Staten geen IBAN gebruiken voor bankbetalingen.


2. Eigenschappen


Met de IBAN Validation API V4 kunt u het volgende doen:

  • Valideren of een IBAN geldig is als u deze gebruikt om de cijfers te controleren
  • Valideren of een IBAN geldige nationale bankcode en rekeningnummercontrolecijfers heeft *
  • IBAN-lengte valideren voor specifiek land
  • IBAN-structuur / opmaak voor specifiek land valideren
  • IBAN-tekens valideren (aanvinken voor niet-alfanumerieke tekens)
  • Valideren of de landcode de IBAN-standaard ondersteunt

  • De bank die het IBAN heeft uitgegeven identificeren
  • Het land en de landcode van een IBAN identificeren
  • Het adres van de bank die het IBAN heeft uitgegeven identificeren
  • Identificatie bank & rsquo; s BIC-code
  • SEPA-ondersteuning voor banken: B2B, COR1, SCC, SCT, SDD identificeren

* Bankcode- en rekeningnummer-validaties worden alleen voor bepaalde banken en landen uitgevoerd.

3. API V2 Verzoeken



Met het API-systeem kunt u de IBAN-validatie automatiseren via een eenvoudig HTTP GET- of POST-verzoek.
De geaccepteerde parameters staan in de onderstaande tabel:

Veldnaam Lengte Type Omschrijving
IBAN Max 100 String De IBAN die u wilt valideren.
api_key 128 String Uw persoonlijke API-key.
format 5 String Formaat van de respons die XML en JSON ondersteunen.

* Neem voor een API-key contact met ons op via contact@iban.com of koop een abonnement op onze bestelpagina

VOORBEELD - valideer een IBAN
Gebruik de onderstaande voorbeeldcode om de API in de meest voorkomende programmeertalen te testen.

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


Een voorbeeld van het gebruik van de IBAN Validation API met een GET-aanvraag vindt u hieronder:

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

Where:
  • key is uw API key
  • IBAN verzonden voor validatie door de API-module.
  • xml is het antwoordformaat. Er kan ook een json-sleutelwoord worden opgegeven voor json-geformatteerde reactie.

Nadat een HTTP GET- of POST-aanvraag is gedaan met de juiste API-sleutel, retourneert het systeem de resultaten in de opgegeven indeling. U kunt een voorbeeldantwoord vinden in de volgende sectie API-reactiestructuur”

4. API V2 Respons

Een XSD-schema van de reactie van de API vindt u hieronder:



	 
		   
				 
					   
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
					   
				 
		   
		   
	 




Een gedetailleerde beschrijving van de geretourneerde bank_data-objectvelden is te zien in de onderstaande tabel:

Veldnaam Lengte Type Omschrijving
BIC Max 11 String De BIC-code van de uitgevende bank / filiaal of instelling.
BANK Max 256 String De naam van de bank / instelling die het IBAN heeft uitgegeven
BRANCH Max 256 String Naam van het specifieke bankfiliaal, indien beschikbaar
COUNTRY Max 32 String Volledige naam van het land van herkomst, bijvoorbeeld & ldquo; Verenigde Staten & rdquo;
COUNTRY_ISO 2 String Twee letters afkorting van de landcode, b.v. VS, VK, AU, FR ... etc.
CITY Max 128 String De naam van de stad van de bank die de bank heeft uitgegeven.
STATE Max 128 String De naam van de staat waarin de bank / het filiaal zich bevindt.
ZIP Max 11 String Postcode of postcode van de stad.
ADDRESS Max 128 String Het adres van de uitgevende bank.
ACCOUNT Max 128 String Het binnenlandse bankrekeningnummer ontleend aan de IBAN.
Een gedetailleerde beschrijving van de teruggezonden sepa_data-objectvelden is te zien in de onderstaande tabel:

Veldnaam Lengte Type Omschrijving
SCT Max 3 String Of deze bank SEPA-overschrijving ondersteunt.
SDD Max 3 String Of deze bank SEPA Direct Debit ondersteunt.
COR1 Max 3 String Of deze bank SEPA COR1 ondersteunt.
B2B Max 3 String Of deze bank SEPA Business to Business ondersteunt.
SCC Max 3 String Of deze bank SEPA Card Clearing ondersteunt.


Een voorbeeld XML-antwoord van de API voor een IBAN-validatiequery zou zijn:

	
		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 V2 Status Codes

Wiskundige controle cijfer validaties worden geretourneerd in het object "validaties"

Status Code Type Omschrijving
301 Rekeningfout API Key is ongeldig
302 Rekeningfout Abonnement verlopen
303 Rekeningfout Geen queries beschikbaar
304 Rekeningfout U heeft geen toegang tot deze API
201 Validatie niet gelukt Rekeningnummer controlenummer niet correct
202 Validatie niet gelukt IBAN controlenummer niet correct
203 Validatie niet gelukt IBAN Lengte niet correct
205 Validatie niet gelukt IBAN structuur is niet correct
206 Validatie niet gelukt IBAN bevat illegale karakters
207 Validatie niet gelukt Land biedt geen ondersteuning voor de IBAN-standaard
001 Validatie Succes IBAN Controlenummer is correct
002 Validatie Succes Rekeningnummer controlenummer is correct
003 Validatie Succes IBAN Lengte is correct
004 Validatie Succes Rekeningnummer ondersteund geen controlenummer
005 Validatie Succes IBAN structuur is correct
006 Validatie Succes IBAN bevat geen illegale karakters
007 Validatie Succes Land ondersteunt de IBAN-standaard