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

# DNC Taraması: Kaynaklar, Güncellik ve Kontrol Ucu

> Eksiksiz bir Do-Not-Call (Arama Yapma) duruşu yapılandırın — organizasyon düzeyindeki opt-in'i etkinleştirin, senkronize verilerin nereden geldiğini anlayın, kontrol ucunun source ve freshness alanlarını okuyun ve fail-open uyarısının trafiğiniz için ne anlama geldiğini öğrenin.

# DNC Taraması: Kaynaklar, Güncellik ve Kontrol Ucu

DNC taraması, gönderimden önce tek bir soruyu yanıtlar: **bu numara,
kendisiyle iletişime geçilmesini engelleyen veya kısıtlayan bir listede
mi?** Orbit; kendi listelerinizi (kişi işaretleri, DNC kayıtları,
suppression, consent), platform genelindeki listeyi, ABD federal/eyalet/TCR
feed'lerini ve birkaç uluslararası ulusal kaydı kontrol eder — ve gönderim
yolunun uyguladığı zincirin aynısı bir API olarak okunabilirdir; böylece
soğuk bir listeyi ihlal riskli bir gönderim olmadan ön uçuştan geçebilirsiniz.

Bu sayfa uçtan uca resimdir: tarama ne zaman önemlidir, nasıl etkinleştirilir,
senkronize veriler nereden gelir, kontrol ucunun `source` ve
`last_synced_at` alanları nasıl okunur ve yönetmeniz gereken tek fail-open
uyarısı. Sonucu tüketen gönderim-zamanı kapıları için bkz.
[Gönderim Kapıları](/compliance/send-gates).

Aşağıdaki tüm uçlar şu kök üzerindedir:
`https://api.orbit.devotel.io/api/v1/compliance`.

<Warning>
  Bu sayfa Orbit'in platform kontrollerini açıklar. **Yasal tavsiye
  değildir.** Belirli bir numaranın sizin için yasak olup olmadığı;
  yetki alanınızı, alıcılarınızı ve gönderdiğiniz şeyi bağlıdır.
  Nitelikli danışmanla doğrulayın.
</Warning>

***

## DNC taraması ne zaman önemlidir

DNC yükümlülükleri birden fazla kayıttan gelir ve katmanlanır:

* **ABD federal DNC (FTC Ulusal Kaydı).** Federal kayıtlı bir numaraya
  yapılan telemarketing aramaları ve pazarlama metinleri kısıtlıdır; herhangi
  bir giden kampanyadan önce federal kayda karşı tarama temel savunmadır.
* **ABD eyalet kayıtları.** Birçok eyalet, federal listenin üzerine kendi
  DNC listelerini işletir. Bir numara federal olarak yok olabilir ancak örneğin
  Pensilvanya'da kayıtlı olabilir — bu yüzden yalnız federal tarama ABD trafiği
  için eksiktir.
* **TCR Universal Opt-Out.** The Campaign Registry'nin evrensel opt-out
  listesi, kayıt düzeyinde A2P mesajlaşmasından vazgeçmiş numaraları yakalar.
  Bunu uymak, kendi suppression listenizden bağımsız olarak ABD 10DLC
  mesajlaşma hijyeninin bir parçasıdır.
* **Uluslararası ulusal kayıtlar.** ABD dışında, eşdeğer ulusal listeler
  uygulanır — Birleşik Krallık TPS ve CTPS, Avustralya'nın Do Not Call
  Register, Hindistan'ın NDNC'si. Bunlar yetki alanına göre: İngiltere
  kampanyasını İngiliz kayıtları karşısında tararsınız; bu yüzden kontrol
  ucu `country` filtresi kabul eder (aşağıda).

Bunların hiçbiri kendi suppression katmanınızın yerine geçmez — bizzat size
STOP yanıtı vermiş bir alıcı, herhangi bir ulusal kayıt ne olursa olsun
kısıtlıdır. Tarama zinciri, suppression'nızı, consent opt-out'larınızı ve
ulusal kayıtları tek bir birleşik yanıt olarak ele alır.

***

## Kiracı (tenant) toggle'ını etkinleştirin

Kontrol ucu, organizasyon başına **varsayılan olarak kapalıdır**. Opt-in
yapılıncaya — veya Orbit'in platform için senkronize bir feed'i oluncaya kadar —
uc şunu döner: `403 DNC_SYNC_NOT_ENABLED`:

