> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.insurgateway.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.insurgateway.com/_mcp/server.

# Insurance Company Job Changed Notification

InsurGateway, sigorta şirketine ait bir işin (job) **kendi bilgileri** değiştiğinde bu bildirim ile sigorta şirketine haber verir. Bu bildirimde işin aşaması değişmez; değişen, işin durumu, atandığı kullanıcılar veya sigorta şirketi teklif numarasıdır.

Bildirim, aşağıdaki alanlardan **en az biri** değiştiğinde gönderilir:

| Alan                             | Değişiklik örneği                                    |
| -------------------------------- | ---------------------------------------------------- |
| `Status`                         | İş kapatıldı, durduruldu veya yeniden işleme alındı. |
| `OwnerId`                        | İş başka bir kullanıcıya atandı.                     |
| `ManagerId`                      | İşin yöneticisi değişti.                             |
| `InsuranceCompanyProposalNumber` | İşteki sigorta şirketi teklif numarası değişti.      |

Aynı kayıtta birden fazla alan değişirse tek bildirim gönderilir; değişen alanların tamamı `ChangedFields` içinde listelenir. Yukarıdaki alanlar dışında kalan değişiklikler bu bildirimi üretmez. İşin aşama değişiklikleri ise [Insurance Company Job Notification](/service-integrations/insurance-company-job-notification) sayfasındaki `100`–`106` tipleriyle bildirilir.

> Endpoint, kimlik doğrulama, beklenen cevap ve retry kuralları `100`–`106` tipleriyle aynıdır. Ayrıntılar için: [Insurance Company Job Notification](/service-integrations/insurance-company-job-notification).

---

## Endpoint

| Alan               | Değer                    |
| ------------------ | ------------------------ |
| HTTP Method        | `POST`                   |
| Adres              | `{baseUrl}/notification` |
| Content-Type       | `application/json`       |
| `NotificationType` | `107`                    |

Bildirim, diğer tiplerle aynı `/notification` adresine gönderilir; tip, gövdedeki `NotificationType` alanından anlaşılır.

---

## Örnek İstek

```bash
curl -X POST "{baseUrl}/notification" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -d '{
    "ReferenceNo": "GW-REF-0005",
    "NotificationType": 107,
    "EventType": "JobUpdated",
    "JobId": 42,
    "Stage": 9,
    "StageName": "Poliçe Gerçekleşti",
    "IsBatch": false,
    "InsuranceCompanyId": 12,
    "ProductId": 118,
    "ProductBranchId": 3,
    "OccurredAt": "2026-08-12T09:15:00",
    "Payload": "{\"ChangedFields\":[\"Status\",\"OwnerId\"],\"Status\":\"Closed\",\"OwnerId\":\"7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f\",\"ManagerId\":\"3f2a9c14-8b71-4e02-9d55-6c1e77a3b912\",\"InsuranceCompanyProposalNumber\":\"TKF-2026-0001\"}"
  }'
```

Referans numarası ve sabit alanlar üstte, tipe göre değişen içerik `Payload` alanındadır. `Payload`, **JSON olarak serialize edilmiş bir string** gönderilir: önce `NotificationType` değeri okunur, ardından `Payload` string'i [JobChanged modeline](#payload-modeli) deserialize edilir.

---

## Ortak Alanlar

Ortak alanların anlamı `100`–`106` tipleriyle aynıdır. Bu tipe özgü değerler:

| Alan                 | Tip              | Açıklama                                                                                                                                            |
| -------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ReferenceNo`        | string           | Bildirimin InsurGateway referans numarası. Yeniden gönderimlerde **değişmez**; tekilleştirme ve InsurGateway ile yazışmalarda bu numara kullanılır. |
| `NotificationType`   | int              | Her zaman `107`.                                                                                                                                    |
| `EventType`          | string           | Her zaman `JobUpdated`: işin aşaması değişmeden kendi bilgilerinin değiştiğini belirtir.                                                            |
| `JobId`              | int              | İşin InsurGateway üzerindeki Id'si.                                                                                                                 |
| `Stage`              | int              | İşin bildirim anındaki aşama kodu. Bu bildirimle değişmez, bilgi amaçlıdır.                                                                         |
| `StageName`          | string           | Aşamanın görünen adı.                                                                                                                               |
| `IsBatch`            | bool             | İşin aşamasının toplu (batch) işlem grubuna ait olup olmadığı.                                                                                      |
| `InsuranceCompanyId` | int              | Sigorta şirketinin InsurGateway üzerindeki Id'si.                                                                                                   |
| `ProductId`          | int              | İşin ürün Id'si.                                                                                                                                    |
| `ProductBranchId`    | int              | İşin branş Id'si.                                                                                                                                   |
| `OccurredAt`         | string(ISO 8601) | Değişikliğin kaydedildiği an. Saat dilimi eki taşımaz.                                                                                              |
| `Payload`            | string (JSON)    | [JobChanged modelinin](#payload-modeli) serialize edilmiş hali.                                                                                     |

---

## Payload Modeli

Model, takip edilen alanların **hepsinin güncel değerini** taşır; `ChangedFields` bu bildirimle hangilerinin değiştiğini belirtir. Değişmeyen alanlar da güncel değerleriyle gönderilir.

| Alan                             | Tip            | Açıklama                                                                                                                                             |
| -------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ChangedFields`                  | string\[]      | Bu bildirimle değişen alanların adları. En az bir eleman içerir. Olası değerler: `Status`, `OwnerId`, `ManagerId`, `InsuranceCompanyProposalNumber`. |
| `Status`                         | string         | İşin güncel durumu. Bkz. aşağıdaki Status değerleri tablosu.                                                                                         |
| `OwnerId`                        | string \| null | İşin atandığı kullanıcının Id'si.                                                                                                                    |
| `ManagerId`                      | string \| null | İşin yöneticisi olan kullanıcının Id'si.                                                                                                             |
| `InsuranceCompanyProposalNumber` | string \| null | İşteki sigorta şirketi teklif numarası.                                                                                                              |

