Skip to main content

Choosing & Registering Sender IDs

A sender ID is what recipients see in the "From" field. Choosing the right type β€” and registering it where required β€” is the single biggest lever on deliverability.

🏷️ Sender ID Types​

TypeExampleTwo-way?Best for
AlphanumericMyBankNoBranded one-way alerts, OTP
Numeric long code+2547xxxxxxxYesConversational SMS
Shortcode21234YesHigh-volume two-way, opt-in keywords

Alphanumeric IDs are 3–11 characters, letters and digits, no spaces. They cannot receive replies β€” use a shortcode or long code for two-way.

πŸ“‘ Registering an Alphanumeric ID​

Registration is per-country and reviewed by local carriers. Submit early β€” approval can take days to weeks in some markets.

curl -X POST https://api.afriroute.ai/api/v1/sms/sender-ids \
-H "Authorization: Bearer $AFRIROUTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sender_id": "MyBank",
"country": "KE",
"use_case": "Transactional OTP and account alerts",
"sample_message": "Your OTP is 123456"
}'
const res = await fetch('https://api.afriroute.ai/api/v1/sms/sender-ids', {
method: 'POST',
headers: {
'Authorization': 'Bearer $AFRIROUTE_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
sender_id: 'MyBank',
country: 'NG',
use_case: 'Transactional alerts'
})
});
console.log((await res.json()).status); // pending_review

🌍 Per-Country Approval Rules​

Requirements vary widely. Plan around the strictest markets you target.

MarketAlphanumericPre-registration
πŸ‡°πŸ‡ͺ KenyaSupportedRequired
πŸ‡³πŸ‡¬ NigeriaSupportedRequired
πŸ‡ΏπŸ‡¦ South AfricaSupportedRecommended
πŸ‡ͺπŸ‡Ή EthiopiaSupportedRequired
πŸ‡¬πŸ‡­ GhanaSupportedRequired

Unregistered alphanumeric IDs are often overwritten with a generic shared ID or silently dropped.

βœ… Choosing the Right ID​

  • One-way branded alerts / OTP β†’ alphanumeric (MyBrand).
  • Customer conversations β†’ shortcode or long code.
  • Marketing with opt-in keywords β†’ shortcode (e.g. "Text JOIN to 21234").

πŸ’‘ Best Practices​

  • Register before launch in every target country β€” don't assume coverage.
  • Keep the use case honest β€” mismatched content triggers blocking.
  • Use a consistent ID so recipients recognize and trust your brand.
  • Have a fallback ID for countries where yours isn't yet approved.
  • Avoid generic words like INFO or SMS β€” they get rejected.

⚠️ Common Rejections​

{
"status": "rejected",
"reason": "use_case_mismatch",
"detail": "Registered as transactional but sample is promotional"
}

Match your registered use case to the actual traffic, and resubmit with a corrected sample.


Last Updated: May 2026