> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# DLT-Hindistan Katılımı

> Hindistan'ın TRAI DLT rejimi için Principal Entity, Header'lar, içerik şablonları ve onay şablonlarınızı kaydedin, böylece A2P SMS'iniz teslim edilir.

# DLT-Hindistan Katılımı

Hindistan'ın **TRAI DLT** (Distributed Ledger Technology) rejimi,
Hindistan'da A2P SMS gönderen her işletmenin, herhangi bir trafik teslim
edilmeden önce bir telekom operatörü tarafından yürütülen bir DLT
portalına kaydolmasını gerektirir. Kayıtsız veya uyumsuz mesajlar
operatörler tarafından — Orbit tarafından değil — engellenir.

Orbit, dört DLT eserini aynalar, böylece Hint kayıtlarınızı uyumluluk
duruşunuzun geri kalanıyla birlikte yönetebilirsiniz. Alttaki kaydı yine
de bir kayıt kuruluşunun DLT portalında tamamlarsınız; Orbit sonuç
ID'lerini kaydeder ve durumlarını izler.

Aşağıdaki tüm endpoint'ler
`https://api.orbit.devotel.io/api/v1/compliance/dlt-india` kökündedir.

<Warning>
  **DLT kayıt yazışları gate'lidir ve varsayılan olarak kapalıdır.**
  Aşağıdaki dört `POST` endpoint (`principal-entities`, `headers`,
  `content-templates`, `consent-templates`) DLT kaydı dağıtımınız için
  etkinleştirilene kadar (`DEVOTEL_DLT_REGISTRATION_ENABLED=true`)
  `503 FEATURE_DISABLED` döndürür. `GET` liste endpoint'leri ve `/nudge`
  endpoint'leri ne olursa olsun açık kalır, böylece mevcut satırları
  okuyabilir ve teslimat dürtmelerini görebilirsiniz. DLT eserlerini
  kaydetmeniz gerekiyorsa ve yazışlar gate'lendirilirsiyse, özelliği
  etkinleştirmek için destekle iletişime geçin.
</Warning>

<Note>
  Bu endpoint'ler, bir DLT kayıt kuruluşunun portalında elde
  ettiğiniz kayıtları kaydeder. Orbit onları onaylamaz — kayıt
  kuruluşu ve operatörler onaylar. DLT kaydı etkinleştirildikten sonra,
  her eser `pending` durumunda başlar ve temizledikçe güncellenir.
</Note>

***

## Katılım sırası

DLT eserleri birbirlerine bağlıdır, bu yüzden bu sırayla kaydedin:

<Steps>
  <Step title="Principal Entity (PE)">
    İşletmenizi bir kayıt kuruluşuyla Principal Entity olarak kaydedin
    ve atanan **PE ID**'yi kaydedin.
  </Step>

  <Step title="Header'lar (Sender ID'ler)">
    Gönderim yapacağınız 3–11 karakterlik Header'ları (Sender ID'ler),
    her biri PE'nize ve bir kategoriye bağlı olarak kaydedin.
  </Step>

  <Step title="İçerik şablonları">
    Her mesaj şablonunu, değişken yer tutucularla birlikte, bir Header
    ve kategori altında kaydedin.
  </Step>

  <Step title="Onay şablonları">
    Opt-in'lerinizi destekleyen onay metnini kaydedin, böylece
    promosyon gönderimleri belgelenmiş bir onay eserine bağlanabilir.
  </Step>
</Steps>

***

## 1. Principal Entity

`POST /dlt-india/principal-entities` (admin/owner) PE'nizi kaydeder.

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/dlt-india/principal-entities \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "registrar": "vilpower",
    "pe_id": "1101234567890123",
    "legal_name": "Acme Retail Pvt Ltd",
    "pan_or_gstn": "AAACA1234A",
    "entity_type": "private_limited"
  }'
```

| Alan          | Tür    | Notlar                                                         |
| ------------- | ------ | -------------------------------------------------------------- |
| `registrar`   | enum   | `vilpower`, `trueconnect`, `tanla`, `jio`, `videocon`, `bsnl`. |
| `pe_id`       | string | TRAI Principal Entity ID (8–20 karakter).                      |
| `legal_name`  | string | Kayıtlı yasal ad (1–200).                                      |
| `pan_or_gstn` | string | İsteğe bağlı PAN veya GSTN (≤ 50).                             |
| `entity_type` | string | İsteğe bağlı (≤ 50).                                           |

`GET /dlt-india/principal-entities` PE'lerinizi `status`,
`rejection_reason` ve gönderim/onay zaman damgalarıyla listeler.

***

## 2. Header'lar (Sender ID'ler)

`POST /dlt-india/headers` (admin/owner) bir PE altında bir Header
kaydeder.

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/dlt-india/headers \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "principal_id": "pe_internal_id",
    "header": "ACMERT",
    "category": "transactional"
  }'
```

