Quick links: Architecture overview · Step-by-step setup · Managing customers at scale · Troubleshooting
Who needs this guide?
Architecture overview
ISV/reseller 10DLC uses a shared campaign model where you register campaigns with your upstream CSP (Campaign Service Provider) and share them to Telnyx for number assignment and messaging.Key concepts
Upstream CSP
The Campaign Service Provider where you register brands and campaigns with TCR. This could be Telnyx (if you register directly) or another CSP.
Downstream CSP
The messaging provider that sends traffic. Telnyx acts as your downstream CSP — you share campaigns to Telnyx for number assignment.
Shared / Partner Campaign
A campaign registered at one CSP and shared to another for traffic delivery. Required for ISV architectures.
Campaign Sharing
The TCR process of granting a downstream CSP access to send traffic for a campaign. Sharing must be accepted by the downstream CSP.
Native vs. partner campaigns
Prerequisites
Before starting, ensure you have:1
Telnyx account with messaging enabled
Sign up and complete account verification. You need a Level 2 verified account.
2
Upstream CSP account
An account with a CSP where you’ll register brands and campaigns (this can be Telnyx or another provider like Campaign Registry direct access).
3
Customer business information
For each customer: legal business name, EIN/tax ID, business address, website, authorized representative contact, and messaging use case details.
4
Phone numbers
10DLC-eligible long code numbers on your Telnyx account. Purchase numbers or use existing inventory.
Step-by-step ISV onboarding
Step 1: Register brands for each customer
Each of your customers needs their own brand registered with TCR. A brand represents a business entity.- Via Telnyx (Native Brand)
- Via External CSP
If using Telnyx as your upstream CSP, register brands directly:
Step 2: Submit brand for vetting
Higher vetting scores unlock greater throughput. For ISV use cases, enhanced vetting is strongly recommended.curl
Enhanced vetting costs a one-time fee and takes 1–7 business days. Brands with vetting scores above 75 get significantly higher throughput. See 10DLC Rate Limits for details.
Step 3: Create campaigns for each customer
Create one campaign per customer, selecting the use case that matches the actual message content your platform sends. See the campaign registration docs for the full list of supported use cases.Step 4: Share campaign to Telnyx
Once your campaign is approved at your upstream CSP, share it to Telnyx. The sharing process depends on your CSP, but the result is a campaign visible in the Telnyx Partner Campaigns API. After sharing, verify the campaign appears on Telnyx:Step 5: Assign phone numbers to the shared campaign
Once the campaign is accepted by Telnyx, assign your 10DLC numbers to it:Number-to-campaign assignment typically completes within minutes. A number can only be assigned to one campaign at a time. To reassign, remove the existing assignment first.
Step 6: Check sharing status
Monitor whether Telnyx has accepted the shared campaign:curl
Step 7: Send messages
Once numbers are assigned to the accepted campaign, send messages using the standard Send Message API:curl
Managing customers at scale
Multi-tenant architecture patterns
Pattern 1: One brand + campaign per customer (recommended)
Pattern 1: One brand + campaign per customer (recommended)
Best for: Agencies, resellers managing distinct businesses.Each customer gets their own brand and campaign. This provides:
- Isolated throughput per customer
- Independent compliance status
- Clear separation for TCR
Pattern 3: Hybrid (recommended for growth)
Pattern 3: Hybrid (recommended for growth)
Best for: Platforms with a mix of high-volume and low-volume customers.
- High-volume customers get dedicated brands + campaigns
- Low-volume customers share a platform campaign
- Migrate customers to dedicated as they grow
Bulk brand registration
For platforms onboarding many customers, automate brand registration:Python
Webhook monitoring for partner campaigns
Set up webhooks to track campaign status changes across all your customers:Python
Partner campaign appeals
When a shared campaign is rejected, the appeal process differs from native campaigns. Partner campaigns use a CSP nudge mechanism:1
Review the rejection reason
Check the campaign status and rejection details via your upstream CSP.
2
Fix the issue
Update the campaign details (description, samples, message flow) at your upstream CSP based on the rejection reason.
3
Trigger a CSP nudge
Your upstream CSP sends a
CAMPAIGN_NUDGE event to TCR, which triggers a re-review.4
Monitor for approval
Set up webhooks to receive campaign status updates automatically.
Troubleshooting
Campaign sharing shows PENDING for days
Campaign sharing shows PENDING for days
Cause: Telnyx hasn’t processed the sharing request yet, or there’s a data mismatch.Fix:
- Verify the campaign is fully approved at your upstream CSP
- Confirm you shared to the correct downstream CSP (Telnyx’s TCR ID)
- Contact Telnyx support with the TCR Campaign ID
Brand registration rejected for customer
Brand registration rejected for customer
Cause: Business information doesn’t match public records.Fix:
See the 10DLC Troubleshooting Guide for detailed brand failure resolution steps.
Compliance checklist for ISVs
ISVs have additional compliance responsibilities because you’re sending on behalf of customers. TCR and carriers hold you accountable for your customers’ messaging practices.
- Customer vetting — Verify your customers’ business legitimacy before registration
- Content monitoring — Monitor message content for compliance with campaign use case
- Opt-in verification — Ensure customers collect proper consent from end users
- Opt-out processing — STOP/HELP keywords must work across all customer traffic
- Volume management — Don’t exceed throughput limits for your campaign’s vetting score
- Incident response — Have a process to quickly disable a customer’s messaging if they violate policies
- Record retention — Keep opt-in records for at least 4 years per CTIA guidelines
- Sample message accuracy — Registered samples must match actual production messages
Next steps
10DLC Rate Limits
Understand throughput by vetting score and carrier.
Event Notifications
Set up webhooks for brand and campaign status changes.
Campaign Registration
Details on campaign use cases and requirements.
Partner Campaigns API
Full API reference for shared campaign management.