Code de tri et documentation de l'API de validation de compte bancaire

Cette API fait partie de nos services Sortware

1. C'est quoi le SortWare API V4?

L'API SortWare fournit une automatisation pour la validation du code de tri et des numéros de compte du Royaume-Uni.

L'API fournit deux fonctions principales «rechercher» et «valider». La fonction 'valider' effectue la validation du module en fonction d'une combinaison de code de tri et de numéro de compte.
Si vous avez besoin de rechercher un code de tri dans le répertoire de la banque, vous pouvez utiliser la fonction 'search' et récupérer les informations sur la banque et la branche pour ce code de tri spécifique.

Changelog ( de la v3 à v4 ):


Nouvelle structure de réponse
La nouvelle version de l'API SortWare fournit désormais une structure de réponse améliorée dans les formats XML et JSON.
Nous avons séparé les résultats en cinq éléments (account_data, bank_data, payment_schemas, validations et erreurs)
La structure est très similaire à notre API de validation IBAN, ce qui facilite l'intégration lors de l'utilisation de nos deux solutions. Vous pouvez trouver une description détaillée de la structure de réponse ci-dessous (voir la section 4. Structure de réponse de l'API)

Codes Erreurs
Des codes d'erreur ont été implémentés dans la réponse de SortWare V4 pour faciliter l'analyse des résultats de validation et des réponses de l'API.
Comme avec nos autres API, les codes d'erreur renvoient un format lisible par machine pour toutes les erreurs que l'API V4 peut rencontrer.
Voir la section 5. (Codes d'erreur) pour une description détaillée des codes d'erreur renvoyés par le système..

Fonctionnalité de calcul IBAN améliorée
Nous avons introduit un algorithme nouveau et amélioré pour le calcul de l'IBAN à partir des données de code de tri et de numéro de compte pour le Royaume-Uni et l'Irlande.
La nouvelle fonctionnalité utilise notre répertoire de code bancaire précis pour calculer les IBAN avec une plus grande précision et une diminution des risques d'erreurs lors du calcul.



2. Fonctionnalités

L'API SoftWare fournit certaines des fonctionnalités clés suivantes:

  • Retrieve information about the bank and branch based on the sort code.
  • Génère automatiquement un code IBAN valide pour le code de tri et le numéro de compte fournis
  • Identifiez la prise en charge des paiements FPS / CHAPS et du prélèvement automatique pour la banque et la succursale associées au code de tri fourni.
  • Plusieurs résultats affichés dans une réponse structurée XML et JSON conviviale

3. Utilisation API

Cette API vous permet d'automatiser la validation du code de tri et du numéro de compte via une seule requête HTTP GET ou POST.

Les paramètres acceptés sont listés dans le tableau ci-dessous:

Champs Nom Longueur Type Description
format 4 String Ce paramètre peut être l'un des deux formats pris en charge 'xml' ou 'json'. Spécifie le format de la réponse.
search 6 String Ce paramètre peut être utilisé pour rechercher un code de tri dans notre répertoire de banque.
sortcode 6 String Le code de tri fourni pour la validation en combinaison avec le paramètre 'compte'.
account 8 String Numéro de compte bancaire fourni pour validation en combinaison avec le paramètre 'sortcode'.
api_key 128 String Votre clé API personnelle utilisée pour sécuriser l'accès au système.
Dans la section Espace Client -> Accès API, vous trouverez votre clé API, utilisée pour identifier votre compte pendant les requêtes d'API.

Nous avons préparé des exemples de soumission d'une requête POST à notre API dans la plupart des langues courantes:

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. Structure de réponse API

La réponse de l'API SortWare V4 contient quelques objets de données permettant de séparer clairement les différentes caractéristiques des données renvoyées.
N'hésitez pas à référencer le schéma XSD pour la réponse au format XML ci-dessous:

  
    
      
        
          
            
              
              
              
            
          
        
        
          
            
              
              
              
              
              
              
              
              
            
          
        
        
          
            
              
              
              
              
              
            
          
        
        
          
            
              
                
                  
                    
                    
                  
                
              
            
          
        
        
      
    
  

Vous trouverez ci-dessous des descriptions détaillées des types d'éléments de données renvoyés dans chaque objet de données individuel:

Description de l'objet account_data'
Champs Nom Longueur Type Description
SORTCODE 6 Integer Renvoie le tri codé que le client a soumis pour référence.
ACCOUNT 8 Integer Contient le numéro de compte soumis par le client.
IBAN 125 String Contient le numéro de compte bancaire international (IBAN) calculé à partir du code de tri valide et du numéro de compte


Description de l'objet 'bank_data' contenant des informations sur la banque émettrice et la branche du code de tri soumis
Champs Nom Longueur Type Description
BIC 8 or 11 String Le code BIC de la banque et de la succursale correspondantes.
BANK 256 String Le nom de la banque qui possède le code de tri soumis.
BRANCH 256 String Nom de la succursale bancaire spécifique à laquelle le code de tri est affecté.
ADDRESS 256 String Adresse de la succursale bancaire correspondante à laquelle appartient le code de tri.
CITY 11 String Nom de la ville dans laquelle la succursale respective est située.
ZIP 11 String Le code postal de l'adresse de la succursale bancaire.
PHONE 20 String Numéro de téléphone de contact pour la banque et la succursale concernées.
COUNTRY 2 String Le code ISO à deux lettres du pays dans lequel la banque et la succursale sont situées.


Description de l'objet 'payment_schemes' fournissant des informations sur les systèmes de paiement pris en charge
Champs nom Longueur Type Description
DD 3 String Indicateur pour le support Direct Debit de la branche respective. Les valeurs peuvent être 'OUI' ou 'NON'
FPS_PAYMENTS 3 String Indicateur de prise en charge du service FPS (Faster Payments Service) de la succursale concernée. Les valeurs peuvent être 'OUI' ou 'NON'
CHAPS 3 String Indicateur pour le support des paiements CHAPS de la branche respective. Les valeurs peuvent être 'OUI' ou 'NON'
BACS 3 String Indicateur pour le support de paiement BACS de la branche respective. Les valeurs peuvent être 'OUI' ou 'NON'
CCC_PAYMENTS 3 String Indicateur pour le soutien aux paiements de la compagnie respective de vérification et de compensation de crédit (C & CCC). Les valeurs peuvent être 'OUI' ou 'NON''


Description de l'objet 'validations'
Champs Nom Longueur Type Description
CODE 3 Integer Renvoie le code d'état de la validation du module effectuée sur le code de la banque et la combinaison du numéro de compte. voir la section 5 (Codes d'état) pour la description des valeurs.
MESSAGE 256 String Contient une description textuelle des résultats de validation. Voir la section 5 (codes d'état) pour tous les résultats possibles.


Description de l'objet 'erreurs'
Champs Nom Longueur Type Description
CODE 3 Integer Renvoie le code d'état de l'erreur si cela s'est produit. voir la section 5 (Codes d'état) pour la description des valeurs.
MESSAGE 256 String Contient la description textuelle de l'erreur actuelle si cela s'est produit. Voir la section 5 (codes d'état) pour tous les résultats possibles.


5. Statut des codes SortWare API V4

Il existe deux types de codes d'état renvoyés par l'API.
Le succès ou l'échec de la validation est renvoyé dans l'objet de données 'validations'.
Les erreurs de compte sont renvoyées dans l'objet 'errors'.

Status Code Type Description
301 Erreur compte Clé API est invalide
302 Erreur compte Abonnement expiré
303 Erreur compte Aucune quête disponible
304 Erreur Compte Vous n'avez pas accès à cette API
201 Échec de la Validation Numéro de compte Numéro de contrôle incorrect
202 Échec de la Validation Code de tri introuvable dans le répertoire de la banque
001 Succès de la validation Le chiffre de contrôle du numéro de compte est valide