πŸ“– User Guide β€” v1

Get up and running
with Lunyazi

Everything you need to send your first SMS, set up OTP verification, and reach production β€” without contacting support.

1

Welcome

What Lunyazi is and what this guide will help you achieve.

2

Getting Started

A step-by-step onboarding journey from login to first message.

3

Credits & Billing

How credits work, the two pools, and how to recharge via MoMo.

4

Sender IDs

What they are, how to request one, and common mistakes.

5

SMS Messaging

Single sends, bulk sends, test mode, and delivery status.

6

OTP Verification

Integrate phone verification into your app in two API calls.

7

Troubleshooting

Solutions to common issues with SMS, OTP, and billing.

1 of 7

Welcome to Lunyazi

What Lunyazi is, what problems it solves, and what this guide will help you achieve.

Lunyazi is a business communications platform that lets you send SMS messages and OTP verification codes to your customers, members, or users β€” through a simple dashboard or API.

What problems does Lunyazi solve?

  • Send SMS to many people at once β€” reminders, notifications, alerts.
  • Verify phone numbers or identities using one-time codes (OTP).
  • Reach Eswatini and international numbers from one account.
  • Automate recurring messages without building complex infrastructure.

What this guide covers

By the end of this guide you will be able to:

  • Recharge your account with credits
  • Set up your Sender ID
  • Send your first SMS
  • Integrate OTP verification into your application
  • Reach production without needing to contact support
New here? Continue to Getting Started β†’

2 of 7

Getting Started

A step-by-step onboarding journey from login to your first production message.

1
Log in

Go to lunyazi.com/dashboard and sign in with your email and password. If you don't have an account, click Create account β€” you'll receive 10 free credits on signup.

2
Recharge your account

Go to Billing in the sidebar. Select your credit pool, enter the quantity you want, and pay via MTN MoMo. Credits are added instantly. See Credits & Billing for full details.

3
Set up your Sender ID

Your Sender ID is the name that appears on your recipients' phones. Contact the Lunyazi team to request one before your first production send. See Sender IDs for full details.

4
Send your first SMS

Go to SMS in the sidebar. Enter a recipient number and a message, then click Send. Use test number +268000000000 to send without using credits. See SMS Messaging for full details.

5
Check delivery status

Go to Reports in the sidebar. Your message log shows each send with its delivery status: Delivered, Submitted, Pending, or Failed.

6
Get your API key and go to production

Go to Account in the sidebar. Click Show next to your API key, copy it, and include it as the X-Api-Key header in every API request.

Test number: +268000000000 β€” sends do not use credits and always succeed. Use this to verify your integration before going live.

3 of 7

Credits & Billing

How credits work, the two credit pools, how to recharge, and purchase history.

Lunyazi uses a credit system. You buy credits in advance and spend them when you send messages.

Two credit pools

PoolUsed forExpiry
EswatiniNumbers starting with +268End of month
InternationalSA (+27), UK (+44), and other countriesNever expire
Eswatini credits reset on the 1st of each month. Purchase international credits for numbers outside Eswatini.

How to recharge

  1. Go to Billing in the sidebar.
  2. Select Eswatini (+268) or International.
  3. Enter the quantity of credits you need.
  4. Review the total β€” pricing is tiered by volume.
  5. Enter your MTN MoMo number and click Pay with MoMo.
  6. Approve the payment prompt on your phone.
  7. Credits appear in your balance instantly once payment is confirmed.

Purchase history

Scroll to the bottom of the Billing page to see your full purchase history β€” date, pool, credits, and payment status for each transaction.

Pricing: Credits are priced per SMS based on volume tiers. The higher your quantity, the lower the per-credit rate. The current rate is shown live when you enter a quantity on the Billing page.

4 of 7

Sender IDs

What a Sender ID is, why it matters, how to request one, and common mistakes to avoid.

A Sender ID is the name or number that appears on your recipient's phone when they receive your message.

Why it matters

  • A recognised Sender ID improves open rates β€” recipients know who sent the message.
  • Without a custom Sender ID, messages arrive from a generic number.
  • A branded Sender ID looks professional and builds trust with your audience.

How to request a Sender ID

  1. Contact Lunyazi support via email at sales@lunyazi.com or WhatsApp.
  2. Provide the name you want to use (max 11 characters, letters and numbers only).
  3. Allow 1–2 business days for activation.
  4. Once activated, all your outgoing messages will show your Sender ID.

Sender ID rules

  • Maximum 11 characters
  • Letters and numbers only β€” no spaces or special characters
  • Must represent your organisation or brand
  • Cannot impersonate another organisation

