mcpField
S
sms-10dlc-registration

sms-10dlc-registration

github.com/sentdmその他492.9k 回インストール1 週間前に更新
リポジトリ

sms-10dlc-registration について

sms-10dlc-registration は、米国の A2P 10DLC 登録に向けてコンプライアンス資料と Sent のキャンペーンリクエストを準備するスキルです。証拠パケットと API ペイロードを分け、継承設定と段階的な検証を扱います。

主な機能

  1. 01バージョン付き証拠パケットの準備
  2. 02キャンペーン API ペイロードの検証
  3. 03ブランドとキャンペーンの継承設定
  4. 04作成・TCR 提出・有効化の区別

活用シーン

  1. 01米国 10DLC キャンペーン登録の準備
  2. 02マーケティングや混合トラフィックのサンプル要件確認
  3. 03登録状態と TCR 提出状況の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sentdm/sent-plugin --skill sms-10dlc-registration

インストール後、Claude Code で/sms-10dlc-registrationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
10dlc-evidence-checklist.md
10dlc-rejection-remediation.md
tcr-use-cases.md
scripts/
validate_10dlc_packet.py
validate_campaign_payload.py
scripts/fixtures/
bad.json
campaign_bad.json
campaign_good.json
good.json

詳細

SMS 10DLC 登録

米国の 10 桁ロングコードを使った A2P SMS には、このスキルを使用してください。コンプライアンス証拠パケットと、正確な Sent API リクエストは分けてください。それぞれスキーマとバリデーターが異なります。

現在のフィールド要件や書類要件、または正確な SMS 設定呼び出しについては、この登録証拠を準備する前に sent-compliance を使用してください。そのプランは新しい Sender Profile を作成し、既存プロファイルのキャンペーンは管理しません。

現在の Sent リソースモデル

現行の v3 API に、単独のブランド CRUD パスはありません。

  • POST /v3/profiles 内で brand と inherit_tcr_brand: false を使用して、専用ブランドを作成します。
  • GET|POST /v3/profiles/{profileId}/campaigns でキャンペーンを一覧表示または作成します。
  • PUT|DELETE /v3/profiles/{profileId}/campaigns/{campaignId} で更新または削除します。

独立したブランドパスを再導入する案内は拒否してください。

継承を慎重に選択する

ブランドキャンペーン設定
両方を継承組織のブランドとキャンペーンinherit_tcr_brand: true、inherit_tcr_campaign: true
ブランドを継承し、独自のキャンペーンを使用テナント固有のトラフィックを伴う共有の法的ブランドブランドは true、キャンペーンは false
両方を独自に用意専用テナント/事業者両方を false にし、プロファイル作成時に brand を指定

継承したキャンペーンは読み取り専用です。ブランドの継承が true の場合、プロファイルに brand を指定できません。

2 つの検証レイヤー

証拠準備パケット

非公開パケットでは、明示的な内部バージョン sent-10dlc-evidence/v1 と snake_case の証拠フィールドを使用します。これは API ペイロードではありません。

python scripts/validate_10dlc_packet.py evidence.json

法的な事業者情報、公開されているウェブサイト/ポリシーへのリンク、同意の証明、メッセージのフロー、オプトイン/オプトアウト/ヘルプへの応答とキーワード、ユースケース、現実的なサンプルを収集してください。references/10dlc-evidence-checklist.md を参照してください。

Sent キャンペーンリクエスト

API リクエストでは、正確な camelCase と campaign ラッパーを使用します。

{
  "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
}

次のコマンドで検証してください。

python scripts/validate_campaign_payload.py campaign.json

API ユースケース

現在の 13 個の値をすべてサポートします。

MARKETING、ACCOUNT_NOTIFICATION、CUSTOMER_CARE、FRAUD_ALERT、TWO_FA、DELIVERY_NOTIFICATION、SECURITY_ALERT、M2M、MIXED、HIGHER_EDUCATION、POLLING_VOTING、PUBLIC_SERVICE_ANNOUNCEMENT、LOW_VOLUME。

各ユースケースでは、構造上 1~5 件のサンプルを受け付け、各サンプルの長さは 1,024 文字以下です。コンプライアンスレイヤーでは、マーケティングおよび混合トラフィック(低ボリュームの混合トラフィックを含む)に対し、少なくとも 2 件のサンプルが必要です。OpenAPI がすべてのトラフィックに 2 件を要求しているかのように扱わず、このポリシー上の違いを明示してください。

ボリュームとステータス

volume は任意で、指定する場合は数値文字列にします。"2000" 未満の値は文書化された低ボリュームのティアに該当し、"2000" が次のティアとの境界です。

キャンペーンのレスポンスでは、現在、ステータス SENT_CREATED、ACTIVE、EXPIRED と submittedToTCR が公開されています。将来追加される未知のステータス文字列はそのまま保持してください。Sent レコードの作成成功と、TCR への送信またはキャリアによる有効化を混同しないでください。

安全なワークフロー

  1. これが米国の A2P 10DLC トラフィックであること、および実際の送信事業者が特定されていることを確認します。
  2. ブランド/キャンペーンの継承方法を選択します。
  3. バージョン管理された証拠パケットを検証します。
  4. プロファイルのブランドを作成するか、既存のブランドを確認します。
  5. 証拠を正確な camelCase のキャンペーンリクエストに変換します。
  6. ローカルで検証し、sandbox: true を使用します。
  7. 実際の作成/更新/削除を行う前にペイロードを提示し、確認を得ます。
  8. プロファイル ID、キャンペーン ID、submittedToTCR、未加工のステータス、審査証拠を保存します。
  9. 前提条件が整ってから、必須の webHookUrl を使ってプロファイルを完成させます。

フィクスチャやサンプルでは、実際の消費者データを決して使用しないでください。分類には references/tcr-use-cases.md を、失敗への対処には references/10dlc-rejection-remediation.md を使用してください。

コメント