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

# FCC Robocall Mitigation Database (RMD): Dosya Yaşam Döngüsü

> FCC Robocall Mitigation Database dosyanızı hazırlama, gönderme, onaylama, düzeltme ve geri çekme — yaşam döngüsü durumları, endpoint'ler, arama anı origination uygulama modları ve yeniden onay saati.

# FCC Robocall Mitigation Database (RMD)

FCC'nin Robocall Mitigation Database'i (RMD), arama başlatan her ABD ses
hizmet sağlayıcısının dosya yapması gereken kamuya açık kayıttır.
47 CFR § 64.6305 altında, dosyanız STIR/SHAKEN uygulama düzeyinizi ve — tam
STIR/SHAKEN dağıtmamış herhangi bir sağlayıcı için — yürüttüğünüz
robocall-mitigation programının açıklamasını beyan eder. Sonlandırma
taşıyıcıları, veritabanında olmayan veya eksik olan sağlayıcılardan gelen
trafiği reddetmek zorundadır, bu yüzden eksik veya güncel olmayan bir dosya,
giden aramalarınızın aşağı akışta engellenmesinin veya etiketlenmesinin
doğrudan nedenidir.

Orbit size bu yükümlülük için kayıt tutma yüzeyini verir: dosyayı
hazırlamak, onu gönderilmiş ve yayımlanmış olarak işaretlemek, eksiklikleri
işaretleyip çözmek ve yeniden onay saatini izlemek için bir yer — artı kendi
giden origination'ınıza uygulayabileceğiniz opt-in bir arama anı kontrolü.
FCC'ye dosyalama kendisi ve yol boyunca her yaşam döngüsü kararı sizde kalır.

Aşağıdaki tüm endpoint'ler
`https://api.orbit.devotel.io/api/v1/compliance` kökündedir. Aynı yüzey,
dashboard'da **Settings → Compliance → RMD** altında da mevcuttur ve aynı
API'yi sürer.

<Warning>
  Bu sayfa Orbit'in izleme yüzeyini açıklar. **Hukuki tavsiye değildir.**
  Dosya yapmanız gerekip gerekmediği, dosyanızın ne içermesi gerektiği ve
  ne kadar güncel kalması gerektiği ağınıza ve trafiğinize bağlıdır —
  nitelikli hukuk danışmanınızla doğrulayın.
</Warning>

***

## Yaşam döngüsü durumları

Bir RMD kaydı beş durumdan geçer. `withdrawn` terminal değildir — geri
çekilmiş bir dosya, yeniden dosyaladığınızda `draft`'a yeniden açılabilir.

| Kaynak \ Hedef | `submitted` | `active` | `remediation_required` | `withdrawn` | `draft` |
| - | - | - | - | - | - |
| `draft` | Evet | — | — | Evet | — |
| `submitted` | — | Evet | — | Evet | Evet |
| `active` | — | — | Evet | Evet | — |
| `remediation_required` | — | Evet | — | Evet | — |
| `withdrawn` | — | — | — | — | Evet |

* `draft` — dosya hazırlanıyor; hiçbir şey gönderilmedi.
* `submitted` — FCC RMD portalına dosyalanmış, yayınlanmayı bekliyor.
* `active` — RMD'de yayımlanmış; yeniden onay saati çalışıyor.
* `remediation_required` — bir sonlandırma taşıyıcısı veya FCC, düzeltmeniz
  gereken bir eksiklik işaretledi.
* `withdrawn` — dosya geri çekilmiş veya yerine geçilmiş.

Geçersiz bir istek (örneğin `draft`'tan onaylama veya bir `active` dosyayı
yerinde düzenleme) `RMD_INVALID_TRANSITION` ile `409` döndürür. Henüz var
olmayan bir kayda karşı yapılan istek `RMD_NOT_FOUND` ile `404` döndürür.

### Yeniden onay saati

Bir dosya `active` durumuna ulaştığında, bir gözden geçirme son tarihi
`certified_at` artı `recert_interval_days`'inizden (varsayılan 365; 3650'ye
kadar ayarlanabilir) hesaplanır. Her `GET /compliance/rmd`, kaydı canlı bir
hükümle açıklar:

| `recertification.status` | Anlamı |
| - | - |
| `current` | Aktif ve gözden geçirme tarihinden rahatça önce. |
| `due_soon` | Aktif, gözden geçirme tarihine 30 gün içinde. |
| `overdue` | Aktif, gözden geçirme tarihi geçmiş (`overdue: true`). |
| `not_certified` | Henüz aktif değil, bu yüzden saat çalışmıyor. |
| `withdrawn` | Dosya geri çekilmiş; saat çalışmıyor. |

