API Dokümantasyonu

e-IBAN API — Hızlı, Güvenli, Profesyonel

Hemen Başlayın

Hızlı Başlangıç

Kayıt olduktan sonra e-posta ile gönderilen API Key ile hemen başlayın. Hiçbir karmaşık kurulum gerekmez.

Basit İstek (GET)

GET https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863&api_key=YOUR_API_KEY

Örnek JSON Yanıtı

{
  "success": true,
  "timestamp": "2026-03-15T10:00:00+03:00",
  "data": {
    "iban": "TR590006200027700000001863",
    "valid": true,
    "country": "TR",
    "country_name": "Türkiye",
    "bank_code": "0062",
    "bank_name": "GARANTİ BBVA",
    "swift": "TGBATRIS",
    "branch_code": "00277",
    "branch_name": "SAHRAYICEDİT ŞB.",
    "branch_address": "Göztepe Mah.",
    "branch_city": "İstanbul",
    "branch_phone": "0216 XXX XX XX",
    "account_number": "0000001863",
    "checksum_valid": true,
    "quota": {
      "remaining": 99,
      "expires": "2026-04-15"
    }
  }
}

API Endpoint'leri

GET POST https://www.e-iban.com/api/v2/validate.php

IBAN doğrulama — Banka, şube ve hesap bilgilerini döndürür

GET https://www.e-iban.com/api/v2/status.php

Hesap durumu — Kota ve geçerlilik bilgilerini döndürür

Parametreler

Parametre Tür Açıklama
iban Zorunlu Doğrulanacak IBAN numarası
api_key Zorunlu API anahtarınız (veya X-API-Key header)
timestamp Zorunlu Unix timestamp (5 dk geçerli)
signature Zorunlu HMAC-SHA256 imzası
format Opsiyonel json (varsayılan) veya xml

HMAC Güvenlik Doğrulaması

e-IBAN API, güvenli kimlik doğrulama için HMAC-SHA256 kullanır. Her istekte timestamp ve signature parametrelerini göndermeniz zorunludur.

Timestamp Oluşturun
$timestamp = time(); // Unix timestamp (örn: 1709900000)
String to Sign Oluşturun
// Sorgu parametrelerini normalize edin:
// - timestamp ve signature parametrelerini ÇIKARIN
// - Kalan parametreleri alfabetik SIRALAYIN
// - Key ve value'ları URL-ENCODE edin

// Örnek: iban=TR590006200027700000001863
$query = 'iban=TR590006200027700000001863';

// İmza metnini oluşturun
$stringToSign = $timestamp . "\n" .
                strtoupper($method) . "\n" .
                $path . "\n" .
                $query . "\n" .
                $body;

Bileşenler: timestamp, method (GET/POST), path (/api/v2/validate.php), query (normalize edilmiş), body (POST ise body, GET ise boş)

HMAC-SHA256 İmzasını Hesaplayın
$signature = hash_hmac('sha256', $stringToSign, $api_secret);
İsteği Gönderin
// Yöntem 1: Tüm bilgileri header ile gönderin (önerilen)
curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=1709900000&signature=HESAPLANAN_IMZA" \
  -H "X-API-Key: YOUR_API_KEY"

// Yöntem 2: Tüm bilgileri query string ile gönderin
curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=1709900000&signature=HESAPLANAN_IMZA&api_key=YOUR_API_KEY"
Timestamp'ler sadece 5 dakika (±300 saniye) geçerlidir.

Kod Örnekleri

Kullanım — HMAC ile Güvenli İstek

// API Bilgileri
$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$iban = 'TR590006200027700000001863';

// 1. Timestamp oluştur
$timestamp = time();

// 2. String to Sign oluştur
$method = 'GET';
$path = '/api/v2/validate.php';
$query = 'iban=' . $iban;
$body = '';

$stringToSign = $timestamp . "\n" .
                $method . "\n" .
                $path . "\n" .
                $query . "\n" .
                $body;

// 3. İmza oluştur
$signature = hash_hmac('sha256', $stringToSign, $api_secret);

// 4. API isteği
$url = "https://www.e-iban.com/api/v2/validate.php?" . http_build_query([
    'iban' => $iban,
    'timestamp' => $timestamp,
    'signature' => $signature
]);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: ' . $api_key,
    'X-Timestamp: ' . $timestamp,
    'X-Signature: ' . $signature
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
echo $result['data']['bank_name']; // GARANTİ BBVA
import hmac
import hashlib
import time
import requests

