API za sortiranje kodova i API V4 dokumentacija valjanosti bankovnog računa

Ovaj je API dio naše SortWare usluge

1. Što je V4 SortWare API?

SortWare API pruža automatizaciju za provjeru valjanosti Ujedinjenog Kraljevstva Sort Code i Brojevi računa.

TAPI pruža dvije glavne funkcije 'pretraži' i 'provjeri'. 'provjeri' provodi validaciju modula s obzirom na vrstu sortiranja i broj računa.
U slučaju da trebate potražiti kôd sortiranja u telefonskom imeniku banke, možete upotrijebiti funkciju "pretraži" i dohvatiti podatke banke i podružnice za taj specifični kôd.

Promjena ( from v3 to v4 ):


Nova struktura odgovora
Nova verzija SortWare API-ja sada pruža bolju strukturu odgovora u XML i JSON formatu.
Odvojili smo rezultate u pet elemenata (account_data, bank_data, payment_schemas, validacije i pogreške).
Struktura je vrlo slična našem API-ju IBAN za provjeru valjanosti, što olakšava integraciju prilikom korištenja oba naših rješenja. Detaljni opis strukture odgovora možete pronaći u nastavku (vidi odjeljak 4. Struktura odgovora API-ja)

Šifre pogrešaka
Šifre pogrešaka primijenjene su u SortWare V4 kako bi se olakšalo analiziranje rezultata potvrde i odgovora API-ja.
Kao i kod ostalih API-jeva, kodovi pogrešaka vraćaju formatiranje za sve pogreške na koje V4 API može naići.
Pogledajte odjeljak 5. (Šifre Pogrešaka) za detaljan opis kodova pogrešaka koji je vratio sustav.

Poboljšana funkcionalnost proračuna IBAN-a
Uveli smo novi i poboljšani algoritam za izračunavanje IBAN-a iz Sort Code i Account Number podataka za Veliku Britaniju i Irsku.
Nova funkcija upotrebljava naš točan direktorij šifri banaka za izračunavanje IBAN-ova s ​​većom preciznošću i smanjenom mogućnošću pogrešaka prilikom izračuna .
Povećanje pouzdanosti ove funkcionalnosti


2. Značajke

SortWare API pruža neke od sljedećih ključnih značajki:

  • Preuzmite informacije o banci i podružnici na temelju kodova za sortiranje.
  • Automatski generira važeći IBAN za isporučeni kôd poretka i broj računa
  • Odredite podršku za FPS plaćanja / CHAPS i izravno zaduženje za banku i podružnicu povezanu s isporučenom šifrom.
  • Više rezultata prikazano je u XML-u i JSON strukturiranom odgovoru

3. API Upotreba

Ovaj API omogućuje vam automatizaciju Određivanja koda i provjera valjanosti računa putem jednog HTTP GET ili POST zahtjeva.

Prihvaćeni parametri navedeni su u donjoj tablici:

Naziv polje Duljina Tip Opis
format 4 Niz Ovaj parametar može biti jedan od dva podržana formata 'xml' ili 'json'. Određuje format odgovora.
pretraži 6 Niz Ovaj parametar može se koristiti za pretraživanje koda sortiranja u našem telefonskom imeniku banaka.
šifra sortiranja 6 Niz Kôd sortiranja omogućio je provjeru valjanosti u kombinaciji s parametrom "račun".
račun 8 Niz Broj bankovnog računa predviđen je za provjeru valjanosti u kombinaciji s parametrom "koda sortiranja".
api_ključ 128 Niz Vaš osobni API ključ koji se koristi za osiguranje pristupa sustavu.
Unutar vašeg područja klijenta -> API pristup možete pronaći ključ API-ja koji se koristi za prepoznavanje vašeg računa tijekom API zahtjeva.

Pripremili smo primjere za slanje zahtjeva na temelju POST-a našem API-ju na najčešćim jezicima:

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

$post = [
    'format' => 'json',
    'api_key' => '[YOUR_API_KEY]',
    'sortcode'   => '200415',
	'account' => '38290008',
];

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://api.iban.com/clients/api/v4/sort/',
	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/sort/')

res = Net::HTTP.post_form(uri, "format" => "json", "api_key" => "[YOUR_API_KEY]","sortcode" => "200415","account" => "38290008")

puts res.body
import requests

post_data = {'format':'json', 'api_key':'[YOUR_API_KEY]','sortcode':'200415','account':'38290008'}

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

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

my $format = 'json';
my $api_key = '[YOUR_API_KEY]';
my $sortcode = '200415';
my $account = '38290008';


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 . '&sortcode=' . $sortcode . '&account=' . $account;

$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/sort/";
		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&sortcode=200415&account=38290002";

		// 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/sort/");
 
			var postData = "api_key=[YOUR_API_KEY]";
			 postData += "&format=json";
			 postData += "&sortcode=200415";
			 postData += "&account=38290002";
			 
			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/sort/',
    method: 'POST',
    headers: headers,
    form: {'api_key': '[YOUR_API_KEY]', 'format': 'json', 'sortcode': '200415', 'account': '38290002'}
}


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 Country Name: " + data.bank_data.country);
		console.log("IBAN: " + data.account_data.iban);
		
    }
})