```json theme={null}
{
  "error": {
    "code": "DNC_SYNC_NOT_ENABLED",
    "message": "DNC check endpoint requires the per-org opt-in flag ...",
    "status": 403
  }
}
```

Bunu organizasyonunuzun uyum ayarlarında açın
(`dnc_sync_enabled` ayarı — bu toggle'ı ve varsayılanını listeleyen
[duruş haritasına](/compliance/posture-overview) bakın). Tek bir çevirme
hem tek-numara kontrolünü hem de toplu taramayı etkinleştirir.

<Note>
  **Feed'ler senkronize edildikten sonra kapı otomatik olarak devre dışı
  kalır.** Organizasyon toggle'ı, federal bir feed senkronize edilene kadar
  Orbit'in FTC kaydına karşı tarama yapmadığının kabulüdür. Platformun bir
  federal/eyalet/TCR (veya uluslararası) snapshot'ı senkronize edildikten
  sonra uç doğrudan hizmet verir ve 403 kapısı artık uygulanmaz — her
  yanıttaki `federal_feeds_synced` alanı hangi durumda olduğunuzu söyler.
  Gönderim yolundaki kendi DNC, suppression ve consent uygulamanız her iki
  durumda da etkilenmez.
</Note>

***

## Liste nereden gelir (feed bağlantısı)

Senkronize DNC verileri, platform genelindeki DNC listesine günlük olarak
yenilenen yukarı akış feed'lerinden gelir. Bir operatörün yapılandırdığı şey,
kontrol ucundan geri gördüğünüz `source` değerlerinin hangilerini göreceğinizi
belirler.

**Bunlar operatör düzeyinde çevre değişkenleridir.** Orbit'in barındırılan
(SaaS) platformunda sizin için ayarlanır; SaaS operatörü hangi feed'lerin
canlı olduğunu kontrol eder. Yalnızca Orbit'i kendi kendinize barındırıyorsanız
size doğrudan ilgilidir — bu durumda bunları dağıtımınızda yapılandırın:

* **`DEVOTEL_DNC_FEED_FILE`** — tedarik edilen bir federal/eyalet/TCR
  snapshot'ı içeren bir bağlı volume. Günlük senkronizasyon bunu okur, her
  opt-out olan numarayı ayrıştırır ve onu kaynağıyla (`federal_dnc`,
  `state_dnc:XX` veya `tcr`) etiketleyerek platform DNC listesine upsert eder.
* **`DEVOTEL_DNC_FEED_URL`** — bağlı dosyaya alternatif olarak aynı snapshot'ın
  kimliği doğrulanmış indirmesi. Her ikisi de ayarlandığında dosya öncelik
  alır.

Senkronizasyon **UTC gününde bir kez** çalışır (feed'ler iş gününde bir kez
yayınlanır; çalışma 03:00 UTC'yi hedefler, böylece sabah gönderim penceresi
taze veri görür). Aynı snapshot'ın yeniden çalıştırılması, zaman damgasını
yenilemekten öte bir no-op'tur — upsert idempotent'tır.

**Geri dönüş: doğrudan TCR çekim.** Snapshot dosyası/URL'si yapılandırılmadığı
ancak ücretli TCR ortak kimlik bilgileri ayarlandığı zaman — `DEVOTEL_TCR_API_KEY`
ile birlikte `DEVOTEL_TCR_PARTNER_ID` — günlük senkronizasyon TCR Universal
Opt-Out kaydını doğrudan ortak API'den çeker ve onu `source: "tcr"` olarak
upsert eder. Bu, out-of-band CSV olmadan mevcut TCR aboneliğinden TCR taramasını
sağlar.

<Note>
  Günlük senkronizasyonun platform DNC listesine yazdığı snapshot'ın aynısı,
  API tarafından da önyükleme sırasında belleğe yüklenir, böylece kontrol ucu
  federal/eyalet/TCR aramasını sonraki günlük yazmayı beklemeden yanıtlayabilir.
  Yanıttaki `federal_feeds_synced: true` bu bellek-içi feed'in canlı olduğunu
  gösterir.
</Note>

***

## Kontrol ucunu okuyun

`GET /compliance/dnc/check`, bir E.164 numarasının gönderim yolunun
uyguladığı herhangi DNC kaynağında olup olmadığını bildirir. Yalnız okumadır —
gönderim yapmaz.

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/dnc/check?phone=%2B14155550101" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

