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

# Ülke Uyum Gereksinimleri

> Orbit'te ülke ve kanal başına gönderici kuralları: kabul edilen gönderici türleri, Gönderici-ID kaydı, gerekli belgeler ve içerik sınırları.

# Ülke Uyum Gereksinimleri

Mesajlaşma ve ses kuralları ülke bazında belirlenir. Yeni bir pazara göndermeden
önce dört şeyi bilmeniz gerekir: **o ülkenin hangi gönderici türlerini kabul
ettiği** (uzun kod mu? alfanümerik Gönderici ID mi? kısa kod mu?), **kayıt
gerekip gerekmediği**, **hangi belgeleri sağlamanız gerektiği** ve **hangi
içeriğin kısıtlı olduğu**. Bunu yanlış yapmak, yeni bir ülkeye ilk gönderilerin
sessizce teslim edilememesinin en yaygın nedenidir.

Orbit, bunu kendiniz derlemek zorunda kalmamanız için ülke başına derlenmiş bir
düzenleyici başvuru tutar. Bu sayfa, onu nasıl okuyacağınızı açıklar.

<Note>
  Bu başvuru, planlamanıza yardımcı olacak bir kılavuzdur; teslimat garantisi
  veya hukuki tavsiye değildir. Bir Gönderici ID'sinin veya kaydın nihai onayı,
  her ülkedeki düzenleyici veya operatör tarafından verilir, Orbit tarafından
  değil. Kapsam kiracı başına etkinleştirilir — bir ülkenin burada görünmesi,
  hesabınızda etkin olduğu anlamına gelmez.
</Note>

***

## Bir ülkenin kurallarına bakın

`GET /compliance/country-rules`, Orbit'in gönderim zamanı kapılarının
arkasındaki salt-okunur düzenleyici başvurudur. Kimliği doğrulanmış herhangi
bir kullanıcı onu çağırabilir. `channel` (varsayılan `sms`) ile ve isteğe
bağlı olarak `region` ile filtreleyin:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/country-rules?channel=sms&region=EU" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

Her satır bir ülke × kanal tanımlar:

```json theme={null}
{
  "data": {
    "rows": [
      {
        "country_code": "FR",
        "channel": "sms",
        "country_name": "France",
        "calling_code": "33",
        "region": "EU",
        "sender_types": ["alphanumeric", "long_code"],
        "registration": "recommended",
        "sender_rules": "Alphanumeric sender IDs are dynamic; no pre-registration required but recommended for consistency.",
        "content_restrictions": "Marketing SMS requires prior opt-in (GDPR). No sends 20:00–08:00 or Sundays/holidays.",
        "stop_requirement": "STOP keyword mandatory in French (STOP au 36111).",
        "two_way": true,
        "dlr_support": "full",
        "default_tps": "10",
        "notes": ""
      }
    ],
    "channel": "sms",
    "last_synced_at": "2026-06-20T00:00:00.000Z",
    "total": 1
  },
  "meta": { "request_id": "…", "timestamp": "2026-06-20T12:00:00.000Z" }
}
```

`channel` filtresi `sms`, `whatsapp`, `rcs`, `voice`, `email` ve `viber`
değerlerini kabul eder. Aynı ülkenin **kanal başına ayrı satırları** vardır,
çünkü farklı kanallar farklı düzenleyicilere bağlıdır — örneğin WhatsApp'ı
Brezilya'da Meta'nın WABA kuralları yönetirken SMS'i Anatel'in kuralları
yönetir.

***

## Her alanı okuma

| Alan                   | Size ne söyler                                                                                                                                                           |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `sender_types`         | Ülkenin hangi "from" kimliklerini kabul ettiği — aşağıdaki tabloya bakın.                                                                                                |
| `registration`         | `none`, `recommended` veya `required` — göndermeden önce bir Gönderici ID'si kaydetmeniz gerekip gerekmediği.                                                            |
| `sender_rules`         | Gönderici ID'lerinin o ülkede nasıl davrandığına dair sade-dil notları (dinamik mi ön-kayıtlı mı, numara biçimi vb.).                                                    |
| `content_restrictions` | Kategori ve izin kısıtlamaları — örn. "pazarlama opt-in gerektirir", promosyonel-içerik yasakları. Bkz. [Kısıtlı ve Yasak Sektörler](/compliance/restricted-industries). |
| `stop_requirement`     | Bir vazgeçme anahtar sözcüğünün zorunlu olup olmadığı ve hangi dilde olduğu.                                                                                             |
| `two_way`              | Gelen yanıtların desteklenip desteklenmediği.                                                                                                                            |
| `dlr_support`          | Teslimat raporu doğruluğu: `full`, `partial`, `submitted_only` veya `none`.                                                                                              |
| `default_tps`          | Varsayılan işlem hızı tavanı (saniyede mesaj).                                                                                                                           |