API_KEY = 'YOUR_API_KEY'
API_SECRET = 'YOUR_API_SECRET'

def validate_iban(iban):
    timestamp = int(time.time())
    method = 'GET'
    path = '/api/v2/validate.php'
    query = f'iban={iban}'
    body = ''

    string_to_sign = f"{timestamp}\n{method}\n{path}\n{query}\n{body}"
    signature = hmac.new(
        API_SECRET.encode(),
        string_to_sign.encode(),
        hashlib.sha256
    ).hexdigest()

    response = requests.get(
        'https://www.e-iban.com/api/v2/validate.php',
        params={
            'iban': iban,
            'timestamp': timestamp,
            'signature': signature
        },
        headers={
            'X-API-Key': API_KEY,
            'X-Timestamp': str(timestamp),
            'X-Signature': signature
        }
    )
    return response.json()

result = validate_iban('TR590006200027700000001863')
print(result['data']['bank_name']) # GARANTİ BBVA
# Timestamp ve signature oluştur (örnek)
TIMESTAMP=$(date +%s)
API_SECRET="YOUR_API_SECRET"

# String to Sign oluştur
STRING_TO_SIGN="${TIMESTAMP}
GET
/api/v2/validate.php
iban=TR590006200027700000001863
"

# Signature oluştur
SIGNATURE=$(echo -n "$STRING_TO_SIGN" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $2}')

# API isteği
curl "https://www.e-iban.com/api/v2/validate.php?iban=TR590006200027700000001863×tamp=${TIMESTAMP}&signature=${SIGNATURE}" \
    -H "X-API-Key: YOUR_API_KEY" \
    -H "X-Timestamp: ${TIMESTAMP}" \
    -H "X-Signature: ${SIGNATURE}"

Hata Kodları

Kod Açıklama Çözüm
API_KEY_REQUIRED API Key gönderilmemiş X-API-Key header'ı veya api_key parametresi ekleyin
API_KEY_GECERSIZ Geçersiz API anahtarı API Key'inizi kontrol edin
INVALID_SIGNATURE İmza doğrulaması başarısız İmza algoritmasını kontrol edin
SIGNATURE_REQUIRED Signature parametresi eksik X-Signature header'ı veya signature parametresi ekleyin
TIMESTAMP_REQUIRED Timestamp parametresi eksik X-Timestamp header'ı veya timestamp parametresi ekleyin
TIMESTAMP_EXPIRED Timestamp süresi dolmuş Geçerli Unix timestamp kullanın
LIMIT_ASIMI Sorgu limitiniz dolmuş Paketinizi yükseltin veya yeni paket satın alın
DAILY_LIMIT_EXCEEDED Günlük API sorgu limitine ulaşıldı Yarın tekrar deneyin veya paketinizi yükseltin
RATE_LIMIT_EXCEEDED Çok fazla istek gönderildi (burst limit aşıldı) Biraz bekleyip tekrar deneyin (10 sorgu/dakika)
IP_LIMIT_EXCEEDED IP limiti aşıldı Kayıtlı IP'leri kontrol edin
IBAN_REQUIRED IBAN parametresi eksik iban parametresi ekleyin
UYELIK_PASIF Üyelik aktif değil Üyelik durumunuzu kontrol edin veya destek ile iletişime geçin
SURE_DOLDU Üyelik süresi dolmuş Paket yenileyin

Yanıt Formatları

Başarılı Yanıt

{
  "success": true,
  "timestamp": "2026-03-15T10:00:00+03:00",
  "data": {
    "iban": "TR590006200027700000001863",
    "valid": true,
    "country": "TR",
    "country_name": "Türkiye",
    "bank_code": "0062",
    "bank_name": "GARANTİ BBVA",
    "swift": "TGBATRIS",
    "branch_code": "00277",
    "branch_name": "SAHRAYICEDİT ŞB.",
    "branch_address": "Göztepe Mah.",
    "branch_city": "İstanbul",
    "branch_phone": "0216 XXX XX XX",
    "account_number": "0000001863",
    "checksum_valid": true,
    "quota": {
      "remaining": 99,
      "expires": "2026-04-15"
    }
  }
}

Hata Yanıtı

{
  "success": false,
  "error": "IBAN_REQUIRED",
  "message": "IBAN parametresi eksik"
}
format=xml parametresi ile XML formatında yanıt alabilirsiniz. Varsayılan format JSON'dur.

Profesyonel API'ye hemen başlayın

Paketinizi seçin, ödemeyi yapın ve API Key ile entegrasyona hemen başlayın.

Paket Seçin ve Başlayın