Yetkilendirme
VakıfBank API’ları kimlik doğrulama ve yetkilendirme için OAuth 2.0 protokolünün iki farklı yöntemini kullanmaktadır.
Authorization Code Yöntemi
Bu yöntem müşteri kimlik doğrulaması gerektirmektedir. Genellikle müşteri verilerini içeren API'ların çağırılmasında kullanılır.
Authorization Code yönteminde öncelikle müşterinin yetki vermesiyle birlikte 3. parti uygulamaya müşteri özelinde üretilmiş bir token bilgisi iletilir.
1. Authorization Code Elde Etme
Authorization adresine aşağıdaki bilgilerle yapılan çağrı sonucu müşteri giriş ekranı açılması sağlanır. Müşteri girişinin ardından müşterinin ilgili işlemler için uygulamaya yetki vermesi sonucu uygulamanın yönlendirme adresine authorization code bilgisi iletilir.
Bireysel Adres:
GET: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/authorize
Ticari Adres:
GET: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/commercial/authorize
Parametre | Açıklama |
client_id |
Zorunludur. Uygulama sayfanızda Auth sekmesi içerisinden edinebilirsiniz. |
response_type |
Sabit değerdir. "code" bilgisi gönderilmedir. |
scope |
Yetki talep edilen API'lara ait scope bilgisini içerir. Kullanılacak API sayfasından elde edilebilir. |
state |
Opsiyonel. Yönlendirme adresine gönderilecek bilgiyi ifade eder. |
redirect_uri |
Oluşturulan authorization code bilgisinin yönlendirileceği adres bilgisidir. |
resource |
API Plan bilgisidir. Test için "sandbox", gerçek ortam için "production" gönderilmedir. |
Müşteri Girişi
Bu yöntemde müşteri girişleri internet bankacılığı şifresi ile yapılmaktadır. 3. parti uygulamadan yapılan yetkilendirme çağrısında internet bankacılığı giriş ekranı açılarak müşterinin giriş yapması ardından uygulamaya yetki vermesi beklenmektedir.
Test Müşterileri
Sandbox ortamında aşağıdaki müşteri numaraları ile test yapılabilir.
Müşteri Numarası | Kullanıcı Kodu | Şifre | OTP |
445806749637 | - | 112233 | 123456 |
445805642686 | - | 112233 | 123456 |
445805642712 | 51163450904 | 112233 | 123456 |
2. Authorization Code 'un İletilmesi
Müşteri yetkilendirmesinin ardından oluşturulan authorization code 3. parti uygulamadan iletilen yönlendirme adresine aşağıdaki şekillerde gönderilebilir.
Parametre | Açıklama |
code |
Müşterinin onay vermesi durumunda authorization code bilgisini içeren alandır. |
state |
Request içerisinde gönderilen state bilgisini içerir. |
error |
Müşterinin yetki vermeyi reddetmesi durumunda hatayı içeren bilgidir. |
3. Access Token Alınması
Yönlendirme adresine iletilen authorization code kullanılarak access token alınması işlemi yapılır.
Adres:
POST: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/token
Parametre | Açıklama |
grant_type |
authorization_code bilgisi gönderilmelidir. |
code |
/authorize adresinden alınan Authorization Code bilgisinin gönderilmesi gerekmektedir. |
redirect_uri |
Token'ın iletileceği yönlendirme adresi bilgisidir. |
Yanıt Mesajı Parametreleri
Parametre Adı | Açıklama |
access_token |
Yetkilendirme sonucu oluşan token bilgisidir. |
token_type |
Bearer |
refresh_token |
Token yenileme için kullanılabilecek yenileme token'ı bilgisidir. |
expires_in |
Saniye cinsinden token geçerlilik süresidir. |
scope |
Yetki verilen scope bilgisidir. |
4. Refresh Token ile Access Token Alınması
Access token'ın kullanım süresi sona erdiğinde API'ın çağırılması istenirse kullanıcının yeniden access token alması gerekmektedir. Authorization Code ile yetkilendirilmiş API'lar için daha önce elde edilmiş bir refresh token mevcut ise bu yöntem kullanılarak tekrar login süreçleri olmadan access token elde edilebilir.
Adres:
POST: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/token
Parametre | Açıklama |
grant_type |
refresh_token bilgisi gönderilmelidir. |
refresh_token |
Token yenileme için kullanılabilecek yenileme token'ı bilgisidir. |
client_id |
Uygulama sayfasında bulunan API Key bilgisidir. |
client_secret |
Uygulama sayfasında bulunan API Secret bilgisidir. |
scope |
Yetki verilen scope bilgisidir. |
Yanıt Mesajı
Parametre Adı | Açıklama |
access_token |
Giriş yapılmasını sağlayan bir token verir. |
token_type |
Bearer |
refresh_token |
Token yenileme için kullanılabilecek yenileme token'ı bilgisidir. |
expires_in |
Saniye cinsinden token geçerlilik süresidir. |
scope |
Yetki alınan scope bilgisidir. |
Client Credentials Yöntemi
Bu yöntem müşteri kimlik doğrulaması gerektirmeyen açık API'lar yada kurum-banka arasında hazırlanan özel API'larda kullanılmaktadır.
Adres:
POST: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/token
İstek Mesajı
Parametre Adı | Açıklama |
client_id |
Uygulama sayfasında bulunan API Key bilgisidir. |
client_secret |
Uygulama sayfasında bulunan API Secret bilgisidir. |
grant_type |
client_credentials gönderilmelidir. |
scope |
Yetki talep edilen API'lara ait scope bilgisini içerir. Kullanılacak API sayfasından elde edilebilir. |
Yanıt Mesajı
Parametre Adı | Açıklama |
access_token |
Giriş yapılmasını sağlayan bir token verir. |
token_type |
Bearer |
expires_in |
Saniye cinsinden token geçerlilik süresidir. |
scope |
Yetki alınan scope bilgisidir. |
B2B Credentials Yöntemi
Bu yöntem müşteri verilerini içeren API'ların ticari müşteri-banka arasındaki birebir entegrasyonlarında kullanılmaktadır.
Adres:
POST: https://apigw.vakifbank.com.tr:8443/auth/oauth/v2/token
İstek Mesajı
Parametre Adı | Açıklama |
client_id |
Uygulama sayfasında bulunan API Key bilgisidir. |
client_secret |
Uygulama sayfasında bulunan API Secret bilgisidir. |
grant_type |
b2b_credentials gönderilmelidir. |
scope |
Yetki talep edilen API'lara ait scope bilgisini içerir. Kullanılacak API sayfasından elde edilebilir. |
consentId |
Rıza numarasıdır. İş birimi tarafından iletilmektedir. |
resource |
Ortam bilgisidir. Test ortamı için sandbox, gerçek ortam için de production bilgisi gönderilmelidir. |
Yanıt Mesajı
Parametre Adı | Açıklama |
access_token |
Giriş yapılmasını sağlayan bir token verir. |
token_type |
Bearer |
expires_in |
Saniye cinsinden token geçerlilik süresidir. |
scope |
Yetki alınan scope bilgisidir. |