Everything you need to build with Sakura SMS
Guides, references, SDKs, and tutorials to help you go from zero to production. Whether you are sending your first OTP or building a multi-channel messaging platform, start here.
Jump right in
Four resources to get you from zero to your first API call in minutes.
Quick Start Guide
Send your first message in under 5 minutes. Set up your account, get an API key, and make your first API call with step-by-step instructions.
Get startedAPI Reference
Complete documentation for every endpoint, parameter, and response. Includes request/response examples for all supported languages.
Get startedSDKs and Libraries
Official SDKs for JavaScript, Python, PHP, Java, Go, and Ruby. Open source, fully typed, and maintained by the Sakura engineering team.
Get startedWebhooks Guide
Receive real-time delivery receipts, inbound messages, and verification events. Learn how to set up, verify, and handle webhook payloads.
Get startedStep-by-step guides
Hands-on tutorials that walk you through building common features with the Sakura SMS platform.
Build an OTP Verification Flow
Implement a complete user verification flow from scratch. Covers requesting OTPs, handling expiry, configuring channel fallback, and verifying codes. Includes React and Flutter front-end examples.
Read tutorialAdd WhatsApp to Your App
Send and receive WhatsApp messages using the Programmable Messaging API. Learn how to register a WhatsApp Business number, create message templates, and handle inbound messages via webhooks.
Read tutorialSend Your First Campaign
Create and launch a targeted SMS marketing campaign. Covers audience segmentation, message personalization with template variables, scheduled sends, opt-out management, and conversion tracking.
Read tutorialShip with confidence
Tanzania-specific guidance and industry best practices to help you build reliable, compliant messaging.
Phone Number Formatting (Tanzania)
Tanzanian mobile numbers follow the format +255 7XX XXX XXX. Learn how to normalize local formats (07XX), handle the +255 country code, validate number length, and distinguish between MNOs based on prefix ranges.
Read guideSender ID Registration
All alphanumeric Sender IDs used in Tanzania must be registered with TCRA through our platform. Learn the registration process, required documentation, and typical approval timeline (3-5 business days).
Read guideTemplate Approval
WhatsApp message templates require Meta approval before use. Learn how to write templates that pass review on the first submission, use variable placeholders correctly, and manage template versioning.
Read guideError Handling
Build resilient integrations that handle failures gracefully. Covers HTTP status codes, error response formats, retry strategies with exponential backoff, and idempotency keys for safe retries.
Read guideBuild together
Join thousands of developers building with Sakura SMS. Get help, share knowledge, and shape the platform.
GitHub
Browse source code for all official SDKs, report issues, submit pull requests, and explore open-source sample projects built by the community.
View repositoriesDiscord
Join our developer Discord for real-time help, announcements, and discussions. Connect with other developers building with Sakura SMS in Tanzania and beyond.
Join DiscordStack Overflow
Ask and answer technical questions tagged with sakura-sms. Our engineering team actively monitors the tag and provides detailed responses to community questions.
Browse questionsDeveloper Forum
Our developer forum is the place for in-depth technical discussions, feature requests, and integration architecture advice. Search existing threads or start a new conversation with the community.
Visit the forumFrequently asked questions
Common questions about building with the Sakura SMS platform.
We provide official SDKs for JavaScript/TypeScript (Node.js and browser), Python, PHP, Java, Go, and Ruby. All SDKs are open source and available on GitHub. They handle authentication, request signing, error handling, and automatic retries. If your language is not listed, you can use our REST API directly with any HTTP client.
Default rate limits are 100 requests per second for messaging endpoints and 50 requests per second for Lookup and Verify endpoints. These limits apply per API key. If you need higher throughput, contact our sales team to discuss enterprise rate limits. The API returns a 429 status code with a Retry-After header when limits are exceeded.
Yes. Every account includes a sandbox environment with test API keys (prefixed with sk_test_). Sandbox messages are simulated -- they follow the full API flow but are not delivered to real handsets. You can use magic phone numbers to trigger specific responses: +255700000001 always succeeds, +255700000002 always fails, and +255700000003 simulates a timeout.
Webhooks are delivered with at-least-once semantics and automatic retries. If your endpoint returns a non-2xx response, we retry with exponential backoff for up to 24 hours (attempts at 1, 5, 30, 60, 360, and 1440 minutes). All webhook payloads include a unique event ID for deduplication. You can verify webhook authenticity using the HMAC-SHA256 signature in the X-Sakura-Signature header.
Yes. Sender IDs must be registered with TCRA before use in production (3-5 business days). SMS messages to Tanzanian numbers are limited to 160 characters for single-part messages (70 characters for Unicode). Promotional SMS is restricted to 7:00-21:00 EAT. Our SDKs automatically handle character encoding and message segmentation for Swahili and other local languages.
All developers get access to our documentation, community Discord, and Stack Overflow tag (sakura-sms). Paid plans include email support with 24-hour response times. Business and Enterprise plans add priority support with 4-hour and 1-hour response times respectively, plus a dedicated Slack channel and named technical account manager.
The API changelog is published at docs.sakuragroup.co.tz/changelog and updated with every release. We follow semantic versioning -- breaking changes are announced at least 90 days in advance. You can subscribe to changelog updates via RSS, email, or our Discord announcements channel. SDK changelogs are maintained in each repository's CHANGELOG.md file.
Our standard SLA guarantees 99.95% API uptime measured monthly. The Messaging API targets sub-3-second delivery for domestic (Tanzania) messages. The Verify API targets sub-2-second OTP delivery. Enterprise plans include custom SLAs with financial credits for downtime. Current and historical uptime is published at status.sakuragroup.co.tz.
Ready to start building?
Create a free account, grab your API key, and send your first message in under five minutes.