Bir isabet şunu döner:

```json theme={null}
{
  "on_dnc": true,
  "source": "federal_dnc",
  "last_synced_at": "2026-08-26T03:00:12.441Z",
  "jurisdictions": ["US Federal DNC"],
  "federal_feeds_synced": true,
  "intl_feeds_synced": false
}
```

Temiz bir numara şunu döner: `"on_dnc": false`, `"source": "none"` ve
boş bir `jurisdictions`.

Duruşu taşıyan alanlar:

* **`source`** — ilk isabeti üreten kaynak; şunlardan biri:
  `federal_dnc`, `state_dnc` (bir ABD eyalet kaydı), `tcr` (TCR
  Universal Opt-Out), `intl_dnc` (bir uluslararası ulusal kayıt),
  `suppression` (kendi suppression katmanınız) veya `none` (hiçbir
  listede değil). `jurisdictions`, **tüm** eşleşen kökenleri listeler,
  yani hem federal kayıtta hem de eyalet kaydında olan bir numara her ikisini
  de gösterir.
* **`last_synced_at`** — eşleşen kaynağın tazelik zaman damgası: federal/
  eyalet/TCR snapshot'ı (veya isabet eden satır) en son ne zaman senkronize
  edildi. Günlük senkronizasyon her çalışmada bir heartbeat satırı damgasını
  atar, böylece bu alan feed-destekli kaynaklar için her zaman bir
  "son senkronize" sinyali taşır ve hiçbir satır eşleşmediğinde susmaz.
  Kendi suppression/consent kaynaklarınızın senkronizasyonu yoktur, bu yüzden
  yalnız suppression isabeti için alan opt-out olayının kendisini yansıtır.
* **`federal_feeds_synced` / `intl_feeds_synced`** — API'nin gerçekten bir
  ABD federal/eyalet/TCR snapshot'ı ve uluslararası ulusal-kayıt snapshot'ı
  ingest etmiş olup olmadığı, sırasıyla. Bunları her yanıtta okuyun:
  "numara temiz" ile "numara temiz **ve** federal tarama bu yanıtı destekledi"
  arasında ayrım yaparlar.

**Yetki alanına göre filtre.** Uluslararası kayıt aramasını tek bir yetki
alanıyla sınırlandırmak için `country` (ISO alpha-2) ekleyin:

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/dnc/check?phone=%2B442071838750&country=GB" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

`country=GB` ile yalnızca İngiltere kayıtları (TPS/CTPS) uluslararası eşleşme
üretebilir — İngiltere'ye yönelik bir kampanya ilgisiz bir ülkenin kaydında
asla işaretlenmez.

**Toplu.** Tüm bir listeyi veya kampanya izleyicisini tek bir çağrıda
taramak için `POST /compliance/dnc/scrub` ile bir `phones` dizisi kullanın
(istek başına en fazla 500 numara; mükerrerler kaldırılır). Numara başına
aynı zinciri çalıştırır ve numara başına yanıtlarla birlikte `on_dnc` /
`clear` sayılarını döner. Aynı organizasyon kapısı uygulanır.

***

## Gönderim tarafı bunu nasıl tüketir

Kontrol ucu, gönderim yolunun **uyguladığı** zincirin aynısının bir
**okumasıdır**. Taramayı gönderimlerinize siz bağlamazsınız — Orbit zaten
bağlar:

* **Mesajlaşma (SMS / MMS / WhatsApp / …).** Gönderimden önce, gönderim yolu
  "bu alıcı opt-out mu?" sorusunu aynı DNC kaynakları karşısında yanıtlar —
  kişi DNC işaretiniz, DNC listeniz, suppression listesi (kanallar-arası STOP
  sinyali), platform genelindeki DNC listesi (günlük federal/eyalet/TCR feed'in
  indiği yer) ve kayıtlı consent opt-out'ları. Bir isabet gönderimi düşürür.
* **Ses / arayan.** Arayan, bir aramayı başlatmadan önce aynı uyum zincirini
  çalıştırır — kanallar-arası STOP, kişi DNC, platform DNC ve consent —
  böylece SMS ile opt-out yapan bir numara sonra sesle aranmaz. Gönderim
  yolu **kapalı şekilde başarısız olur**: uyum kontrolunu kendisi
  tamamlanamazsa, arama aranmadan önce ertelenir.

