Ana içeriğe geç

SSS (Sık Sorulan Sorular)

Kimlik Doğrulama & Güvenlik

  • AccessToken neden 24 saat sonra geçersiz oluyor?
    Güvenlik için süreli üretilir. 24 saat sonunda geçersiz olur; aynı ApiKey ve SecretKey ile yeni token alınmalıdır.

  • Bir istekte “401 Unauthorized” hatası alıyorum. Ne yapmalıyım?
    Genelde AccessToken eksik/yanlış/süresi dolmuştur. Header’da AccessToken: <JWT> gönderildiğini ve token’ın geçerli olduğunu kontrol edin.

  • Çoklu sorgularda (Query) neden boş liste dönüyor?
    Filtre kriterine uyan kayıt yoktur ya da parametre adı/değeri yanlıştır (örn. erpCode yerine erpcode değeri). Parametre adlarını birebir doğru kullanın.

  • Ödeme seti neden görünmüyor?
    İlgili üyeye ödeme seti atanmamış olabilir veya endpoint yetkisi kapalıdır. Lisans ve yetkileri kontrol edin.

  • “Daha Önce Aktarılmış” mesajı ne anlama geliyor?
    SetPaymentERPCode idempotent çalışır; aynı ErpTransactionCode ikinci kez işlenmez, bilgi mesajı döner.

  • Sandbox ve Prod ortamları arasında fark var mı?
    Sandbox test içindir; gerçek işlem yapmaz. Prod canlıdır ve işlemler ERP’ye işlenir. Entegrasyona Sandbox’ta başlayın.

  • ERP’ye aktarımın başarılı olduğunu nasıl anlarım?
    SetPaymentERPCode başarılı mesaj verir; ayrıca GetPayments/GetReversals sonucunda ilgili kaydın vposTransactionDetails.erpTransactionCode alanı dolu olur.

  • Token’ı otomatik yenilemek için önerilen akış nedir?
    Her istekten önce yereldeki token’ın süresini kontrol edin. Süresi dolmuşsa aynı ApiKey/SecretKey ile yeni token alıp isteği tekrar gönderin.

  • Hangi başlık(lar) zorunlu?
    Tüm yetkili endpoint’ler için AccessToken zorunludur. İçerik JSON ise Content-Type: application/json gönderin.

  • Tarih/saat formatı ve saat dilimi nasıl olmalı?
    Tüm tarih/saat alanlarında UTC ISO8601 kullanın (örn. 2025-09-11T14:37:39). Sunucu tarafında UTC varsayılmalıdır.

Listeleme, Sayfalama ve Filtreleme

  • Toplam kayıt sayısını nasıl anlarım?
    Liste yanıtlarında currentPage, rowCount ve pageCount alanlarını kullanın. rowCount toplam sonucu, pageCount toplam sayfa sayısını verir.

  • Maksimum pageSize nedir?
    Varsayılan 10’dur; maksimum 100 önerilir. Daha büyük değerler performansı olumsuz etkileyebilir veya kısıtlanabilir.

  • Birden fazla filtreyi aynı anda kullanabilir miyim?
    Evet. Servislerin desteklediği parametreleri birlikte gönderebilirsiniz (örn. isim + tarih aralığı).

  • Sıralama (sort) desteği var mı?
    Bu dokümanda ayrıca belirtilmedikçe varsayılan sıralama kullanılır. Özel sıralama gerekiyorsa sonuçları istemci tarafında sıralayın.

  • Büyük/küçük harf duyarlılığı var mı?
    Parametre adlarında birebir eşleşme beklendiğinden duyarlı davranın; değerlerdeki duyarlılık endpoint’e göre değişebilir. En güvenlisi gönderdiğinizi normalize etmektir.

Agent (Bayi/Müşteri) ve Veri Doğruluğu

  • Agent tipini nasıl belirteceğim?
    Listelemede type=dealer Bayi/Alt Bayi, type=customer Müşteri/Alt Müşteri içindir.

  • Tekil sorguda codeOrErpCode nasıl çalışır?
    Üyenin üye kodu veya ERP kodu birebir eşleşirse kayıt döner. Yanlış/eksik değer 404 döndürebilir.

  • Adres alanları zorunlu mu?
    Dokümanda özellikle adres bilgilerinin eksiksiz olması gerektiği belirtilmiştir. cityName, districtName, address alanlarını doldurun; eksikse hata alırsınız.

  • Bireysel üyelerde taxNumber nedir?
    Bayi/Alt bayi/Müşteri/Alt müşteri bireysel ise taxNumber alanında TCKN bulunur.

Ödemeler, İadeler ve ERP Entegrasyonu

  • Bir işlem ERP’ye aktarıldı mı?
    İlgili işlemde vposTransactionDetails.erpTransactionCode doluysa ERP’ye işlenmiştir.

  • İadelerde reversalType ne anlama gelir?
    reversalType = 50 → İptal, reversalType = 60 → İade.

  • Kısmi iade destekleniyor mu?
    Bu dokümanda kısmi iade davranışı ayrıca belirtilmemiştir. İade kayıtlarınızı GetReversals ile kontrol edip iş kurallarınızı buna göre uygulayın.

Veri Formatı ve En İyi Uygulamalar

  • JSON sayısal/ondalık biçimi nasıl olmalı?
    JSON’da ondalık ayırıcı nokta (.). Yerel format (, virgül) göndermeyin.

  • Karakter seti nedir?
    Tüm içerikler UTF-8’dir. İsteklerde Content-Type: application/json; charset=utf-8 kullanın.

  • Boş/null alanlar nasıl yorumlanmalı?
    Alan tanımına göre veri yokluğunu ifade eder. İstemci tarafında null güvenli kontrol yapın ve iş kurallarına göre varsayılan atayın.

  • Büyük hacimli veri çekerken performans önerileri neler?
    Sayfalama kullanın, tarih aralığını daraltın, yalnızca gereken alanları işleyin ve sonuçları istemci tarafında akışkan (streaming) tüketin.

  • Webhook var mı?
    Bu dokümanda webhook bildirimleri belirtilmemiş. Senkron veri ihtiyacı için REST sorgularını periyodik çalıştırın; varsa kurum içi yönergeleri izleyin.