תיעוד API לחישוב IBAN
API זה הינו חלק משירות ה-IBAN Suite שלנו
מדריך אינטגרציית API
1. מהו ה-API לחישוב IBAN?
מנוע חישוב ה-IBAN (ידוע גם כהמרת IBAN) הינו מערכת תוכנה המאפשרת ללקוחותינו להמיר קוד בנק מקומי ומספר חשבון למספרי חשבון בנקאי בינלאומיים (INTERNATIONAL BANK ACCOUNT NUMBER - IBAN) מאומתים.
המערכת מאפשרת ללקוחות שלנו שימוש בממשק ידני, וכן גם ב-API על-מנת לאפשר אינטגרציה עם מערכות החברה הפנימיות שלהם.
המערכת גם מזהה את הבנקים והמוסדות הפיננסיים ומספקת את הפרטים ללקוחותינו
2. מאפיינים
מטה מנויים חלק ממאפייני המפתח של מנוע חישוב ה-IBAN שלנו:
- אימות CHECKSUMS קודי בנק \ ממספרי חשבון מקומיים ( * ראו מדינות שנתמכות)
- שליפת מידע אודות בנק על בסיס קוד בנק\סניף מקומי.
- ייצור אוטומטי של פורמט IBAN תקין עבור קוד הבנק\סניף ומספר החשבון שסופקו
- המערכת תומך בכמה פורמטי תשובה (JSON \ XML)
3. מדינות נתמכות
ה-API לחישוב IBAN כרגע תומך במדינות ובשדות הבאים הנדרשים לצורך חישוב IBAN על-ידי ה-API שלנו.
קוד מדינה |
שם מדינה |
קוד בנק |
סניף |
חשבון |
סיפרת ביקורת ** |
AT |
אוסטריה |
YES |
|
YES |
|
BE |
בלגיה |
YES |
|
YES |
YES |
CH |
שוויץ |
YES |
|
YES |
|
DE |
גרמניה |
YES |
|
YES |
|
EE |
אסטוניה |
|
|
YES |
|
ES |
ספרד |
YES |
YES |
YES |
YES |
FI |
פינלנד |
|
|
YES |
YES |
FR |
צרפת |
YES |
YES |
YES |
YES |
GB |
בריטניה |
YES |
|
YES |
YES |
HU |
הונגריה |
|
|
YES |
YES |
IE |
אירלנד |
YES |
|
YES |
YES |
IT |
איטליה |
YES |
YES |
YES |
YES |
MC |
מונאקו |
YES |
YES |
YES |
YES |
MR |
מאוריטניה |
YES |
YES |
YES |
|
MT |
מאלטה |
YES |
|
YES |
|
NO |
נורבגיה |
|
|
YES |
YES |
PT |
פורטוגל |
YES |
YES |
YES |
YES |
SM |
סאן מארינו |
YES |
YES |
YES |
|
CZ |
צכ'יה |
YES |
|
YES |
YES |
AL |
אלבניה |
YES |
|
YES |
|
SK |
הרפובליקה הסלובקית |
YES |
|
YES |
YES |
SI |
סלובניה |
YES |
|
YES |
YES |
PL |
פולין |
YES |
|
YES |
YES |
PK |
פקיסטן |
YES |
|
YES |
|
SE |
שוודיה |
YES |
|
YES |
YES |
NL |
הולנד |
|
|
YES |
YES |
עמודת ספרת הביקורת מציינת האם המדינה תומכת באימות ספרת ביקורת של חשבון בנק ו\או בנק.
אימות ספרת ביקורת הינה שכבה נוספת לשמירה על שלמות מידע מפני שגיאות הקלדה.
4. קלט API
ה-API מקבל פניות GET ו-POST של פרוטוקול HTTP עבור קלט מידע.
הפרמטרים המקובלים מפורטים בטבלה מטה:
שם שדה |
סוג |
תיאור |
api_key |
מחרוזת |
מפתח ה-API האישי שלכם. ניתן למצוא באזור הלקוחות |
format |
מחרוזת |
פורמט תשובת ה-API (ב-XML או JSON) |
country |
מחרוזת |
2 אותיות של קוד המדינה ( UK/US/DE/FR ) |
bankcode |
מחרוזת |
מזהה בנקאי ייחודי. משתנה ממדינה למדינה. (אופציונלי - בחלק מהמדינות נדרש מספר חשבון בלבד). |
branch |
מחרוזת |
מזהה ייחודי מקומי של של סניף (אופציאונלי) |
account |
מחרוזת |
מספר חשבון אישי |
cd |
Integer |
ספרות ביקורת המשומשות בחלק מהמדינות. |
prefix |
Integer |
כרגע נדרש רק בצ'כיה (אופציאונלי) |
הנתון הראשון הוא מפתח ה-API. זוהי מחרוזת ייחודית שעוזרת למערכת שלנו לזהות אתכם כמשתמשים ולאפשר לכם גישה ל-API.
ה-API תומך באפשרות להחזיר תשובה בכמה פורמטים על-מנת להקל על האינטגרציה. כרגע, נתמכים הפורמטים XML ו-JSON.
נתון המדינה חייב להכיל את 2 התווים של קוד המדינה לפי ISO, כגון UK עבור בריטניה, DE עבור גרמניה, FR עבור צרפת וכו'...
קוד בנק הינו בעל אורך ומבנה שונה עבור כל מדינה.
קוד סניף הינו נתון אופציונלי שנדרש רק במדינות מסויימות (ראו דוגמאות)
מספר חשבון הינו נתון חובה בכל המדינות. בחלק מהמקרים, זהו הפרמטר היחיד לחישוב של IBAN.
ספרות ביקורת נדרשות רק במדינות מסוימות אשר משתמשות באלגוריתמי אימות כאלו במבנה חשבון הבנק המקומי שלהן (ראו דוגמאות).
קידומת הינה שדה אופציונלי שכרגע נדרש רק בצ'כיה לצורך חישוב IBAN.
5. דוגמאות API
בטבלה מטה, תוכלו לראות דוגמה לשליחת שאילתת GET ל-API שלנו עבור כל מדינה.
מדינה |
שאילתה לדוגמה (פניית GET) |
AT |
?country=AT&format=json&bankcode=12000&account=52700357958 |
BE |
?country=BE&format=json&bankcode=250&account=0135106&cd=70 |
CH |
?country=CH&format=json&bankcode=0240&account=240C08011570 |
DE |
?country=DE&format=json&bankcode=BLZ37010050&account=399509 |
EE |
?country=EE&format=json&account=55000005511439 |
ES |
?country=ES&format=json&bankcode=0081&branch=1731&cd=91&account=0006040912 |
FI |
?country=FI&format=json&account=52900261901092 |
FR |
?country=FR&format=json&bankcode=30056&branch=00264&account=02640016443 |
GB |
?country=GB&format=json&bankcode=090127&account=93496333 |
HU |
?country=HU&format=json&account=107000240416330551100005 |
IE |
?country=IE&format=json&bankcode=905838&account=71924374 |
IT |
?country=IT&format=json&country=IT&bankcode=02008&branch=30545&account=000103685854 |
MC |
?country=MC&format=json&country=MC&bankcode=30002&branch=03260&account=0000079112A |
MR |
?country=MR&format=json&bankcode=00012&branch=00001&account=00000078326 |
MT |
?country=MT&format=json&bankcode=07113&account=199008240010 |
NO |
?country=NO&format=json&account=96803502045 |
PT |
?country=PT&format=json&bankcode=0038&branch=0000&cd=81&account=39551148771 |
PK |
?country=PK&format=json&bankcode=HABBPKKA&account=39551148771 |
SE |
?country=SE&format=json&bankcode=9150&account=0092395696 |
SM |
?country=SM&format=json&country=SM&bankcode=03034&branch=09800&account=000060164676 |
CZ |
?country=CZ&format=json&prefix=51&account=1707230277&bankcode=0100 |
AL |
?country=AL&format=json&bankcode=20511117&account=374362CLPRCFEURC |
SK |
?country=SK&format=json&prefix=&account=4110053902&bankcode=3100 |
SI |
?country=SI&format=json&bankcode=33000&account=0000102423 |
PL |
?country=PL&format=xml&bankcode=11402004&account=0000360275244226 |
SE |
?country=SE&format=json&bankcode=9300&account=5913222524 |
NL |
?country=NL&format=json&account=0006642318 |
6. מבנה ה-XML של תשובת ה-API
תאור מפורט של כל השדות האפשריים שיכולים להיכלל בתשובה מופיע בטבלה מטה:
שם שדה |
סוג |
תיאור |
address |
מחרוזת |
כתובת סניף הבנק או המוסד |
bank |
מחרוזת |
שם הבנק או המוסד הפיננסי |
bic |
מחרוזת |
BIC של הבנק\המוסד |
branch |
מחרוזת |
שם הסניף לפי הקוד הבנקאי |
city |
מחרוזת |
שם העיר שבה נמצא הסניף |
country |
מחרוזת |
שתי אותיות המייצגות את קוד המדינה, דוגמת US, UK, AU, FR, וכדומה. |
email |
מחרוזת |
כתובת הדואר האלקרטרוני ליצירת קשר שפרסם הסניף |
fax |
מחרוזת |
מספר הפקס של הבנק\הסניף |
phone |
מחרוזת |
מספר הטלפון של הבנק\הסניף |
state |
מחרוזת |
מדינה\מחוז בו נמצא הבנק\הסניף |
website |
מחרוזת |
כתובת האתר של הבנק\הסניף |
zip |
מחרוזת |
מיקוד של כתובת סניף הבנק |
מערכת ה-API מחזירה תשובה בפורמט XML או JSON על-מנת להקל בפירוש התוצאות ע"י שפות תכנות ופלטפורמות שונות.
כך, לדוגמה, תיראה תשובת ה-API בפורמט XML עבור חיפוש לפי קוד SORT בריטי ומספר חשבון:
URL של השאילתה:
?api_key=9834hAHx78ba4g8habsdk&country=GB&format=json&bankcode=110377&account=10218962
<result>
<iban>GB20ULSB98006054100029</iban>
<account>54100029</account>
<sort_code>980060</sort_code>
<bank>ULSTER BANK LTD</bank>
<branch>BELFAST CITY OFFICE 1</branch>
<bic>ULSBGB2BXXX</bic>
<address>PO BOX 232 11-16 DONEGALL SQUARE EAST </address>
<city>BT1 5UB</city>
<country>GB<country/>
<phone>028 90244112</phone>
</result>
התשובה עבור אותה שאילתה, אבל בפורמט JSON, תראה ככה:
"iban":"GB20ULSB98006054100029","account":"54100029","sort_code":"980060","bank":"ULSTER BANK LTD","branch":"BELFAST CITY OFFICE 1","bic":"ULSBGB2BXXX","address":"PO BOX 232 11-16 DONEGALL SQUARE EAST ","city":"BT1 5UB","country":"GB","phone":"028 90244112"
7. שגיאות API
במקרה של שגיאה, ה-API לחישוב IBAN יחזיר תשובת XML או JSON עם הודעת שגיאה.
תגי ה-XML <error></error> יופיעו ללא שדות אחרים בתשובת ה-XML.
מטה מופיע תיאור מפורט של כלל השגיאות האפשרויות:
<error>בדיקת מספר החשבון אינה תקינה.</error>
<error>מספר החשבון (CHECKSUM) אינו תקין.</error>
<error>מספר חשבון חייב להיות באורך של 11 תווים.</error>
<error>מספר חשבון חייב להיות באורך של 14 תווים.g</error>
<error>מספר חשבון חייב להיות באורך של 24 תווים.</error>
<error>מספר חשבון לא תקין.</error>
<error>מספר חשבון או קוד SORT אינו תקין</error>
<error>קידומת מספר חשבון ארוכה מדי.</error>
<error>מספר חשבון ארוך מדי</error>
<error>קוד בנק\סניף\KIB (CHECKSUM) אינו תקין.</error>
<error>קוד בנק\קוד סניף\מספר חשבון ארון מדי.</error>
<error>קוד בנק \ קוד סניף (CHECKSUM) אינו תקין.</error>
<error>קוד בנק אינו תקין.</error>
<error>קוד בנק ארוף מדי.</error>
<error>בנק לא נמצא.</error>
<error>בנק לא מזוהה.</error>
<error>קוד BBAN\NIB (CHECKSUM) אינו תקין..</error>
<error>קוד בנק\BLZ אינו תקין.</error>
<error>סניף\סוכנות לא נמצאו.</error>
<error>קוד סניף ארוך מדי.</error>
<error>סניף לא נמצא.</error>
<error>ספרת בקורת ארוכה מדי.</error>
<error>מספר חשבון\מסלקה לא תקינים. ספרת ביקורת שגויה.</error>
<error>מספר מסלקה\ קוד בנק לא זוהה. לא ניתן לחשב IBAN.</error>
<error>מספר מסלקה \ חשבון ארוכים מדי.</error>
<error>קוד בנק לא תקין.</error>
<error>קוד סניף לא תקין.</error>
<error>קוד מדינה לא תקין.</error>
<error>מדינה או בנק אינם נתמכים.</error>
<error>קוד IBAN לא קין.</error>
<error>מספר חשבון לא תקין.</error>
<error>שדות חסרים.</error>
<error>קוד IBAN שאינו תואם ל-FR</error>
<error>קוד IBAN של מדינה שאינה FR.</error>
<error>שדה חובה לא מולא. אנא הזינו קוד בנק וקוד חשבון.</error>
<error>שדות חובה לא נשלחו.</error>
<error>קוד RIB אינו תקין.</error>
<error>קוד סידורי \ קוד בנק לא זוהה. לא ניתן לחשב IBAN..</error>
<error>לא ניתן לאתר קוד סידורי.</error>