ParameterChange Notification

InsurGateway’de bir parametre değeri kaydına (ParameterValue) ait bir değer eklendiğinde, güncellendiğinde veya silindiğinde, platformun kendi parametre havuzunu güncel tutabilmesi için gönderilen bildirim tipidir. Bildirim, değişen kaydın bilgisini taşır; platformun değişiklik sonrası ayrıca bir “parametre çekme” çağrısı yapmasına gerek kalmaz.

Yalnızca tekil ekle/güncelle/sil işlemleri bildirim üretir. Toplu (bulk) parametre aktarımı/senkronizasyonu bildirim üretmez.

Header ve zarf (envelope) yapısı için: Platform Entegrasyon Gereksinimleri. Bu bildirim tipinde cevap ve retry davranışı aşağıda ayrıca tanımlanmıştır: başarı yalnızca HTTP durum koduna göre belirlenir ve transport hatası dışında retry yapılmaz.


Endpoint

AlanDeğer
HTTP MethodPOST
Path/PushNotification
NotificationType8

Örnek İstek

$curl -X POST "https://platform.ornek.com.tr/insurgw/PushNotification" \
> -H "Content-Type: application/json" \
> -H "x-api-key: 9f3c1e8a-2b4d-1234-5678-deadbeefcafe" \
> -d '{
> "ReferanceNo": "10025_20260609153012345a1b2c_0_0",
> "SubReferanceNo": "a1b2c3d4-e5f6-7890abcdef1234567890",
> "RequestKeyValueSet": null,
> "RequestObject": {
> "NotificationType": 8,
> "Payload": "{\"ChangeType\":\"added\",\"Value\":{\"ParameterId\":100,\"ParameterValue\":\"001\",\"ParameterName\":\"AUDI\",\"Status\":true,\"Crossed\":false}}"
> }
> }'

ReferanceNo opak bir idempotency anahtarıdır; format {AgentId}_{zamanDamgası+benzersiz}_0_0 şeklindedir ve aynı bildirimin retry’larında değişmez.


Parse Edilmiş Payload

RequestObject.Payload alanı serialize edilmiş bir JSON string’tir; ikinci bir parse sonrasında aşağıdaki yapıya ulaşılır:

1{
2 "ChangeType": "added",
3 "Value": {
4 "ParameterId": 100,
5 "ParameterValue": "001",
6 "ParameterName": "AUDI",
7 "Status": true,
8 "Crossed": false
9 }
10}
AlanTipAçıklama
ChangeTypestringOlayın türü. Olası değerler: added, updated, deleted. Ekleme/güncelleme/silme bilgisini taşıyan tek alan budur.
ValueobjectDeğişen parametre değeri kaydının bilgisi (silme dahil her durumda dolu gelir).

Value alanları:

AlanTipAçıklama
ParameterIdintDeğerin bağlı olduğu parametrenin Id’si.
ParameterValuestringParametre değerinin kodu (ParameterValue.Value). Örn. "001".
ParameterNamestringDeğişen parametre değerinin kendi adı (ParameterValue kaydının adı). Örn. "AUDI".
StatusboolKaydın kendi aktiflik durumu (ParameterValue.Status). Olay türü ile doğrudan ilgisi yoktur; entity’den olduğu gibi taşınır. deleted durumunda anlamlı değildir.
CrossedboolKaydın Crossed alanı (ParameterValue.Crossed).

ChangeType="deleted" olduğunda Value, silinen kaydın son hâliyle gönderilir. Bir kaydın eşsiz kimliği (ParameterId, ParameterValue) ikilisidir; platform tarafında havuz bu ikili üzerinden güncellenmelidir.


Beklenen Cevap

Platform, bildirimi aldığında HTTP 2xx dönmelidir. InsurGateway başarıyı yalnızca HTTP durum koduna göre belirler; cevap gövdesi değerlendirilmez (gövde boş olabilir).

Başarı:

1HTTP/1.1 200 OK

Hata:

2xx dışı herhangi bir HTTP kodu (örn. 500) hata kabul edilir.

1HTTP/1.1 500 Internal Server Error

Bildirim ReferanceNo üzerinden idempotent işlenmelidir; aynı ReferanceNo ile yeniden gelen bir bildirim tekrar uygulanmamalıdır.


Retry

InsurGateway, bildirimi yalnızca platforma ulaşamadığında (bağlantı hatası / timeout — yani HTTP cevabı hiç alınamadığında) yeniden gönderir. Platformdan dönen 2xx dışı bir HTTP cevabı retry üretmez; hata loglanır ve bildirim düşülür. Dolayısıyla bildirimin tekrar denenmesini istiyorsanız cevap dönmeyin (timeout) — 2xx dışı bir HTTP kodu düşmeye yol açar.

ParametreDeğer
Retry koşuluYalnızca transport hatası (HTTP cevabı alınamaması)
2xx dışı HTTP cevabıRetry YOK — loglanır ve düşülür
Maksimum retry (orijinal hariç)5
Toplam maksimum deneme6
Bekleme süreleri3 sn → 10 sn → 1 dk → 1 saat (≥4. retry)