10DLC Kayıt Sihirbazı
Sihirbaz, TCR marka ve kampanya kaydını tamamlamanın önerilen yoludur. Doğrusal tek seferlik akışı rehberli, sürdürülebilir bir sürece dönüştürür:- Kaydet ve sürdür — taslağınız oturumlar, sekmeler ve haftalar arasında kalır. Sekmeyi kapatın veya yarın geri dönün; kaldığınız yerden devam edersiniz.
- Adımlar arasında doğrusal olmayan şekilde hareket edin — sihirbaz
brand,campaignvereviewadımlarını bağımsız olarak takip eder. Marka bölümü hâlâ eksikken kampanya örneklerini doldurun, ilerleme yükü iki sayımı da korur. - Ödemeden önce doğrulayın — her kayıtta alan başına doğrulama çalışır ve gönderim öncesi bir lint turu, yukarı akış kayıt ücreti ödenmeden önce kaydedilen taslağı bilinen TCR reddetme kalıplarına karşı puanlar.
Sihirbaz yalnızca organizasyonunuzun kendi taslak deposuna yazar. Hiçbir mesaj trafiğini tutmaz, kapıda bekletmez veya yönlendirmez.
/api/v1/compliance/10dlc/wizard altında yaşar. Tam olarak marka ve kampanya uç noktalarında olduğu gibi API anahtarınızla kimlik doğrulayın.
Roller ve oran sınırları
- Okumalar (
GET /wizard,GET /wizard/draft) — organizasyondaki her doğrulanmış rol. - Yazmalar (
PUT /wizard/draft,DELETE /wizard/draft,POST /wizard/phone/send,POST /wizard/phone/confirm,POST /wizard/preflight,POST /wizard/submit) — sahip veya admin rolü. - Yazma profili: dakikada 10 istek, eski brand/campaign uç noktalarıyla eşleşir. Sihirbaz ön kontrolü: dakikada 30 istek, isteğe bağlı ön kontrol uç noktasıyla eşleşir.
GET /10dlc/wizard — ilerleme yükü
Panelin “Kaldığınız yerden devam edin” şeridine dayanak olarak kullandığı hesaplanmış ilerleme nesnesini döndürür. Her zaman 200 OK — yeni bir organizasyon, state: "not_started" ile boş-taslak şeklini alır.
state, not_started, in_progress, brand_pending, campaign_pending, ready veya rejected değerlerinden biridir. current_step, brand, campaign veya review değerlerinden biridir. next_action, makine tarafından okunabilir bir ipucudur: fill_brand, fill_campaign, review_and_submit, amend_brand, amend_campaign veya done. Marka veya kampanya gönderildiğinde, yanıt ayrıca brand_id, campaign_id ve herhangi bir yukarı akış reddetme nedenini taşır.
GET /10dlc/wizard/draft, form ön doldurması için tam kaydedilen taslağı (marka alanları, kampanya alanları, geçerli adım) döndürür.
PUT /10dlc/wizard/draft — kısmi kaydet
Marka ve/veya kampanya alanlarının herhangi bir alt kümesini kaydeder. Her alan isteğe bağlıdır — yalnızca gönderdiğiniz alanları doğrularsınız ve geri kalanlar önceden kaydedilmiş değerlerini korur. current_step ayrı olarak güncellenir, böylece bir devam doğru ekrana iner.
422 döndürür ve kalıcı taslak dokunulmadan bırakır — önceden kaydedilen durum hayatta kalır.
Marka alanları: entity_type, display_name, company_name, ein, phone, street, city, state, postal_code, country, email, website, vertical.
Kampanya alanları: usecase, description (40–4096 karakter), sample_message (1–10 mesaj), message_flow (en az 40 karakter), help_message (en az 20), optout_message (en az 20), is_political, cv_token.
Tek sahibi (sole-proprietor) telefon doğrulaması (OTP)
entity_type: "SOLE_PROPRIETOR" olan ABD markaları — ve yalnızca bunlar — bir EIN yerine doğrulanmış bir mobil numarayı koyar: TCR, sole-proprietor kimliğini, kaydedicinin kontrolünü kanıtladığı bir telefon numarasına bağlar. Diğer her ABD varlık türü bunun yerine bir EIN göndermek zorundadır.
Göndermeden önce numarayı doğrulayın:
brand.phone alanını düzenlerseniz, eski kanıt artık sayılmaz ve yeni numaraya karşı yeni bir doğrulama kodu çalıştırana kadar gönderim 422 ile başarısız olur. Zaten doğrulanmış bir numarada /phone/send çağırmak 409 ALREADY_VERIFIED döndürür; bekleyen bir doğrulama kodu olmadan /phone/confirm çağırmak 404 döndürür.
POST /10dlc/wizard/preflight — kaydedilen taslağı lintten geçir
Kalıcı sihirbaz taslağını bilinen TCR reddetme kalıbı kataloğuna karşı puanlar, böylece “Gözden geçir ve gönder” ekranı, göndermek üzere olduğu tam taslağa karşı bulgular görür — el yapımı bir yükü lintlediğinde isteğe bağlı preflight uç noktasının sahip olduğu lint sürüklenmesi olasılığı olmaz.
İstek gövdesi isteğe bağlıdır: expected_msg_per_day_per_number (kapasite-katmanı kuralı için) ve zaten sahip olduğunuz zaman brand_vetting_score (0–100).
score, verdict, findings[] — kayıt sayfasındaki preflight linter’ı ile aynıdır. O uç noktada olduğu gibi, bir pass kararı “bilinen reddetme kalıbı eşleşmedi” demektir, “TCR onaylayacak” değil.
POST /10dlc/wizard/submit — atomik marka + kampanya
Taslağın tamamını doğrular, ardından markayı ve kampanyayı tek çağrıda gönderir. Marka denetimi genellikle 1–48 saat içinde sonuçlanır; kampanya hemen ardından gelir.
201 Created):
422 döndürür ve details.section, eksik veya geçersiz alanların brand mı yoksa campaign mi bölümünde olduğunu size söyler.
Başarısızlık semantiği — atomik koruma:
- Marka yukarı akışta reddedildi — hiçbir kampanya gönderilmez. Taslak, marka reddetme nedeni damgalanmış şekilde korunur ve
next_actionamend_brandkonumuna döner. Marka alanlarını düzeltin ve yeniden gönderin. - Kampanya yukarı akışta reddedildi — kabul edilen
brand_idkalıcı olur, statebrand_pendingolarak kalır ve kampanya reddetme nedeni damgalanır. Bir yeniden gönderim marka aşamasını tamamen atlar, böylece marka ücreti asla yeniden tahsil edilmez; yalnızca kampanya tekrar öder. - Yukarı akış 5xx veya sağlayıcı kullanılamıyor — taslak aynen korunur ve olduğu gibi yeniden deneyebilirsiniz.
APPROVED döndüğünde, state ready konumuna geçer.
DELETE /10dlc/wizard/draft — sıfırla
204 No Content döndürür. Sihirbazı boş taslağa (state: "not_started") sıfırlar. Dosyadaki onaylanmış marka veya kampanya kimliklerini silmez — yalnızca sihirbash çalışma durumunu sıfırlar, dolayısıyla onay sonrası temizlik veya bir “baştan başla” olarak güvenlidir.
Tam yaşam döngüsü sırası
PUT /10dlc/wizard/draft— marka + kampanyayı aşamalı olarak doldurun.(yalnızca SOLE_PROPRIETOR)POST /10dlc/wizard/phone/send→POST /10dlc/wizard/phone/confirm.POST /10dlc/wizard/preflight— karar geçene kadar bulguları düzeltin.POST /10dlc/wizard/submit— atomik gönderim.GET /10dlc/wizard—readyolana kadar durumu yoklayın (veya operatör başına harita içinGET /10dlc/campaigns/:id/status, kayıt sayfasındaki gibi).DELETE /10dlc/wizard/draft— isteğe bağlı onay sonrası temizlik.