sms compliance
sms compliance
Czech Republic SMS Guide
A technical guide to SMS in the Czech Republic, covering regulations like Act No. 480/2004 Coll. and GDPR. Learn about consent (timestamp, source), STOP commands, alphanumeric sender ID pre-registration (3 weeks), message concatenation (160 GSM-7/70 UCS-2 chars), and error codes (e.g., 21614 for landlines).
Czech Republic SMS Best Practices, Compliance, and Features
Czech Republic SMS Market Overview
| Locale name: | Czech Republic |
|---|---|
| ISO code: | CZ |
| Region | Europe |
| Mobile country code (MCC) | 230 |
| Dialing Code | +420 |
Market Conditions: The Czech Republic has a mature mobile market with high SMS adoption rates. The country's main mobile operators include T-Mobile, O2, and Vodafone, with T-Mobile leading market share. While OTT messaging apps like WhatsApp and Facebook Messenger are popular, SMS remains a crucial channel for business communications, particularly for authentication and notifications. Android devices dominate the market with approximately 70% market share compared to iOS.
Key SMS Features and Capabilities in Czech Republic
The Czech Republic supports a comprehensive range of SMS features including two-way messaging, concatenated messages, and number portability, though MMS is handled through SMS conversion.
Two-way SMS Support
Two-way SMS is fully supported in the Czech Republic with no significant restrictions. Businesses can engage in bi-directional communication with customers, making it ideal for customer service and interactive campaigns.
Concatenated Messages (Segmented SMS)
Support: Yes, concatenation is fully supported across all major carriers.
Message length rules: Standard 160 characters per message segment using GSM-7 encoding, or 70 characters using UCS-2 encoding.
Encoding considerations: GSM-7 is used for standard Latin characters, while UCS-2 is automatically applied for messages containing special characters or Czech diacritics.
MMS Support
MMS messages are not directly supported through most A2P channels. Instead, MMS content is automatically converted to SMS with an embedded URL link where recipients can view the multimedia content. This ensures reliable delivery while maintaining the ability to share rich media content.
Recipient Phone Number Compatibility
Number Portability
Number portability is available in the Czech Republic, allowing users to keep their phone numbers when switching carriers. This feature is fully supported and doesn't significantly impact message delivery or routing, as the system automatically updates routing information.
Sending SMS to Landlines
Sending SMS to landline numbers is not supported in the Czech Republic. Attempts to send messages to landline numbers will result in a failed delivery and typically generate a 400 response error (error code 21614) through SMS APIs. These messages won't appear in logs, and accounts won't be charged for failed attempts.
Compliance and Regulatory Guidelines for SMS in Czech Republic
The Czech Republic follows both EU-wide GDPR requirements and local regulations under Act No. 480/2004 Coll. on Information Society Services. The Czech Telecommunication Office (??T??) oversees telecommunications regulations, while the Office for Personal Data Protection (??OO??) handles data privacy enforcement.
Consent and Opt-In
Explicit Consent Requirements:
- Written or electronic consent must be obtained before sending marketing messages
- Consent records must include timestamp, source, and scope of permission
- Pre-checked boxes are not considered valid consent under GDPR
- Consent must be specific to SMS marketing and separate from other permissions
Best Practices for Documentation:
- Maintain detailed consent logs including date, time, and method of opt-in
- Store proof of consent for at least 4 years
- Implement double opt-in for additional security
- Provide clear information about message frequency and content type
HELP/STOP and Other Commands
- All marketing messages must include clear opt-out instructions
- STOP command must be supported in both Czech ("STOP") and English
- Common keywords that must be honored:
- STOP, ZRUSIT (Cancel)
- POMOC, HELP
- INFO
- Messages should be processed in both upper and lower case
- Confirmation of opt-out must be sent in Czech language
Do Not Call / Do Not Disturb Registries
The Czech Republic does not maintain a centralized Do Not Call registry. However, businesses must:
- Maintain their own suppression lists
- Honor opt-out requests within 24 hours
- Regularly clean contact lists to remove unsubscribed numbers
- Implement systems to track and manage opt-outs across all campaigns
Time Zone Sensitivity
The Czech Republic observes Central European Time (CET/CEST). While there are no strict legal time restrictions, recommended practices include:
- Sending marketing messages between 8:00 and 20:00 local time
- Limiting promotional messages during weekends and public holidays
- Allowing urgent or transactional messages 24/7
- Considering seasonal time changes (CET/CEST switches)
Phone Numbers Options and SMS Sender Types for in Czech Republic
Alphanumeric Sender ID
Operator network capability: Fully supported across all major networks
Registration requirements: Pre-registration required with 3-week approval timeline
Sender ID preservation: Yes, registered IDs are preserved across networks
Long Codes
Domestic vs. International:
- Domestic: Fully supported with preserved sender ID
- International: Supported but sender ID may be overwritten
Sender ID preservation: Domestic numbers preserved, international may be modified
Provisioning time: Immediate for domestic, N/A for international
Use cases: Customer service, two-way communication, transactional messages
Short Codes
Support: Available through major carriers
Provisioning time: 8-12 weeks for approval
Use cases: High-volume messaging, marketing campaigns, verification codes
Restricted SMS Content, Industries, and Use Cases
Restricted Industries and Content:
- Gambling and betting (unless properly licensed)
- Adult content and services
- Cryptocurrency promotions
- Unauthorized financial services
- Political campaigning without proper disclosure
Content Filtering
Carrier Filtering Rules:
- Messages must start with "OS:" for commercial communications
- URLs should be from verified domains
- No excessive capitalization or special characters
- Maximum of 5 messages per number per hour (recommended)
Tips to Avoid Blocking:
- Use registered sender IDs
- Maintain consistent sending patterns
- Avoid URL shorteners when possible
- Include clear company identification
- Keep content professional and relevant
Best Practices for Sending SMS in Czech Republic
Messaging Strategy
- Keep messages under 160 characters when possible
- Include clear call-to-action
- Use personalization tokens thoughtfully
- Maintain consistent brand voice
Sending Frequency and Timing
- Limit to 4-5 messages per month per recipient
- Respect Czech holidays and cultural events
- Avoid sending during early morning or late evening
- Space out campaigns to prevent fatigue
Localization
- Primary language should be Czech
- Consider bilingual messages for international audiences
- Use proper Czech diacritical marks
- Respect local cultural nuances and customs
Opt-Out Management
- Process opt-outs within 24 hours
- Send confirmation of successful opt-out
- Maintain centralized opt-out database
- Regular audit of opt-out compliance
Testing and Monitoring
- Test across all major Czech carriers
- Monitor delivery rates by carrier
- Track engagement metrics
- Regular A/B testing of message content
- Monitor and analyze opt-out reasons
SMS API integrations for Czech Republic
Twilio
Twilio provides a robust REST API for sending SMS messages to the Czech Republic. Authentication uses account SID and auth token credentials.
import { Twilio } from 'twilio';
// Initialize client with your credentials
const client = new Twilio(
process.env.TWILIO_ACCOUNT_SID,
process.env.TWILIO_AUTH_TOKEN
);
async function sendSMSToCzechRepublic() {
try {
// Send message with required parameters
const message = await client.messages.create({
body: 'OS: Your message here', // OS: prefix required for commercial messages
from: 'YourCompany', // Registered alphanumeric sender ID
to: '+420123456789', // Czech number in E.164 format
// Optional parameters for delivery tracking
statusCallback: 'https://your-callback-url.com/status',
});
console.log(`Message sent successfully! SID: ${message.sid}`);
return message;
} catch (error) {
console.error('Error sending message:', error);
throw error;
}
}Sinch
Sinch offers a REST API with JWT authentication for secure SMS sending.
import axios from 'axios';
class SinchSMSClient {
private readonly apiToken: string;
private readonly servicePlanId: string;
private readonly baseUrl: string = 'https://eu.sms.api.sinch.com/xms/v1';
constructor(apiToken: string, servicePlanId: string) {
this.apiToken = apiToken;
this.servicePlanId = servicePlanId;
}
async sendSMS(to: string, message: string) {
try {
const response = await axios.post(
`${this.baseUrl}/${this.servicePlanId}/batches`,
{
from: 'YourCompany',
to: [to],
body: message
},
{
headers: {
'Authorization': `Bearer ${this.apiToken}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
} catch (error) {
console.error('Sinch SMS error:', error);
throw error;
}
}
}MessageBird
MessageBird provides a straightforward API for SMS integration with the Czech market.
import { MessageBird } from 'messagebird';
class MessageBirdClient {
private client: MessageBird;
constructor(apiKey: string) {
this.client = new MessageBird(apiKey);
}
async sendSMS(to: string, message: string): Promise<any> {
return new Promise((resolve, reject) => {
this.client.messages.create({
originator: 'YourCompany',
recipients: [to],
body: message,
type: 'business', // Specify business messaging
datacoding: 'unicode' // Support Czech characters
}, (err, response) => {
if (err) {
reject(err);
} else {
resolve(response);
}
});
});
}
}Plivo
Plivo offers a cloud communications platform with specific support for Czech Republic messaging.
import { Client } from 'plivo';
class PlivoSMSClient {
private client: Client;
constructor(authId: string, authToken: string) {
this.client = new Client(authId, authToken);
}
async sendSMS(to: string, message: string) {
try {
const response = await this.client.messages.create({
src: 'YourCompany', // Your registered sender ID
dst: to, // Destination number
text: message,
url: 'https://your-callback-url.com/status', // Optional status callback
method: 'POST'
});
return response;
} catch (error) {
console.error('Plivo SMS error:', error);
throw error;
}
}
}API Rate Limits and Throughput
Czech Republic carriers implement the following rate limits:
- Maximum 100 messages per second per sender ID
- Daily quota of 100,000 messages per sender ID
- Maximum 5 messages per recipient per hour
Strategies for Large-Scale Sending:
- Implement queuing system with Redis or RabbitMQ
- Use multiple sender IDs for load balancing
- Batch messages in groups of 50-100
- Implement exponential backoff for retries
Error Handling and Reporting
- Implement comprehensive logging with Winston or Bunyan
- Track delivery receipts (DLRs) for message status
- Monitor carrier responses for blocking patterns
- Set up alerts for unusual error rates
- Store message metadata for troubleshooting
Recap and Additional Resources
Key Takeaways:
- Pre-register alphanumeric sender IDs (3-week process)
- Include "OS:" prefix for commercial messages
- Implement proper opt-out handling
- Respect time zone and frequency limitations
- Maintain proper consent documentation
Next Steps:
- Review Czech Telecommunication Office regulations
- Implement proper consent collection mechanisms
- Set up monitoring and reporting systems
- Test message delivery across all carriers
Additional Information:
- Czech Telecommunication Office: https://www.ctu.cz/
- Data Protection Authority: https://www.uoou.cz/
- Act No. 480/2004 Coll.: https://www.zakonyprolidi.cz/cs/2004-480
Industry Resources:
- Mobile Marketing Association Czech Republic
- Czech Direct Marketing Association
- European Communications Office Guidelines
Frequently Asked Questions
How to send SMS messages in Czech Republic?
Use a registered alphanumeric sender ID, prefix commercial messages with "OS:", and ensure the recipient number is a valid Czech mobile number. Utilize a reputable SMS API provider like Twilio, Sinch, MessageBird, or Plivo, adhering to their specific integration guidelines and best practices for optimal delivery.
What is the process for sending bulk SMS in Czech Republic?
For high-volume messaging, use short codes and implement a queuing system to manage throughput. Adhere to carrier rate limits (max 100 messages/second per sender ID and 100,000/day) and use multiple sender IDs for load balancing. Respect compliance and best practices as outlined.
Why does Czech Republic convert MMS to SMS?
MMS is not directly supported through most A2P channels. The conversion ensures reliable delivery to all handsets while still allowing businesses to share rich media content by embedding a URL link to the MMS content within the SMS message.
What are the SMS compliance requirements in Czech Republic?
Comply with GDPR and Act No. 480/2004 Coll. Obtain explicit consent for marketing messages, honor STOP/HELP commands, and manage opt-outs within 24 hours. Maintain detailed consent logs for at least 4 years, including timestamps and source.
When should I send marketing SMS messages in Czech Republic?
Best practice is between 8:00 and 20:00 local time (CET/CEST), avoiding weekends and public holidays. Urgent or transactional messages can be sent 24/7. Consider seasonal time changes when scheduling campaigns.
How to register alphanumeric sender ID in Czech Republic?
Pre-registration is required with a 3-week approval timeline. Registered IDs are preserved across networks. Contact your chosen SMS API provider or directly consult with Czech carriers for registration details.
What is the character limit for SMS in Czech Republic?
Standard SMS messages use GSM-7 encoding with 160 characters per segment. Messages with Czech diacritics or special characters use UCS-2 encoding with a limit of 70 characters per segment. Concatenation is supported for longer messages.
Can I send SMS to landlines in Czech Republic?
No, sending SMS to landline numbers is not supported and will result in failed delivery with a 400 response error (code 21614) via SMS APIs. These failures are typically not logged and not charged.
How to handle opt-outs for SMS campaigns in Czech Republic?
Provide clear opt-out instructions (STOP, ZRUSIT, POMOC, HELP, INFO) in all marketing messages. Process opt-outs within 24 hours, send confirmation in Czech, and maintain a centralized opt-out database for compliance.
Czech Republic SMS best practices for content?
Keep messages concise (under 160 characters), include a clear call-to-action, personalize thoughtfully, and maintain a consistent brand voice. Localize content to Czech, using proper diacritics.
What SMS API integrations are available for Czech Republic?
Several providers offer robust APIs for Czech SMS messaging, including Twilio, Sinch, MessageBird, and Plivo. Each platform provides different features, authentication methods, and code examples for seamless integration.
What are the carrier filtering rules for SMS in Czech Republic?
Commercial messages must start with "OS:", URLs should be from verified domains, and avoid excessive capitalization or special characters. Limit messages to a recommended maximum of 5 per number per hour to minimize blocking.
Why is my SMS message blocked in Czech Republic?
Potential reasons include exceeding rate limits, using unregistered sender IDs, sending restricted content, or violating carrier filtering rules. Check message content, sending frequency, and ensure compliance with local regulations.
What are the API rate limits for sending SMS in Czech Republic?
Carriers impose limits of 100 messages/second/sender ID, 100,000 messages/day/sender ID, and a recommended maximum of 5 messages/recipient/hour. Implement queuing and multiple sender IDs for large-scale sends.