Kimlik Doğrulama ve Token Alma
Pazaryeri servislerine istek atabilmek için önce authenticate servisi ile JWT token alır, sonra her istekte Authorization başlığında taşırsınız.
Authenticate Servisi
TESTPOST https://apitest.paynkolay.com.tr/marketplace/v1/authenticate
PRODPOST https://api.paynkolay.com.tr/marketplace/v1/authenticate
İstek
{
"username": "nkolay_marketplace",
"password": "nkolaypassword",
"merchantNo": "400000904"
}| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
| username | String | ✅ | Sizin için oluşturulmuş kullanıcı adı |
| password | String | ✅ | Sizin için oluşturulmuş şifre |
| merchantNo | String | ✅ | Sizin için oluşturulmuş üye işyeri numarası |
Yukarıdaki değerler örnektir; gerçek username, password ve merchantNo değerleriniz Paynkolay tarafından size özel verilir. Bu bilgileri asla koda gömmeyin — environment variable veya güvenli bir kasada saklayın.
Yanıt
{
"success": true,
"responseCode": "200",
"responseMessage": "SUCCESS",
"data": {
"token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJua29sYXlfbWFya2V0cGxhY2UiLCJleHAiOjE3NjI5NDY0NTZ9...."
}
}| Parametre | Tip | Açıklama |
|---|---|---|
| success | Boolean | İşlemin başarılı olup olmadığı |
| responseCode | String | İşlem sonucu kodu (200 = başarılı) |
| responseMessage | String | İşlem sonucu mesajı |
| data.token | String | JWT formatında access token — Bearer token olarak kullanılır |
Token Kullanımı
Aldığınız token'ı diğer API isteklerinde Authorization başlığında Bearer token olarak gönderin:
curl -X POST https://apitest.paynkolay.com.tr/marketplace/v1/seller/get \
-H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
-H "Content-Type: application/json" \
-d '{ "sellerExternalId": "SELLER123" }'Token Yönetimi
JWT token'lar belirli bir süre sonra geçersiz olur; geçerlilik süresi token'ın exp alanındadır.
- Token'ı cache'leyin — her istekte yeni token almak yerine mevcut token'ı kullanın
- Süre dolmadan yenileyin —
expzamanına bakarak proaktif yenileme yapın - 401 Unauthorized aldığınızda token'ı yenileyip isteği tekrarlayın
- Token'ları güvenli saklayın (memory, secure storage)
async function ensureValidToken(client) {
if (!client.token || Date.now() >= client.tokenExpiry) {
const res = await fetch(BASE_URL + '/authenticate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(client.credentials),
});
const data = await res.json();
client.token = data.data.token;
// JWT'den son geçerlilik zamanını oku
const payload = JSON.parse(atob(client.token.split('.')[1]));
client.tokenExpiry = payload.exp * 1000;
}
return client.token;
}Güvenlik Anahtarları
Token dışında, Pazaryeri API'sinde kullanılan diğer anahtarlar — hepsi Paynkolay tarafından size özel verilir:
| Anahtar | Açıklama | Kullanım Yeri |
|---|---|---|
| apiSecretKey | SX değeri — ödeme işlemleri için | Ödeme, satıcı ve profil servisleri |
| merchantSecretKey | Merchant gizli anahtarı | Hash (apiKey) hesaplama |
| apiSecretKey (iptal) | İptal işlemleri için özel SX değeri | İptal/iade servisleri |
Son güncelleme: 5 Eylül 2026