### Gönderici türleri

| Değer          | Anlam                                                     |
| -------------- | --------------------------------------------------------- |
| `alphanumeric` | Markalı bir metin Gönderici ID'si (örn. `MyBrand`).       |
| `numeric`      | Yönlendirilebilir uzun kod olmayan sayısal bir gönderici. |
| `long_code`    | Standart bir yerel/mobil uzun numara.                     |
| `short_code`   | Özel bir 4–6 haneli kısa kod.                             |
| `ten_dlc`      | 10DLC aracılığıyla kayıtlı bir ABD 10 haneli uzun kodu.   |
| `waba`         | Bir WhatsApp Business Account göndericisi.                |
| `rcs_agent`    | Doğrulanmış bir RCS Business Messaging aracısı.           |
| `from_address` | Bir e-posta `from` adresi (e-posta kanalı).               |

***

## `registration` seviyeleri

`registration` alanı, lansmandan önce okunacak en önemli değerdir. Orbit'in
gönderim zamanı kapısını yönlendirir:

<AccordionGroup>
  <Accordion title="none — serbestçe gönderin">
    Gönderici ID kaydı gerekmez. Kanal ve ülke hesabınızda
    etkinleştirildiğinde göndermeye başlayabilirsiniz.
  </Accordion>

  <Accordion title="recommended — şimdi gönderin, güvenilirlik için kaydolun">
    Gönderim kayıt olmadan mümkündür, ancak kayıtlı olmayan trafiğin
    filtrelenme veya yeniden etiketlenme olasılığı daha yüksektir. Teslimatı
    kararlı tutmak için Gönderici ID'sini kaydedin.
  </Accordion>

  <Accordion title="required — göndermeden önce kaydolun">
    Ülkeye ait onaylı bir Gönderici-ID kaydınız olana kadar trafik
    **engellenir**. Onaylı giriş olmadan `required` bir ülkeye yapılan A2P
    SMS, gönderim zamanı kapısı tarafından tutulur. Lansmandan önce kaydolun
    ve onay alın — bkz.
    [Gönderici-ID Kaydı](/compliance/sender-id-registration).
  </Accordion>
</AccordionGroup>

***

## Her ülkenin beklediği belgeler

Bir ülke kayıt gerektirdiğinde (veya önerdiğinde), destekleyici belgeleri bir
kez gönderir ve bir Gönderici ID'si kaydederken bunlara `doc_…` ID'leriyle
başvurursunuz. Tam küme pazara göre değişir, ancak çoğu düzenleyici şunların
bir bileşimini ister:

* **İşletme kaydı kanıtı** — kuruluş belgesi, işletme lisansı veya eşdeğeri.
* **Bir kullanım-durumu açıklaması** — ne gönderdiğiniz (işlemsel, OTP,
  pazarlama) ve kime gönderdiğiniz.
* **Marka sahipliği / yetkilendirme** — kaydettiğiniz Gönderici ID'si / marka
  adına hak sahibi olduğunuzun kanıtı.
* **Yerel vergi veya düzenleyici ID** — kaydı ulusal bir tanımlayıcıya
  bağlayan pazarlar için.

Ayrıntılar için ülke-kuralları yanıtındaki hedef ülkenin `sender_rules` ve
`content_restrictions` alanlarını okuyun, ardından kaydı gönderirken eşleşen
belgeleri ekleyin.

Bazı pazarlar, genel Gönderici-ID akışı yerine kendi özel kayıt düzenlerini
işletir:

* **Hindistan** — Gönderici ID'leri ("Headers"), içerik şablonları ve izin
  şablonları TRAI DLT portalı üzerinden kaydedilir. Bkz.
  [DLT-Hindistan Katılımı](/compliance/dlt-india).
* **Amerika Birleşik Devletleri** — A2P SMS göndericileri 10DLC aracılığıyla
  bir marka ve kampanya kaydeder. Bkz. [10DLC Kayıt kılavuzu](/guides/10dlc-registration).

