> 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 Policy Request Cancelled Notification

Aynı teklif için birden fazla sigorta şirketinden poliçe istenebilir. Teklif şirketlerden birinde poliçeleştiğinde, diğer şirketlerdeki poliçe istekleri artık karşılanamaz. InsurGateway bu bildirim ile, poliçe isteği geçersiz kalan sigorta şirketine haber verir; şirket, poliçeleştirmeye çalışmadan işi kendi tarafında kapatabilir.

Bildirim şu koşulların **hepsi** sağlandığında gönderilir:

* İşiniz poliçe isteği aşamasındadır: `PolicyRequested(7)` veya `BatchPolicyRequested(25)`.
* Aynı teklif **başka bir sigorta şirketinde** poliçeleşmiştir.

Teklifi poliçeleştiren sigorta şirketine bu bildirim gönderilmez. Mevcut bir poliçe üzerine yazılan zeyiller bu bildirimi üretmez.

**Poliçeyi yapan sigorta şirketine ve poliçesine ait hiçbir bilgi gönderilmez.**

> 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` | `108`                    |

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-0007",
    "NotificationType": 108,
    "EventType": "JobUpdated",
    "JobId": 51,
    "Stage": 7,
    "StageName": "Poliçe İsteği",
    "IsBatch": false,
    "InsuranceCompanyId": 12,
    "ProductId": 118,
    "ProductBranchId": 3,
    "OccurredAt": "2026-08-12T10:00:05",
    "Payload": "{\"CancelReason\":\"PolicyMadeByAnotherCompany\",\"PolicyMadeAt\":\"2026-08-12T10:00:00\"}"
  }'
```

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 [PolicyRequestCancelled 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 `108`.                                                                                                                                    |
| `EventType`          | string           | Her zaman `JobUpdated`: işin aşaması değişmeden işle ilgili bir durumun değiştiğini belirtir.                                                       |
| `JobId`              | int              | Poliçe isteği geçersiz kalan, size ait işin InsurGateway üzerindeki Id'si.                                                                          |
| `Stage`              | int              | İşin bildirim anındaki aşama kodu: `7` (`PolicyRequested`) veya `25` (`BatchPolicyRequested`).                                                      |
| `StageName`          | string           | Aşamanın görünen adı.                                                                                                                               |
| `IsBatch`            | bool             | `Stage` `25` ise `true`.                                                                                                                            |
| `InsuranceCompanyId` | int              | **Sizin** sigorta şirketinizin InsurGateway üzerindeki Id'si.                                                                                       |
| `ProductId`          | int              | İşin ürün Id'si.                                                                                                                                    |
| `ProductBranchId`    | int              | İşin branş Id'si.                                                                                                                                   |
| `OccurredAt`         | string(ISO 8601) | Bildirimin oluştuğu an. Saat dilimi eki taşımaz.                                                                                                    |
| `Payload`            | string (JSON)    | [PolicyRequestCancelled modelinin](#payload-modeli) serialize edilmiş hali.                                                                         |

---

## Payload Modeli

| Alan           | Tip                      | Açıklama                                                                               |
| -------------- | ------------------------ | -------------------------------------------------------------------------------------- |
| `CancelReason` | string                   | Poliçe isteğinin geçersiz kalma sebebi. Bkz. aşağıdaki CancelReason değerleri tablosu. |
| `PolicyMadeAt` | string(ISO 8601) \| null | Teklifin poliçeleştiği an. Saat dilimi eki taşımaz.                                    |

### CancelReason değerleri

| Değer                        | Anlamı                                           |
| ---------------------------- | ------------------------------------------------ |
| `PolicyMadeByAnotherCompany` | Teklif başka bir sigorta şirketinde poliçeleşti. |

Şu sürümde tek değer `PolicyMadeByAnotherCompany`'dir. İleride yeni değerler eklenebilir; tanınmayan bir değer geldiğinde bildirim hata vermeden işlenmeli veya `2xx` dönülerek atlanmalıdır.

---

## 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.

**Tekil poliçe isteği geçersiz kaldı:**

```json
{
  "ReferenceNo": "GW-REF-0007",
  "NotificationType": 108,
  "EventType": "JobUpdated",
  "JobId": 51,
  "Stage": 7,
  "StageName": "Poliçe İsteği",
  "IsBatch": false,
  "InsuranceCompanyId": 12,
  "ProductId": 118,
  "ProductBranchId": 3,
  "OccurredAt": "2026-08-12T10:00:05",
  "Payload": {
    "CancelReason": "PolicyMadeByAnotherCompany",
    "PolicyMadeAt": "2026-08-12T10:00:00"
  }
}
```

**Toplu poliçe isteği geçersiz kaldı:**

```json
{
  "ReferenceNo": "GW-REF-0008",
  "NotificationType": 108,
  "EventType": "JobUpdated",
  "JobId": 52,
  "Stage": 25,
  "StageName": "Toplu Poliçe İsteği",
  "IsBatch": true,
  "InsuranceCompanyId": 12,
  "ProductId": 118,
  "ProductBranchId": 3,
  "OccurredAt": "2026-08-12T11:20:03",
  "Payload": {
    "CancelReason": "PolicyMadeByAnotherCompany",
    "PolicyMadeAt": "2026-08-12T11:20:00"
  }
}
```

> Örneklerdeki `ReferenceNo` 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

**Bu bildirimden sonra işi poliçeleştirmeye çalışmayın.** Poliçe isteği artık karşılanamaz. Tekil poliçe isteğinde (`7`) iş üzerinden işlem yapılmaya çalışıldığında istek InsurGateway tarafından otomatik olarak reddedilir; bu ret işe yeni bir aksiyon olarak eklenir ve `101` Policy tipinde `PolicyRejected` bildirimi gelir, `RejectReason.ReasonCategory` değeri `TecnicalError` olur.

**İşin aşaması bu bildirimle değişmez.** `Stage` alanı, bildirim anında hâlâ `7` veya `25` olarak gelir.

**Sıralama garantisi yoktur.** `108` bildirimi, aynı işin diğer bildirimlerinden önce veya sonra ulaşabilir. İşin güncel durumu belirlenirken `OccurredAt` alanı kullanılmalıdır.

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