Platform Entegrasyon Gereksinimleri
Platform Entegrasyon Gereksinimleri
InsurGateway’e entegre olacak platformların açması gereken HTTP servislerin ve uyulması gereken ortak sözleşmenin tanımıdır.
İletişim yönü: InsurGateway → Platform. InsurGateway, platform tarafında açılan endpoint’leri çağırır; platform standart formatta cevap döndürür.
1. Platform Tarafında Açılacak Endpoint’ler
Path adları yukarıdaki şekilde kullanılır. Tam URL’ler, platform tarafından bildirilen Base URL’in sonuna bu path’lerin eklenmesiyle oluşur.
2. Platform Tarafından Sağlanması Gereken Bilgiler
Test ve canlı ortam için ayrı ayrı InsurGateway operasyon ekibine iletilir:
3. Header’lar
InsurGateway her isteğe aşağıdaki header’ları ekler:
Header doğrulaması platform sorumluluğundadır. Doğrulama başarısızsa 401/403 döndürülmelidir.
4. Standart İstek Zarfı
Tüm endpoint’lere gelen istekler aşağıdaki yapıdadır:
5. Standart Cevap Zarfı
6. Başarı / Hata Tablosu
Başarı kabul edilmesi için hem HTTP
200, hem de gövdedeStatus="Success"gerekir. Sorgu servislerinde (Get*) otomatik retry uygulanmaz.
7. Retry Politikası (Yalnızca Push Notification)
Bekleme süreleri: 3 sn → 10 sn → 1 dk → 1 saat (≥4. retry)
Maksimum retry sayıları (orijinal hariç):
Son retry’da HTTP başlığında IsLastAttemptToReDelivery=true gönderilir.
8. Bildirim Tipleri
5numaralı tip tanımlı değildir.
9. Payload Alanı: İki Aşamalı Parse
Bildirim isteklerinde RequestObject.Payload, JSON formatında ancak string olarak gönderilir.
Parse adımları:
- HTTP gövdesi JSON olarak parse edilir →
RequestObject.Payloadbir string’tir. - Bu string ikinci kez JSON parse edilir → ilgili tipin payload nesnesi elde edilir.
10. Idempotency
Aynı ReferanceNo ile aynı bildirim birden fazla kez gönderilebilir (cevap ulaşmadığında, ağ hatasında, Status="Error" döndüğünde). Platform tarafında ReferanceNo üzerinden tekilleştirme yapılmalıdır: aynı referansı taşıyan bir bildirim daha önce başarıyla işlenmişse iş mantığı tekrar yürütülmeden Status="Success" döndürülmelidir.
Sorgu servisleri (GetIncomingLogPayload, GetOutgoingLogPayload) salt-okuma niteliğindedir; idempotency için ek önlem gerekmez.
11. Alternatif: Outgoing Log → Elasticsearch
Outgoing log kayıtları HTTP push yerine doğrudan platform tarafındaki Elasticsearch cluster’ına yazdırılabilir (acente bazında). Bu seçenek aktif olduğunda ilgili acente için bildirim tipi 3 ve GetOutgoingLogPayload kullanılmaz.
Detay: LogStorageProviders/Elastic-Log-Provider.md