***

## Yeni bir ülke için lansman kontrol listesi

<Steps>
  <Step title="Kurallara bakın">
    Hedef için `GET /compliance/country-rules?channel=<channel>` çağrısı
    yapın ve `sender_types`, `registration` ve `content_restrictions`
    alanlarını okuyun.
  </Step>

  <Step title="Kabul edilen bir gönderici türü seçin">
    O ülkenin `sender_types` listesinden bir gönderici kimliği seçin — bir
    alfanümerik Gönderici ID, bir uzun kod, bir kısa kod veya kanal-yerel
    bir gönderici (WABA / RCS aracısı).
  </Step>

  <Step title="Gerekirse kaydolun">
    `registration` `required` (veya `recommended`) ise, belgelerinizi
    yükleyin ve Gönderici ID'sini onaya gönderin. Öncü süreyi planlayın —
    bazı pazarlar günler ile haftalar arasında sürer.
  </Step>

  <Step title="İçerik kısıtlamalarını kontrol edin">
    Kullanım durumunuzun `content_restrictions` ve
    [Kısıtlı ve Yasak Sektörler](/compliance/restricted-industries) ile
    uyumlu olduğunu doğrulayın ve `stop_requirement` gerektiriyorsa gerekli
    vazgeçme anahtar sözcüğünü ekleyin.
  </Step>

  <Step title="Yayına alın">
    Ülke etkinleştirildiğinde, gönderici türü kabul edildiğinde ve gerekli
    kayıt onaylandığında göndermeye başlayın.
  </Step>
</Steps>

***

## Kurallar kaynağını koruma (platform operatörleri)

<Note>
  Bu bölüm **platform operatörleri ve kendi barındırılan dağıtımları**
  içindir. `api.orbit.devotel.io` üzerindeki SaaS müşterileri burada
  durabilir — Devotel ülke kurallarını sizin için güncel tutar ve aşağıdaki
  uç noktalar platform yöneticilerine kısıtlıdır.
</Note>

Ülke-kuralları başvurusu, zamanlanmış yukarı akış senkronizasyonları ve
manuel operatör düzenlemeleriyle beslenir. Bu bölüm, onu güncel tutmayı ve tek
bir ülkeyi güvenli şekilde düzenlemeyi kapsar. Kurallar tablosuna yazan uç
noktalar **yalnızca platform yöneticisidir** — kiracı sahipleri ve
yöneticileri `403` alır, çünkü kurallar tablosu kiracı başına veri değil,
tüm kiracılar arasında globaldir.

### Besleme kaynakları

Her satırın `sync_source` alanı, onu en son hangi beslemenin yenilediğini
kaydeder. Senkronizasyon uç noktasına altı sağlayıcı bağlanır:

