IBAN validering API V4 dokumentasjon

denne APIen er del av vår IBAN Suite tjeneste

1. hva er nytt i V4 IBAN validerings API?


vi jobber konstant for å forbedre vår tjeneste og for å tilby bedre betalings validerings løsninger.
du kan ha merket at IBAN Suite APIen har hoppet over en versjon iterasjon fra V2 til V4.
dette ble gjort fordi vi har samlet de andre APIene sånn som SortWare v3 inn i en enkelt versons iterasjon e.g. v4.

Changelog ( from v2 to v4 ):


ny validering lagt til ( feil 206 og suksess 006 ) - V4 API sjekker nå etter ulovlige tegn i input IBANen.
den nye feil koden - 206 (Validering mislykket) med melding: IBAN inneholder ulovlige tegn.
suksess koden for denne sjekken er - 006 ( validering suksessfull ) med melding: IBAN inneholder ikke ulovlige tegn
denne feil koden vil gi deg mer informasjon når du sender inn en IBAN med ikke-alphanumeriske tegn til vårt system.
forrige oppførsel var å fjerne alle ikke-alphanumeriske tegn og gjennomføre valideringen

ny validering lagt til ( feil 207 og suksess 007 ) - land støtter ikke IBAN
dette validerings laget vil medle ifra hvis land koden til IBANen ikke er del av de offisielle landene som støtter IBAN betalinger.
For eksempel, en person kan generere en IBAN for usa ved å bruke en upålitelig tredjeparts programvare
en sånn IBAN kan se ut som US64SVBKUS6S3300958879
du vil se at sjekk nummeret er riktig og den vil bestå modul valideringen, men det er ikek en gyldig IBAN ettersom usa ikke bruker IBAN for bank betalinger.


2. funksjoner


IBAN validerings API V4 lar deg gjøre følgende:

  • validere om en IBAN er gyldig ved å bruke dens it’ sjekk nummer
  • validere om en IBAN har gyldig lokal bank kode og konto nummer sjekk nummer *
  • validere IBAN lengde for spesifike land
  • validere IBAN struktur/formatering for spesifike land
  • validere IBAN tegn ( sjekekr etter ikke-alphanumeriske tegn )
  • validere om land kode støtter IBAN standard

  • identifiser banken som sendte ut IBANen
  • identifiser landet og lands koden til en IBAN
  • identifiser adressen til banken som utlevrte IBANen
  • identifiser bank’ens BIC kode
  • identifiser bank’ens SEPA støtte: B2B,COR1,SCC,SCT,SDD

* Bank kode og konto nummer validering blir gjennomført for kun noen spesifike banker og land.

3. API V4 forespørsler



API systemet lar deg automatisere IBAN validering via en enkelt HTTP GET eller POST forespørsel.
de godtatte parameterene er oppgitt i tabellen under:

feltnavn lengde Type beskrivelse
IBAN Max 100 String IBANen du ønsker å validere.
api_key 128 String din personlige API nøkkel.
format 5 String Format til svar XML og JSON som er støttet.

*for å få en API nøkkel, vennligst kontakt oss på contact@iban.com elelr kjøp medlemskap på vår bestillings side

EKSEMPEL – valider en IBAN
det er bare å bruke prøve koden under for å teste API i de mest vanlige programerings språk.

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


et eksempel på bruk av IBAN validerings API med en GET forespørsel kan finnes under:

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

hvor:
  • nøkkel er din API nøkkel
  • IBAN sendt for validering av API modulen.
  • xml er svar formatet. også et json nøkkelord kan bli spesifisert for json formaterte svar.

når en HTTP GET eller POST forespørsel blir lagd med riktig API nøkkel, vil systemet returnere resultatet i spesifisert format. du kan finne et prøve svar i neste seksjon “API svar struktur”

4. API V4 svar

et XSD skjema over API’ens svar kan finnes under:




	 
		   
				 
					   
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
							 
							 
							 
							 
					   
				 
		   
		   
				 
					   
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
							 
								   
										 
											   
											   
										 
								   
							 
					   
				 
		   
		   
	 



en detaljert beskrivelse over bank_data objekt skjemaene returnert kan sees i tabellen under:

skjema navn lengde Type beskrivelse
BIC Max 11 String BIC koden til utleverende bank/gren eller instutisjon.
BANK Max 256 String navnet til banken/instutisjonen som utleverte IBANen
GREN Max 256 String navn på spesifik bank gren om mulig
Land Max 32 String fullt navn til opphavs landet e.g. “USA”
CLand_ISO 2 String to bokstavs forkortelse av land koden e.g. US, UK, AU, FR … etc.
BY Max 128 String navnet til byen til utleverende bank’s lokasjon.
STAT Max 128 String navnet til staten hvor banken/grenen befinner seg.
ZIP Max 11 String Zip eller post kode til byen.
ADDRESSE Max 128 String utleverende banks adresse.
KONTO Max 128 String lokal bank konto nummer tatt ut fra IBANen.
en detaljert beskrivelse på sepa_data objekt skjemaer returnert kan sees i tabellen under:

Fskjema navn lengde Type beskrivelse
SCT Max 3 String om denne banken støtter SEPA kreditt overføring eller ikke.
SDD Max 3 String om denne banken støtter SEPA direkte Debit.
COR1 Max 3 String om denne banken støtter SEPA COR1.
B2B Max 3 String om denne banken støtter SEPA bedrift til bedrift.
SCC Max 3 String om denne banken støtter SEPA kort klaring.


et prøve XML svar fra API for en IBAN validering query vilel være:

	
		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 inneholder ikke ulovlige tegn 001 IBAN sjekk nummer er riktig 002 konto nummer sjekk nummer er riktig 005 IBAN struktur er riktig 003 IBAN lengde er riktig 007 land støtter IBAN standard

5. API V4 Status koder

matematiske sjekk nummer og formaterings valideringer blir returnert i "validations" objektet
i v4 verssjonen av APIen har vi separert hver validering inn i hvert sitt objekt for å gjøre det lettere å få tilgang til hver spesifike validering i din kode.
dette betyr at istedet for å loope gjennom 'validations' objektett, kan du bare nevne det spesifike validerings objektet ved navn sånn som $validations->structure;

Status kode Type beskrivelse
301 konto feil API nøkkel er ugyldig
302 konto feil medlemskap utløpt
303 konto feil ingen queries tilgjengelig
304 konto feil du har ikke tilgang til denne APIen
305 konto feil IP adresse ikke tillatt
201 validering mislykket konto numemr sjekk nummer ikke riktig
202 validering mislykket IBAN sjekk numemr ikke riktig
203 validering mislykket IBAN lengde ikke riktig
205 validering mislykket IBAN struktur ikke riktig
206 validering mislykket IBAN inneholder ulovlige tegn
207 validering mislykket landet støtter ikke IBAN standard
001 validering vellykket IBAN sjekk nummer er riktig
002 validering vellykket konto nummer sjekk nummer er riktig
003 validerin vellykket IBAN lengde er riktig
004 validering vellykket konto numemr sjekk nummer er ikke gjennomført for denne banken eller grenen
005 validering vellykket IBAN struktur er riktig
006 validering vellykket IBAN inneholder ikke ulovlige tegn
007 validering vellykket land støtter IBAN standard