Sms 10dlc Registration

sentdm/sent-plugin/plugins/sent/skills/sms-10dlc-registration

作者 sentdme3d91640fb6f48601c17ddb4ff3df2d3a5f81d6f無授權條款48 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫6 天前更新

Prepares and validates Sent US A2P 10DLC brand and campaign registration through Sender Profiles, including inheritance, all campaign use cases, opt-in evidence, sample-message policy, autoresponses, sandbox validation, TCR status, and rejection remediation.

包含腳本Business & Finance
AI 產生的概覽

準備並驗證美國 A2P 10DLC 品牌與活動註冊證據,以及 Sent API 活動請求承載內容。

功能
此技能指導透過 Sender Profile 完成美國 A2P 10DLC 品牌與活動註冊的準備工作,涵蓋繼承方式選擇、全部 13 種活動使用案例、選擇加入證據、範例訊息政策、自動回覆、沙箱驗證、TCR 狀態以及退件補救。它將具版本編號的內部證據包與精確的 Sent API 活動請求區分開來,兩者使用不同的資料結構。技能附帶兩個 Python 驗證腳本與 JSON 測試資料,可在真正呼叫 API 前對兩層內容進行本機檢查。
適用情境
適用於註冊或更新美國 A2P 簡訊 10DLC 品牌與活動,或在提交前驗證註冊證據包與活動請求承載內容。也適用於排查 TCR 退件問題,或確認繼承方式與使用案例設定。
執行需求
需要 Python 執行隨附的驗證腳本(validate_10dlc_packet.py、validate_campaign_payload.py)以及 JSON 輸入檔案。實際的設定檔與活動操作需要 Sent API 存取權限與憑證;技能中提及需借助獨立的 sent-compliance 技能取得最新欄位要求與精確的設定呼叫方式。

SMS 10DLC Registration

Use this skill for US A2P SMS over 10-digit long codes. Separate the compliance evidence packet from the exact Sent API request; they have different schemas and validators.

For current field and document requirements or an exact SMS setup call, use sent-compliance before preparing the registration evidence here. Its plan creates a new Sender Profile and does not manage campaigns on an existing profile.

Current Sent resource model

There is no standalone brand CRUD path in the current v3 API.

  • Create a dedicated brand inside POST /v3/profiles using brand and inherit_tcr_brand: false.
  • List/create campaigns with GET|POST /v3/profiles/{profileId}/campaigns.
  • Update/delete with PUT|DELETE /v3/profiles/{profileId}/campaigns/{campaignId}.

Reject guidance that reintroduces a free-standing brand path.

Choose inheritance deliberately

BrandCampaignSettings
Inherit bothOrganization brand and campaigninherit_tcr_brand: true, inherit_tcr_campaign: true
Inherit brand, own campaignShared legal brand with tenant-specific trafficbrand true, campaign false
Own bothDedicated tenant/businessboth false and supply brand during profile creation

Inherited campaigns are read-only. A profile cannot supply brand while brand inheritance is true.

Two validation layers

Evidence readiness packet

The private packet uses the explicit internal version sent-10dlc-evidence/v1 and snake_case evidence fields. It is not an API payload.

bash
python scripts/validate_10dlc_packet.py evidence.json

Collect legal identity, public website/policy links, consent proof, message flow, opt-in/opt-out/help responses and keywords, use cases, and realistic samples. See references/10dlc-evidence-checklist.md [blocked].

Sent campaign request

The API request uses exact camelCase and a campaign wrapper:

<!-- sent-campaign-request -->
json
{  "campaign": {    "name": "Acme account notifications",    "description": "Account and delivery notifications for opted-in customers.",    "type": "App",    "useCases": [      {        "messagingUseCaseUs": "ACCOUNT_NOTIFICATION",        "sampleMessages": [          "Acme Example: Your account preference was updated. Reply STOP to opt out."        ]      }    ],    "volume": "2000",    "messageFlow": "Customers opt in in account settings before notifications begin.",    "privacyPolicyLink": "https://example.com/privacy",    "termsAndConditionsLink": "https://example.com/terms",    "optinMessage": "Acme Example: You are subscribed. Reply STOP to opt out.",    "optoutMessage": "Acme Example: You are unsubscribed and will receive no more messages.",    "helpMessage": "Acme Example: Visit https://example.com/support for help.",    "optinKeywords": "START,YES",    "optoutKeywords": "STOP,UNSUBSCRIBE",    "helpKeywords": "HELP,INFO"  },  "sandbox": true}

Validate it with:

bash
python scripts/validate_campaign_payload.py campaign.json

API use cases

Support all 13 current values:

MARKETING, ACCOUNT_NOTIFICATION, CUSTOMER_CARE, FRAUD_ALERT, TWO_FA, DELIVERY_NOTIFICATION, SECURITY_ALERT, M2M, MIXED, HIGHER_EDUCATION, POLLING_VOTING, PUBLIC_SERVICE_ANNOUNCEMENT, and LOW_VOLUME.

Each use case structurally accepts 1–5 samples, each no longer than 1,024 characters. The compliance layer requires at least two samples for marketing and mixed traffic, including low-volume mixed. Keep that policy distinction visible instead of pretending OpenAPI requires two for all traffic.

Volume and status

volume is optional and, when supplied, is a numeric string. Values below "2000" use the documented low-volume tier; "2000" is the boundary to the next tier.

Campaign responses currently expose statuses SENT_CREATED, ACTIVE, and EXPIRED, plus submittedToTCR. Preserve unknown future status strings. Do not confuse a successful Sent record creation with TCR submission or carrier activation.

Safe workflow

  1. Confirm this is US A2P 10DLC traffic and the actual sending business is identified.
  2. Select brand/campaign inheritance.
  3. Validate the versioned evidence packet.
  4. Create or confirm the profile brand.
  5. Translate evidence into the exact camelCase campaign request.
  6. Validate locally and use sandbox: true.
  7. Show the payload and obtain confirmation before a real create/update/delete.
  8. Store profile ID, campaign ID, submittedToTCR, raw status, and review evidence.
  9. Complete the profile with required webHookUrl only after prerequisites are ready.

Never use real consumer data in fixtures or samples. Use references/tcr-use-cases.md [blocked] for classification and references/10dlc-rejection-remediation.md [blocked] for failures.

來源與署名

來源:sentdm/sent-plugin位於plugins/sent/skills/sms-10dlc-registration提交e3d9164

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架