| Sağlayıcı   | Ne sağlar                                                                                              | Erişim                                                                                                                                        |
| ----------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `mef`       | MEF SenderID Protection Registry — MNO imzalı gönderici-ID kuralları (en yetkili gönderici-ID kaynağı) | Ücretli Aggregator kategorisi üyeliği; `DEVOTEL_MEF_API_KEY` ayarlayın                                                                        |
| `gsma`      | GSMA SMS Hub gönderici-ID koruma kuralları                                                             | Üye portalı; `DEVOTEL_GSMA_API_KEY` ayarlayın                                                                                                 |
| `telnyx`    | Telnyx kapsama beslemesi üzerinden ülke kapsamı                                                        | `DEVOTEL_TELNYX_API_KEY` ile ücretsiz; ayarlanmamışsa Telnyx'in genel kapsama listesine geri döner                                            |
| `iconectiv` | iconectiv TCR iş ortağı beslemesi — kanonik ABD 10DLC kuralları                                        | `DEVOTEL_TCR_API_KEY` + `DEVOTEL_TCR_PARTNER_ID` ayarlayın; bkz. [10DLC kılavuzu](/guides/10dlc-registration#country-rule-feed-configuration) |
| `meta`      | Meta Business API — ülke başına WhatsApp (WABA) kullanılabilirliği                                     | WABA sistem-kullanıcı token'ıyla ücretsiz                                                                                                     |
| `itu`       | ITU WTID — ulusal düzenleyici başvuru URL'leri                                                         | Ücretsiz (atıf gerekli)                                                                                                                       |

İki komşu beslemenin kendi tabloları vardır:

* **Eski gönderici-ID matrisi için Telnyx kapsamı** — gönderici-ID uyum
  matrisinin arkasındaki okuma uç noktaları ayrı bir eski tablodan beslenir.
  `POST /api/v1/compliance/admin/sync` ile yenileyin (yalnızca yönetici; aynı
  haftalık zamanlayıcı da onu otomatik olarak yeniler).
* **Yeniden Atanmış Numaralar Veritabanı (RND)** —
  [Devre dışı bırakma taraması](/compliance/deactivation-scrub) altında
  belgelenen ABD bağlantısı kesilmiş numara kapısı. Kiracılar bunu kiracı
  başına `PUT /api/v1/compliance/rnd/settings` ile `{ "enabled": true }`
  kullanarak etkinleştirir; bir operatör dağıtıma bir RND anlık görüntüsü
  yükleyene kadar düğme açılmayı reddeder, böylece kiracılar boş bir kapıya
  katılamaz.

### Yukarı akış senkronizasyonu çalıştırın

`POST /api/v1/compliance/country-rules/sync` bir sağlayıcıdan yeniler.
Beslemeyi `?provider=` (varsayılan `telnyx`) ile seçin ve isteğe bağlı olarak
tek bir `?channel=` ile sınırlayın.

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/country-rules/sync?provider=mef&channel=sms" \
  -H "Authorization: Bearer $ORBIT_PLATFORM_ADMIN_KEY"
```

Yanıt `upstreamCount`, `updated`, `createdNew` ve bir `errors` dizisi
raporlar. **Senkronizasyon, operatör tarafından hazırlanan düzyazıyı asla
geçersiz kılmaz** — yalnızca yapısal alanlar (ülke adı, çağrı kodu, bölge,
gönderici türleri, kayıt seviyesi) yenilenir; serbest-metin alanları
(`sender_rules`, `content_restrictions`, `notes`) bir operatörün son yazdığı
şeyi korur.

### Besleme sıklığı

İki yol tabloyu güncel tutar:

* **Haftalık zamanlayıcı** — webhook-worker'ın compliance-sync adımı Telnyx,
  MEF ve GSMA beslemelerini otomatik olarak çalıştırır. Ayrıca worker
  başlangıcında bir kez çalışır, böylece yeni bir dağıtım ilk açılışta
  kendini doldurur.
* **İsteğe bağlı** — yönetici "Refresh from upstream" eylemi, anında çekme
  için yukarıdaki senkronizasyon uç noktasını çağırır (yeni bir besleme
  kimlik bilgisi sağladıktan hemen sonra yararlıdır).

Eskilik, okuma uç noktasının satırlarla birlikte döndürdüğü `last_synced_at`
ile denetlenir. Manuel düzenlemeler bunun yerine `last_reviewed_at` damgası
baser, böylece pano tek belirsiz bir zaman damgası yerine kaynak
gösterebilir ("MEF'den 3 gün önce senkronize edildi; dün operasyon tarafından
gözden geçirildi").

### Hata işleme

Her bağlayıcı **isteğe bağlı ve fail-open**: kimlik bilgisi ortam değişkeni
ayarlanmamışsa senkronizasyon bir atlama mesajı kaydeder ve `errors` içinde
bir giriş döndürür, mevcut satırlar ise yerinde kalır. Aynısı bir yukarı
akış kesintisinde de geçerlidir — yanıt hata metnini taşırken önceden
senkronize edilmiş veriler okunabilir kalır. Bunlar arama yolunda salt-okunur
meta veri beslemeleridir; bir besleme kapalıyken giden mesajlaşma normal
göndericiniz üzerinden yönlendirilmeye devam eder.

<Warning>
  Senkronizasyon sağlayıcıları yalnızca kapsama meta verilerine dokunur.
  Asla bir taşıma yolu değildirler — giden mesajlaşmayı burada listelenen
  kapsama beslemelerinden herhangi biri üzerinden yönlendirmeyi denemeyin.
</Warning>

### Tek bir ülkeyi düzenleme

`PUT /api/v1/compliance/country-rules/:channel/:country_code`, tek bir
ülke × kanal satırını upsert eder (yoksa oluşturur, varsa günceller). Hiçbir
beslemenin taşımadığı ayrıntıları sağlamak için kullanın — örneğin düzenleyici
metninden alınan STOP anahtar sözcüğü ifadesi veya işlem hızı sınırları.
Platform yöneticisi kimlik bilgileri gereklidir; kiracı yöneticileri `403`
alır.

```bash theme={null}
curl -X PUT "https://api.orbit.devotel.io/api/v1/compliance/country-rules/sms/FR" \
  -H "Authorization: Bearer $ORBIT_PLATFORM_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "country_name": "France",
    "calling_code": "33",
    "region": "EU",
    "sender_types": ["alphanumeric", "long_code"],
    "registration": "recommended",
    "sender_rules": "Alphanumeric sender IDs are dynamic.",
    "content_restrictions": "Marketing SMS requires prior opt-in.",
    "stop_requirement": "STOP keyword mandatory in French.",
    "two_way": true,
    "dlr_support": "full",
    "default_tps": "10",
    "notes": ""
  }'