Yani uçun işi zorlama değil, ön-uçuştur: soğuk bir listeyi kampanyadan
**önce** (veya toplu taramayı) sorgulayın, kapı zaten engelleyeceği numaraları
kaldırmak için — ve kendi kayıtlarınız için onları yüzeye çıkarmak için.

***

## Fail-open uyarısı

Okuma ucu **kaynak katmanında fail-open'dır**: bir DNC kaynağı sorgulanamadığı
zaman, kontrol diğerlerine devam eder ve elde edebildiği en iyi yanıtı döner.
Anlamanız gereken somut sonuç:

> **Federal feed senkronize edilene kadar, yalnızca FTC federal kaydında olan
> bir numara temiz olarak okunur** (`on_dnc: false`).

Ucu neden siz opt-in yapıncaya kadar kapılandırılmıştır ve
`federal_feeds_synced` neden her yanıtta gezilir budur. İki operasyonel kural
izler:

1. **`federal_feeds_synced: true` olmadıkça temiz bir sonucu federal
   safe-harbor olarak görmeyin.** `federal_feeds_synced: false` ile temiz bir
   yanıt yalnızca kendi listelerinizin, suppression'in, consent'in ve platform
   listesinin numarayı işaretlemediği anlamına gelir.
2. **Katı kapı gönderim yoludur.** Okuma yolu tasarım olarak fail-open'dır;
   gönderim yolu değildir. Ön-uçuş sorgusundan gelen yanlış negatif asla bir
   gönderime dönüşmez — gönderim-zamanı zincir aynı kaynakları yeniden kontrol
   eder ve bulduğunu engeller.

Orbit'in SaaS'ında `federal_feeds_synced: false`'u "henüz federal tarama bu
yanıtı desteklemiyor" olarak değerlendirin ve bunu ABD kampanyasınız için
ön-uçuşa ne kadar güvendiğinizi tartırken göz önünde bulundurun. Kendi
kendine barındıranlar, bir feed yapılandırarak (yukarıda) boşluğu kapatır.

***

## Kampanyadan önce doğrulama

Kampanya izleyicisini toplu taramayla ön-uçuştan geçirin, sonra yanıtlara
göre hareket edin:

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/dnc/scrub" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phones": ["+14155550101", "+442071838750", "+14155550101"],
    "country": "GB"
  }'
```

```json theme={null}
{
  "results": [
    { "phone": "+14155550101", "on_dnc": true, "source": "federal_dnc", "jurisdictions": ["US Federal DNC"] },
    { "phone": "+442071838750", "on_dnc": false, "source": "none", "jurisdictions": [] }
  ],
  "summary": { "total": 2, "on_dnc": 1, "clear": 1, "duplicates_removed": 1 },
  "federal_feeds_synced": true,
  "intl_feeds_synced": false
}
```

Gönderimden önce `on_dnc: true` olan numaraları izleyiciden kaldırın. Hangi
kayıtların yanıtları gerçekten desteklediğini bilmek için aynı yanıttaki
`federal_feeds_synced` / `intl_feeds_synced` alanlarını kontrol edin ve verinin
taze olduğunu doğrulamak için sonuç başına `last_synced_at` alanına bakın.
Daha büyük bir liste için, 500 numaralık parçalar halinde sayfalayın.

***

Ayrıca bakınız:

* [Gönderim Kapıları](/compliance/send-gates) — sessiz-saatler / DNC / RND /
  RMD gönderim-zamanı kapıları ve acil durum durdurması.
* [TCPA Bilinen-Davacı Kapısı](/compliance/tcpa-known-litigator) — ABD TCPA
  riski için DNC taramasını tamamlayan alıcı-köken kontrolu.
* [Toplu DNC Ön-Uçuş Taraması](/guides/dnc-preflight-scrub) — toplu tarama
  etrafındaki kampanya iş akışı: kapılama, parçalama ve işaretlenen numaraların
  yönlendirilmesi.
* [Opt-Out ve Suppression Listeleri](/compliance/opt-out-suppression) — bir
  alıcının STOP'unun DNC zincirinin okuduğu suppression katmanına nasıl indiğini.
* [Kiracınızın Uyum Duruşu](/compliance/posture-overview) — toggle haritası,
  bu sayfanın `dnc_sync_enabled` satırı dahil.