### Status değerleri

| Değer       | Anlamı                                      |
| ----------- | ------------------------------------------- |
| `New`       | İş yeni oluşturuldu, henüz işleme alınmadı. |
| `InProcess` | İş işleme alındı.                           |
| `Paused`    | İş durduruldu.                              |
| `Closed`    | İş kapatıldı.                               |

---

## Parse Edilmiş Gövde Örnekleri

> Aşağıdaki örneklerde `Payload`, okunabilirlik için **parse edilmiş (nesne) haliyle** gösterilmiştir. Gerçek gövdede `Payload` bu nesnenin serialize edilmiş string halidir; gerçek biçim için yukarıdaki "Örnek İstek" bölümüne bakın.

**İş kapatıldı ve başka kullanıcıya atandı:**

```json
{
  "ReferenceNo": "GW-REF-0005",
  "NotificationType": 107,
  "EventType": "JobUpdated",
  "JobId": 42,
  "Stage": 9,
  "StageName": "Poliçe Gerçekleşti",
  "IsBatch": false,
  "InsuranceCompanyId": 12,
  "ProductId": 118,
  "ProductBranchId": 3,
  "OccurredAt": "2026-08-12T09:15:00",
  "Payload": {
    "ChangedFields": ["Status", "OwnerId"],
    "Status": "Closed",
    "OwnerId": "7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "ManagerId": "3f2a9c14-8b71-4e02-9d55-6c1e77a3b912",
    "InsuranceCompanyProposalNumber": "TKF-2026-0001"
  }
}
```

**Sigorta şirketi teklif numarası değişti:**

```json
{
  "ReferenceNo": "GW-REF-0006",
  "NotificationType": 107,
  "EventType": "JobUpdated",
  "JobId": 43,
  "Stage": 3,
  "StageName": "Prim Verildi",
  "IsBatch": false,
  "InsuranceCompanyId": 12,
  "ProductId": 118,
  "ProductBranchId": 3,
  "OccurredAt": "2026-08-12T10:40:00",
  "Payload": {
    "ChangedFields": ["InsuranceCompanyProposalNumber"],
    "Status": "InProcess",
    "OwnerId": "7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
    "ManagerId": null,
    "InsuranceCompanyProposalNumber": "TKF-2026-0002"
  }
}
```

> Örneklerdeki `ReferenceNo` ve kullanıcı Id değerleri temsilidir.

---

## Beklenen Cevap ve Retry

`100`–`106` tipleriyle aynıdır: `2xx` durum kodu başarı sayılır, cevap gövdesi değerlendirilmez. `2xx` dışındaki her durum kodu, bağlantı hatası veya zaman aşımı yeniden gönderimi başlatır. Her deneme aynı gövdeyle, dolayısıyla aynı `ReferenceNo` ile gönderilir. Ayrıntılar: [Insurance Company Job Notification](/service-integrations/insurance-company-job-notification).

---

## Dikkat Edilmesi Gerekenler

**Değerleri `ChangedFields`'a göre değil, gövdedeki güncel değerlere göre güncelleyin.** Model her zaman takip edilen alanların tamamını taşır. `ChangedFields` neyin değiştiğini göstermek içindir; kayıt güncellenirken gövdedeki değerler esas alınabilir.

**Yeni işin ilk durum değişikliği de bildirilir.** İş ilk kez işleme alındığında durumu `New`'dan `InProcess`'e geçer ve bu da `107` bildirimi üretir.

**Sıralama garantisi yoktur.** `107` bildirimi, aynı işin aşama bildirimlerinden (`100`–`106`) önce veya sonra ulaşabilir. İşin güncel durumu belirlenirken `OccurredAt` alanı kullanılmalı ve daha eski bir olay daha yeni bir olayın üzerine yazılmamalıdır.

**Kayıtlı olmayan bir iş için bildirim gelebilir.** İşin ilk bildirimi teslim edilememişse `107` bildirimi, iş sizde henüz yokken ulaşabilir. Bu durumda iş `JobId` ile oluşturulabilmeli veya bildirim `2xx` dönülerek atlanabilmelidir.

**Aynı bildirim birden çok kez ulaşabilir.** İşleme idempotent olmalıdır; tekilleştirme anahtarı `ReferenceNo` alanıdır.