```

Düzenlenebilir alanlar: `sender_types`, `registration` (`none` /
`recommended` / `required`), `sender_rules`, `content_restrictions`,
`stop_requirement`, `two_way`, `dlr_support`, `default_tps`, `notes` ve
`sources` (bir `[{ label, url }]` atıf bağlantıları listesi). Upsert,
`last_reviewed_at` damgası basar ve satırı `sync_source: manual` olarak
işaretler, böylece sonraki bir otomatik senkronizasyon yalnızca yapısal
alanları yeniler ve düzyazınızı bırakır.

### Bir ülkeyi canlıya almadan önce doğrulama kontrol listesi

Bir ülkeyi gönderim için açmadan önce şunları doğrulayın:

<Steps>
  <Step title="Taze senkronizasyon damgası">
    `last_synced_at` (veya eski matris için `last_verified_at`) yenidir —
    değilse etkinleştirmeden önce ilgili sağlayıcı için isteğe bağlı
    senkronizasyonu çalıştırın.
  </Step>

  <Step title="Doğru kayıt seviyesi">
    `registration` ayarlıdır (`none` / `recommended` / `required`).
    `required` bir ülke, kayıtlı olmayan trafiği gönderim zamanında
    engeller, bu nedenle kaçırılan bir kayıt incelemesi gecikmiş değil,
    başarısız gönderiler demektir.
  </Step>

  <Step title="Düzyazı alanları gözden geçirildi">
    `stop_requirement` ve `content_restrictions`, olması gerekeni söylüyor —
    beslemeler yalnızca yapıyı yenilediği için düzyazı bir operatör
    tarafından ayarlanmalıdır.
  </Step>

  <Step title="Gönderici türü kabul edildi">
    Ülkenin `sender_types` listesinden en az biri, göndermeyi planladığınız
    şeyle eşleşiyor.
  </Step>

  <Step title="İlgili kapılar yüklendi">
    Hedefin bir RND veya DLT kapısı varsa (ABD RND, Hindistan DLT), bu
    beslemenin de yüklü olduğunu doğrulayın — bkz.
    [Devre dışı bırakma taraması](/compliance/deactivation-scrub) ve
    [DLT-Hindistan Katılımı](/compliance/dlt-india).
  </Step>
</Steps>

***

## İlgili başvurular

* [Kısıtlı ve Yasak Sektörler](/compliance/restricted-industries) — hangi
  sektörlerin ve içeriğin kısıtlı veya yasak olduğu.
* [Gönderici-ID Kaydı](/compliance/sender-id-registration) — ülke başına
  Gönderici-ID kayıtlarını gönderin ve izleyin.
* [DLT-Hindistan Katılımı](/compliance/dlt-india) — Hindistan'ın TRAI DLT
  düzeni.
* [10DLC Kaydı](/guides/10dlc-registration) — ABD A2P marka ve kampanya
  denetimi (operatörler için ülke-kural besleme yapılandırması dahil).
* [Send Gates](/compliance/send-gates) — bu kuralları gönderim zamanında
  uygulayan kapılar.
* [Göndermeden önce ağ sinyalleri](/guides/network-signals-open-gateway) —
  yeni bir hedefe ilk gönderiden önce alıcıları operatör-onaylı SIM-swap,
  dolaşım ve risk sinyalleriyle tarayın.
* [API Başvurusu → Uyum](/api-reference/endpoints/compliance) — tam
  istek/yanıt şemaları.
