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.