4. Struktura API odgovora

Odziv SortWare V4 API-ja sadrži nekoliko podatkovnih objekata koji olakšavaju odvajanje različitih značajki vraćenih podataka.
Slobodno navedite XSD shemu za odgovor XML formata u nastavku:

  
    
      
        
          
            
              
              
              
            
          
        
        
          
            
              
              
              
              
              
              
              
              
            
          
        
        
          
            
              
              
              
              
              
            
          
        
        
          
            
              
                
                  
                    
                    
                  
                
              
            
          
        
        
      
    
  

U nastavku možete pronaći detaljne opise vrsta elemenata podataka koji se vraćaju u svaki pojedini objekt podataka:

Opis 'account_data' object-a
Naziv polja Duljina Tip Opis
KOD SORTIRANJA 6 Integer Vraća vrstu koda koju je klijent poslao za natrag.
RAČUN 8 Integer Sadrži predočeni broj računa od strane klijenta.
IBAN 125 Niz Sadrži izračunani međunarodni broj bankovnog računa (IBAN) iz danog valjanog koda i broja računa


Opis objekta "bank_data" koji sadrži podatke o banci koja je izdala i ogranku podnesenog šifriranja
Naziv polja Duljina Tip Opis
BIC 8 or 11 Niz BIC kod odgovarajuće banke i podružnice.
BANKA 256 Niz Naziv banke koja posjeduje šifru sortiranja.
PODRUŽNICA 256 Niz Naziv specificne podružnice banke kod kojoj je dodijeljena šifra.
ADRESA 256 Niz Adresa odgovarajuće podružnice banke kojoj pripada vrsta šifre.
GRAD 11 Niz Naziv grada u kojem se nalazi odgovarajuća podružnica
POŠTANSKI BROJ 11 Niz Poštanski broj adrese banke.
TELEFON 20 Niz Telefonski broj za kontakt odgovarajuće banke i podružnice.
ZEMLJA 2 Niz Dva slova ISO kod zemlje u kojoj se nalaze banka i podružnica.


Opis objekta "payment_schemes" koji pruža informacije o podržanim shemama plaćanja
Naziv polja Duljina Tip Opis
DD 3 Niz Pokazatelj za izravno zaduženje podrške odgovarajuće podružnice. Vrijednosti mogu biti "DA" ili "NE"
FPS_PLAĆANJA 3 Niz Pokazatelj podrške za pružanje usluge Brže plaćanja (FPS) odgovarajuće podružnice. Vrijednosti mogu biti "DA" ili "NE"
CHAPS 3 Niz Pokazatelj za podršku CHAPS plaćanja odgovarajuće podružnice. Vrijednosti mogu biti "DA" ili "NE"
BACS 3 Niz Pokazatelj za podršku plaćanja BACS-a odgovarajuće podružnice. Vrijednosti mogu biti "DA" ili "NE"
CCC_PLAĆANJA 3 Niz Pokazatelj za isplatu platnih transakcija (C & CCC) platnog prometa odgovarajuće podružnice. Vrijednosti mogu biti "DA" ili "NE"


Opis objekta "validacije"
Naziv polja Duljina Tip Opis
Šifra 3 Integer Vraća kôd statusa potvrde modula na bankovnom kodu i kombinaciji računa. Pogledajte odjeljak 5 (Šifre statusa) za opis vrijednosti.
PORUKA 256 Niz Sadrži opis teksta rezultata provjere valjanosti. Pogledajte odjeljak 5 (Šifre Statusa) za sve moguće rezultate.


Opis objekta "pogrešaka"
Naziv polja Duljina Tip Naziv
ŠIFRA 3 Integer Vraća kôd statusa pogreške ako je do toga došlo. Pogledajte odjeljak 5 (Šifre Statusa) za opis vrijednosti.
PORUKA 256 Niz Sadrži opis tekuće pogreške ako se takav dogodio. Pogledajte odjeljak 5 (statusni kodovi) za sve moguće rezultate.


5. SortWare API V4 Šifre Statusa

API-ji vraćaju dvije vrste statusnih kodova.
Uspjeh ili neuspjeh potvrde vraćaju se u objektu podataka "validacije".
Pogreške u računu vraćaju se u objektu "pogreške".

Šigra statusa Tip Opis
301 Greška računa API Ključ je nevažeći
302 Greška Računa Pretplata je istekla
303 Greška Računa Nema dostupnih upita
304 Greška računa Nemate pristup ovom API-ju
201 Provjera valjanosti nije uspjela Provjera broja računa nije točan
202 Provjera valjanosti nije uspjela Šifra sortiranja koja nije pronađena u telefonskom direktoriju banaka
001 Uspjeh valjanosti Kôd za provjeru broja računa je valjan

Ako tražite dokumentaciju za SortWare API V3, možete ga pronaći na Legacy SortWare API V3 Dokumentacija