> ## Documentation Index
> Fetch the complete documentation index at: https://help.eazybe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Şablon Yayını Gönder

> Onaylı bir WhatsApp şablonunu en fazla 10.000 alıcıya gönderin.

## Şablon yayınını gönder

Onaylanmış bir şablonu alıcı listesine gönderir. Liste boyutuna göre davranış değişiklikleri: 1.000 alıcıya kadar yayın eşzamanlı olarak kuyruğa alınır; bunun üzerinde parçalara bölünür ve durum için yoklama yaptığınız bir arka plan işi olarak işlenir.

### Uç Nokta

```http theme={null}
POST /broadcast/public/send-template-broadcast
```

### Başlıklar

| Başlık            | Gerekli      | Açıklama                               |
| ----------------- | ------------ | -------------------------------------- |
| `x-api-key`       | Gerekli      | Kuruluş kimlik doğrulama anahtarı      |
| `Content-Type`    | Gerekli      | `application/json`                     |
| `Idempotency-Key` | İsteğe bağlı | Benzersiz dize, tekrar denemek güvenli |

### Gövde

| Alan                   | Tür      | Gerekli      | Açıklama                                                      |
| ---------------------- | -------- | ------------ | ------------------------------------------------------------- |
| `broadcastName`        | dize     | Gerekli      | Raporlamada gösterilen kampanya etiketi                       |
| `fromPhoneNumber`      | dize     | Gerekli      | WABA numaranız, Telefon numaralarını listele                  |
| `templateName`         | dize     | Gerekli      | Onaylanan şablon adı                                          |
| `templateLanguage`     | dize     | Gerekli      | Dil kodu, ör. `en`                                            |
| `templateType`         | dize     | Gerekli      | `MARKETING`, `UTILITY` ve benzeri                             |
| `templateId`           | dize     | İsteğe bağlı | WhatsApp şablon kimliği                                       |
| `globalTemplateParams` | dize\[]  | İsteğe bağlı | Kendi parametreleri olmayan alıcılara uygulanan varsayılanlar |
| `data`                 | nesne\[] | Gerekli      | Alıcılar, 1 - 10.000                                          |

### Alıcı nesnesi

| Alan             | Tür     | Gerekli      | Açıklama                                                    |
| ---------------- | ------- | ------------ | ----------------------------------------------------------- |
| `countryCode`    | dize    | Gerekli      | Yalnızca rakamlar, `+` yok. örneğin `91`                    |
| `toPhoneNumber`  | dize    | Gerekli      | Yalnızca rakamlar, ülke kodu olmadan                        |
| `templateParams` | dize\[] | İsteğe bağlı | `{{1}}`, `{{2}}`… değerleri Genel değerleri geçersiz kılar. |

### İstek

```bash theme={null}
curl -X POST "https://cerberus.eazybe.com/prod/api/v2/broadcast/public/send-template-broadcast" \
  -H "x-api-key: $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: festive-run-1" \
  -d '{
    "broadcastName": "Festive Offer Campaign",
    "fromPhoneNumber": "14844634680",
    "templateName": "eazybe_temp",
    "templateLanguage": "en",
    "templateType": "MARKETING",
    "templateId": "1530766784804741",
    "globalTemplateParams": ["Valued customer", "FESTIVE10"],
    "data": [
      {
        "countryCode": "91",
        "toPhoneNumber": "9675360316",
        "templateParams": ["Vineet", "VIP20"]
      },
      {
        "countryCode": "91",
        "toPhoneNumber": "8077378155"
      }
    ]
  }'
```

Bu örnekte ilk alıcı kendi değerlerini alır ve ikincisi `globalTemplateParams`'e geri döner.

### Yanıtlar

**200 — Sıraya alındı (1.000 alıcı veya daha az)**

```json theme={null}
{
  "status": true,
  "status_code": 200,
  "message": "Bulk broadcast queued successfully",
  "data": { }
}
```

**202 — Arka planda işleme için kabul edildi (1.000'den fazla alıcı)**

```json theme={null}
{
  "status": true,
  "status_code": 202,
  "message": "Broadcast accepted for background processing",
  "data": {
    "jobId": "pub_4f8c2a1e9b7d43c6a5e0f2b18d3c9a67",
    "status": "PROCESSING",
    "totalRecipients": 1001,
    "chunkSize": 1000,
    "totalChunks": 2
  }
}
```

`jobId`'i saklayın; yayının nasıl bittiğini kontrol etmenin tek yolu budur. Anket Bununla yayın durumunu alın.

**400 — Alıcı sınırı aşıldı**

```json theme={null}
{
  "status": false,
  "status_code": 400,
  "message": "Recipient limit exceeded",
  "data": {
    "error": {
      "message": "Template broadcast cannot exceed 10000 recipients per request."
    }
  }
}
```

**400 — Şablon onaylanmadı**

```json theme={null}
{
  "status": false,
  "status_code": 400,
  "message": "Template is not approved or not found",
  "data": {
    "error": {
      "message": "Template is not approved or not found for this WABA phone number."
    }
  }
}
```

<Warning>
  **Yinelenen alıcılar reddedilir, birleştirilmez.** Aynı `countryCode` + `toPhoneNumber` çifti iki kez görünürse, kopyanın dizinini adlandıran bir `400` ile isteğin tamamı başarısız olur. Göndermeden önce listenizi tekilleştirin.
</Warning>