İki farklı kadans etrafında plan yapın: FCC, herhangi bir değişiklikten
sonra **10 iş günü** içinde bir dosyayı güncellemenizi bekler (okuma
yanıtında `update_window_business_days` olarak döndürülür) ve çoğu operatör
yıllık olarak yeniden onaylar — yukarıdaki 365 günlük varsayılan, yıllık
kadansı izler.

***

## Endpoint'ler

Tüm yazmalar **owner veya admin** rolü gerektirir; okuma, kimliği
doğrulanmış her üyeye açıktır.

| Yöntem + yol | Ne yapar |
| - | - |
| `GET /compliance/rmd` | Kaydı (yoksa null), canlı yeniden onay hükmünü ve geçerli uygulama modunu getirir. |
| `POST /compliance/rmd` | **draft** kaydını oluşturur veya günceller (upsert). Yalnızca dosya `draft` veya `withdrawn` iken izin verilir; dosyalanmış bir kayıt, aşağıdaki yaşam döngüsü endpoint'leri aracılığıyla değiştirilir. |
| `POST /compliance/rmd/submit` | `draft` → `submitted`. FCC dosya referansını kaydeder. |
| `POST /compliance/rmd/certify` | `submitted` → `active`. Yayınlanmayı kaydeder ve yeniden onay saatini başlatır. |
| `POST /compliance/rmd/remediation` | `active` → `remediation_required`. İşaretlenen eksikliği kaydeder. |
| `POST /compliance/rmd/resolve` | `remediation_required` → `active`. Eksikliği temizler ve saati yeniden başlatır. |
| `POST /compliance/rmd/withdraw` | herhangi bir terminal olmayan durum → `withdrawn`. |
| `PUT /compliance/rmd/enforcement` | Arama anı origination uygulama modunu ayarlar: `off` (varsayılan), `warn` veya `enforce`. |

***

## Yaşam döngüsünü adım adım çalıştırma

### 1. Taslağı oluşturun veya güncelleyin

Dosyalamadan önce taslağı oluşturun. Beyan ettiğiniz STIR/SHAKEN düzeyi,
bir robocall-mitigation planının zorunlu olup olmadığına karar verir:
`partial` veya `none` ile `mitigation_plan` sağlamalısınız; `complete` ile
isteğe bağlıdır.

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "company_name": "Acme Communications LLC",
    "ocn": "1234",
    "business_address": "100 Market Street, San Francisco, CA 94105",
    "stir_shaken_status": "complete",
    "contact_name": "Jordan Lee",
    "contact_email": "compliance@acme.example",
    "contact_phone": "+14155550101",
    "recert_interval_days": 365
  }'
```

Taslağı düzenlemek için aynı biçimi yeniden `POST` edin. Dosya gönderildikten
sonra, yerinde düzenlemeler reddedilir (`409 RMD_LOCKED`) ve bunun yerine
yaşam döngüsü endpoint'leri aracılığıyla taşırsınız.

### 2. Dosyayı gönderin

FCC RMD portalına dosyaladıktan sonra, gönderimi kaydedin — isteğe bağlı
olarak FCC onay referansıyla:

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd/submit" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filing_reference": "RMD-2026-004123"}'
```

Taslak zorunlu bir parçayı eksikse gönderim `409 RMD_INCOMPLETE` ile
reddedilir — en yaygın olarak, `stir_shaken_status` `complete` olmadıkça
zorunlu olan mitigation planı. `details` dizisi her engelleyiciyi adlandırır.

### 3. Yayınlanmayı onaylayın

Dosya veritabanında yayımlandığında, onu aktif olarak işaretleyin. Bu
`certified_at`'ı ayarlar ve gözden geçirme saatini başlatır:

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd/certify" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filing_reference": "RMD-2026-004123"}'
```

### 4. Bir eksikliği işaretleyin ve çözün

Bir sonlandırma taşıyıcısı veya FCC dosyanızla ilgili bir sorun işaretlerse,
eksikliği kaydedin (neden zorunludur) ve düzeltildikten sonra çözün.
Çözmek, dosyayı `active` durumuna döndürür ve saati çözme tarihinden yeniden
başlatır.

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd/remediation" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Terminating carrier reports the contact email on file bounces."}'
```

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd/resolve" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notes": "Contact email corrected and re-filed with the FCC."}'
```

### 5. Geri çekin

Bir dosya yerine geçtiğinde veya artık geçerli olmadığında, onu geri çekilmiş
olarak işaretleyin:

```bash theme={null}
curl -X POST "https://api.orbit.devotel.io/api/v1/compliance/rmd/withdraw" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notes": "Superseded by the restructured entity filing."}'
```

Geri çekme geri alınabilir: geri çekilmiş bir dosyada `POST /compliance/rmd`,
onu `draft`'a yeniden açar (orijinal id'yi ve oluşturma zamanını tutar) ve
yaşam döngüsünü tekrar yürürsünüz.

### 6. Geçerli durumu tek çağrıda geri okuyun

```bash theme={null}
curl "https://api.orbit.devotel.io/api/v1/compliance/rmd" \
  -H "Authorization: Bearer $ORBIT_API_KEY"
