Sms 10dlc Registration

sentdm/sent-plugin/packages/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位于packages/sent/skills/sms-10dlc-registration提交e3d9164

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架