| Alan           | Tür    | Notlar                                                                  |
| -------------- | ------ | ----------------------------------------------------------------------- |
| `principal_id` | string | Üst PE'nin Orbit ID'si.                                                 |
| `header`       | string | Sender ID / Header (3–11 karakter).                                     |
| `category`     | enum   | `promotional`, `transactional`, `service_implicit`, `service_explicit`. |

`GET /dlt-india/headers` kayıtlı Header'ları ve durumlarını listeler.

***

## 3. İçerik şablonları

`POST /dlt-india/content-templates` (admin/owner) bir mesaj şablonu
kaydeder. DLT, her mesaj gövdesinin değişken kısımları yer tutucu
olarak işaretlenmiş onaylı bir şablonla eşleşmesini gerektirir.

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/dlt-india/content-templates \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "principal_id": "pe_internal_id",
    "header_id": "hdr_internal_id",
    "template_id": "1107654321098765432",
    "template_name": "Order shipped",
    "category": "transactional",
    "template_type": "text",
    "content": "Hi {#var#}, your order {#var#} has shipped.",
    "variables": ["name", "order_id"]
  }'
```

| Alan            | Tür       | Notlar                                           |
| --------------- | --------- | ------------------------------------------------ |
| `principal_id`  | string    | Üst PE.                                          |
| `header_id`     | string    | İsteğe bağlı üst Header.                         |
| `template_id`   | string    | İsteğe bağlı kayıt kuruluşu şablon ID'si (≤ 64). |
| `template_name` | string    | 1–200.                                           |
| `category`      | enum      | Header'larla aynı küme.                          |
| `template_type` | enum      | `text`, `unicode`, `unicode_text`, `otp`.        |
| `content`       | string    | `{#var#}` yer tutuculu gövde (1–2000).           |
| `variables`     | string\[] | İsteğe bağlı değişken adları (≤ 20).             |

Kayıt kuruluşu bir tane verene kadar `template_id`'yi atlayabilirsiniz —
şablonu şimdi kaydedin ve ID'yi temizledikçe ekleyin. Şablon her
durumda saklanır.

`GET /dlt-india/content-templates` şablonları ve durumlarını listeler.

***

## 4. Onay şablonları

`POST /dlt-india/consent-templates` (admin/owner), opt-in'lerinizi
destekleyen onay metnini kaydeder; promosyon gönderimleri belgelenmiş
bir onay eserine bağlamak için gereklidir.

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/dlt-india/consent-templates \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "principal_id": "pe_internal_id",
    "consent_template_id": "1109876543210987654",
    "consent_name": "Marketing opt-in",
    "consent_text": "I agree to receive promotional messages from Acme Retail."
  }'
```

| Alan                  | Tür    | Notlar                               |
| --------------------- | ------ | ------------------------------------ |
| `principal_id`        | string | Üst PE.                              |
| `consent_template_id` | string | Kayıt kuruluşunun onay ID'si (≤ 64). |
| `consent_name`        | string | 1–200.                               |
| `consent_text`        | string | Onay metni (1–2000).                 |

`GET /dlt-india/consent-templates` onay şablonlarını ve durumlarını
listeler.

***

## Durum ve dürtmeler

Her eser bir `status` (`pending` başlangıcı), isteğe bağlı bir
`rejection_reason` ve gönderim/onay zaman damgaları taşır. Orbit
Hindistan trafiğinizde DLT ile ilgili bir teslimat reddi tespit
ederser, `GET /dlt-india/nudge` bir gözlem istemi (`failure_count`,
`last_seen_at`) yüzeyler; `POST /dlt-india/nudge/dismiss` onu onaylar.

<Warning>
  Hindistan kayıt-gate'li bir pazardır: PE'niz, Header'ınız ve içerik
  şablonunuz SMS teslim edilmesi için hepsi yerinde ve tutarlı olmalıdır.
  Kayıtlı bir şablonla eşleşmeyen bir gövde operatör tarafından reddedilir.
  DPDP onay makbuzları için bu sayfayı
  [Onay Yönetimi](/compliance/consent-management) ile eşleyin.
</Warning>

***

## İlgili referanslar

* [DLT-Hindistan katılım kılavuzu](/guides/dlt-india-onboarding) — bu
  sayfanın endpoint'lerinin uçtan uca gezintisi.
* [Onay Yönetimi ve Makbuzlar](/compliance/consent-management) —
  Hindistan DPDP onay makbuzları ve Consent Manager'lar.
* [Sender-ID Kaydı](/compliance/sender-id-registration) —
  Hindistan dışı pazarlar için Sender-ID kaydı.
* [Gönderim Kapıları](/compliance/send-gates) — ülke kuralları ve bunları
  zorlayan kapılar.
* [API Başvurusu → Uyumluluk](/api-reference/endpoints/compliance) — tam
  istek/yanıt şemaları (canlı API'den yeniden üretilir).