```

Yanıt; kaydı, `due_at` ve `days_remaining` ile canlı `recertification`
hükmünü, efektif `enforcement` modunu ve FCC'nin değişiklik sonrası
güncelleme penceresi için `update_window_business_days`'i taşır.

***

## Arama anı origination uygulaması

Dosyayı izlemek "RMD durumumuz nedir?" sorusunu yanıtlar. İkinci, opt-in bir
katman "bu durum göz önüne alındığında şu an origination yapmalı mıyız?"
sorusunu yanıtlar. Ses ön-origination koruyucusu, bir giden arama
yapılmadan önce **başlatan** organizasyonun dosyasını kontrol eder — alıcıyı
değil — ve ayarladığınız modu uygular:

| Mod | Origination'da davranış |
| - | - |
| `off` | Koruyucu inaktif — varsayılan. Hiçbir şey işaretlenmez veya engellenmez. |
| `warn` | Güncel olmayan bir dosya günlüğe yazılır ve izinizde işaretlenir, ancak arama devam eder. `enforce`'a bağlanmadan önce bunu kuru bir çalıştırma olarak kullanın. |
| `enforce` | Güncel olmayan bir dosya, origination'ı nedeni adlandıran bir `403 RMD_NOT_CURRENT` hatasıyla engeller. |

Modu bir kez ayarlayın; değiştirene kadar organizasyonunuzdaki her giden ses
origination'ına uygulanır:

```bash theme={null}
curl -X PUT "https://api.orbit.devotel.io/api/v1/compliance/rmd/enforcement" \
  -H "Authorization: Bearer $ORBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "enforce"}'
```

Bir dosya **güncel değildir** — `warn` altında işaretlenir, `enforce`
altında engellenir — dört durumda:

| `RMD_NOT_CURRENT` ayrıntı kodu | Nedeni |
| - | - |
| `RMD_NOT_REGISTERED` | Hiçbir dosya başlatılmamış. |
| `RMD_NOT_ACTIVE` | Dosya draft, submitted veya withdrawn — RMD'de yayımlanmamış. |
| `RMD_REMEDIATION_REQUIRED` | Dosyada açık bir eksiklik işaretlenmiş. |
| `RMD_RECERT_OVERDUE` | Dosya aktif ancak yeniden onay gözden geçirme tarihini geçmiş. |

Koruyucunun iki bilinçli davranışı:

* **Açık başarısız olur.** Arama anında organizasyon ayarlarınızın okuması
  hata verirse, arama devam eder — bir arama hatası asla aramayı kırmamalıdır.
  Alıcıya dönük kapılar (DNC taraması, sessiz saatler) kapalı başarısız
  düzenleyici destektir; bu koruyucu kendi dosyanızla ilgilidir.
* **Önizleme yolları asla fırlatmaz.** Kuru çalıştırma origination yolları
  aynı hükmü değerlendirir ancak onu bir bayrak olarak yüzeye çıkarır, böylece
  araçlar "bu arama `enforce` altında tutulur mu?" sorusunu engelleme olmadan
  önizleyebilir.

***

## Tasarım gereği tenant'a ait

RMD yüzeyi, Orbit'in uyumluluk duruşu kuralını izler: dosyalama **sizin
kararınızdır**, asla platform tarafından zorunlu kılınan bir kapı değildir.
Hiçbir şey sizin için FCC'ye dosya yapmaz, `enforce` ayarlamadıkça hiçbir
şey trafiğinizi engellemez ve varsayılan mod `off`'tur. Orbit dosya durumunu
kaydeder, son tarihleri hesaplar ve seçtiğiniz duruşu uygular — yükümlülük
ve yukarıdaki her yaşam döngüsü çağrısı organizasyonunuzda kalır. Tek
platform düzeyi istisna, [Tenant'a açık olmayanlar](/compliance/posture-overview)
'dokümante edilen kampanya/ara TCPA 08:00–21:00 alıcı-yerel penceresidir —
RMD uygulama modu onun parçası değildir.

***

## İlgili referanslar

* [Gönderim Kapıları](/compliance/send-gates) — origination koruyucusunun
  birlikte okuduğu tam giden kapı yığını.
* [STIR/SHAKEN attestation](/channels/voice/stir-shaken) — arayan kimliği
  duruşu; RMD dosyasında beyan ettiğiniz düzey.
* [ITG Traceback](/compliance/itg-traceback) — eşlik eden robocall
  yükümlülüğü: Industry Traceback Group taleplerine yanıt verme.
* [Tenant Uyumluluk Duruşunuz](/compliance/posture-overview) — bu yüzeyin
  toggle haritasında nerede durduğu.