Common mistakes

  • Spaces in the name β€” use a single word or abbreviation (e.g. MyBusiness not My Business)
  • Too long β€” names over 11 characters are truncated by the carrier
  • Sending before activation β€” messages will show a default sender until your Sender ID is activated
Pre-send validation: Lunyazi validates your messages before they are sent. If your account has not yet been configured with a Sender ID, messages will still route β€” but will show a default sender. Contact support to activate your custom Sender ID before your first production send.

5 of 7

SMS Messaging

How to send a single message, send in bulk, use test mode, and check delivery status.

Sending a single message

  1. Go to SMS in the sidebar.
  2. Enter the recipient's phone number in international format (e.g. +26876123456).
  3. Type your message.
  4. Click Send.

Sending bulk messages

  1. On the SMS page, switch to the Bulk tab.
  2. Upload a CSV or paste numbers β€” one per line.
  3. Enter your message.
  4. Review the recipient count and estimated credit cost.
  5. Click Send to all.

Test mode

Enable Test mode on the SMS page to simulate sending without using credits or reaching the carrier. The test number +268000000000 always succeeds.

Delivery status

Go to Reports to check delivery status for each message.

StatusMeaning
βœ… DeliveredConfirmed received by the handset
πŸ“€ SubmittedAccepted by the carrier β€” delivery pending
⏳ PendingAwaiting delivery confirmation
❌ FailedCould not be delivered
Credit usage: One credit = one SMS to an Eswatini number. International destinations use more credits depending on the country. The cost is shown before you confirm a bulk send.

6 of 7

OTP Verification

What OTP is, typical use cases, and how to integrate it into your application in two API calls.

OTP (One-Time Password) lets you verify that a user owns a phone number by sending them a code and checking that they entered it correctly.

Typical use cases

  • User registration β€” confirm the phone number during signup
  • Login verification β€” two-factor authentication (2FA)
  • Password reset β€” verify identity before allowing a reset
  • Transaction confirmation β€” confirm high-value actions
  • Membership verification β€” confirm a member's identity

Integration flow

1
Send an OTP

Call the Lunyazi OTP API with the user's phone number. Lunyazi generates a code and sends it via SMS.

POST https://api.lunyazi.com/otp/send
X-Api-Key: your_api_key

{
  "channel": "sms",
  "recipient": "+26876123456",
  "app_name": "Your App Name"
}

The response includes an otp_id β€” save this for the verification step.

2
User enters the code

Show an input field for the user to enter the code they received on their phone.

3
Verify the code

Pass the otp_id and the user's entered code to the verify endpoint.

POST https://api.lunyazi.com/otp/verify
X-Api-Key: your_api_key

{
  "otp_id": "otp_abc123",
  "code": "492817"
}

A successful response means the code is valid and the phone number is verified.

Test number: +268000000000 always returns code 123456 and uses no credits β€” use this to test your integration before going live.

Eswatini DPA 2022: OTP verification meets the identity verification requirements of Section 14 of the Data Protection Act 2022. See lunyazi.com/otp for more.

7 of 7

Troubleshooting

Solutions to common issues. If your issue is not listed, contact support.

SMS not delivered

Possible causeWhat to check
No credits remainingCheck your balance on the Overview page and top up via Billing.
Invalid phone number formatNumbers must be in international format: +26876123456. No spaces or dashes.
Recipient's phone is offA Pending status in Reports means the carrier is still attempting delivery.
Message blocked by content policyCertain words are blocked to comply with carrier policies. If you receive a 403 error, review your message content.

OTP code not received

Possible causeWhat to check
No creditsOTP sends use the same credit pool as SMS. Check your balance.
Invalid phone numberConfirm the number is in international format and is reachable.
Code expiredOTP codes expire after 10 minutes. Request a new one.

Unable to recharge

Possible causeWhat to check
MoMo approval not completedCheck your phone for the MoMo prompt β€” it expires after a few minutes.
Insufficient MoMo balanceEnsure your MoMo wallet has enough funds before initiating payment.
Incorrect number formatEnter your MoMo number without the + sign: 26878XXXXXX.

API returning 401 Unauthorized

  • Your API key may be incorrect β€” go to Account and copy it again.
  • Ensure you are sending the key as the X-Api-Key header, not in the request body.

API returning 429 Too Many Requests

  • You have exceeded the per-minute rate limit. Add a delay between sends or use the bulk send endpoint for large batches.
Still stuck? Contact support at sales@lunyazi.com or WhatsApp. Include your Customer ID (found on the Account page) and a description of the issue.