An approved Sender ID is required before you can send campaigns.See the procedure
SMSPro

OTP SMS

Send your OTP codes by SMS in Cameroon

Account verification, login, payment: send one-time codes to MTN and Orange from your application, with delivery tracking for every message.

What you get

  • A simple API

    A single POST call with the number, the message and your Sender ID. The API answers as soon as the message is accepted for sending, without waiting for delivery.

  • Tracking for every message

    Pending, delivered or failed status, available through the API or pushed by signed webhook, so you know whether the code arrived.

  • A dedicated OTP Sender ID

    Your sender name is displayed instead of a number, which reassures your users. It is declared for OTP use, because the operator approves each Sender ID for a given use.

  • Nothing to pay on a rejected send

    A message rejected at submission (an invalid number, for example) is not billed: the credit is returned.

Integration in 4 steps

  1. 1

    Create your account

    Sign-up takes 2 minutes. Then generate your API key from the Developer Hub.

  2. 2

    Request an OTP Sender ID

    The form is filled in and signed on screen. Approval by the operators can take up to 14 business days, as an indication.

  3. 3

    Send the code

    Call POST /api/v1/messages with the number, the code text and your Sender ID.

  4. 4

    Check delivery

    Follow the status with GET /api/v1/messages/:id or with the message.delivered webhook.

Your Sender ID can be used as soon as the request is registered, but until it is approved an operator may refuse to deliver some messages. Plan for this margin before going to production.

Example: sending an OTP code
curl -X POST "https://v2.smspro.cm/api/v1/messages" \
  -H "Authorization: Bearer smspro_votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+237699000001",
    "message": "Votre code de vérification est 847291. Valable 5 minutes.",
    "from": "MONAPP-OTP"
  }'

Response (201): the message is accepted for sending, not yet delivered.

{
  "success": true,
  "message_id": "8f2c1d4e-…",
  "to": "+237699000001",
  "status": "pending",
  "segments": 1
}

Our pricing

Volume-based pricing

The higher the volume, the lower the unit price.

Minimum purchase: 500 SMS

Appoint
13XAF/SMS
≤ 1 000 SMS · from 13 XAF
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Most popular
Spark
12XAF/SMS
1 001 - 5 000 SMS · from 12,012 XAF
Save 8% vs Appoint
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Flash
10XAF/SMS
5 001 - 10 000 SMS · from 50,010 XAF
Save 17% vs Spark
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Turbo
9.2XAF/SMS
10 001 - 25 000 SMS · from 92,009 XAF
Save 8% vs Flash
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Boost
8.3XAF/SMS
25 001 - 50 000 SMS · from 207,508 XAF
Save 10% vs Turbo
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
Sprint
7.3XAF/SMS
50 001 - 100 000 SMS · from 365,007 XAF
Save 12% vs Boost
  • Priority support & dedicated SMS route
  • Transactional SMS (OTP) & marketing
  • REST API access
  • Mobile Money or bank card payment
  • Instant top-up
  • No commitment
Choose
High volumes
On quote
> 100,000 SMS · Negotiated rate · Proforma invoice · Dedicated manager
Request a quote

Prix TTC — droit d'accise et TVA compris

Minimum order: 500 SMS.

Questions about OTP SMS

Which operators are covered?

MTN Cameroon and Orange Cameroon. A number on another operator is rejected, with nothing sent or billed.

Do I need a Sender ID to send OTPs?

Yes. You request it from your account and declare it for OTP use. Approval by the operators can take up to 14 business days, as an indication. You can use it as soon as the request is registered, but an operator may refuse some messages until it is approved.

How do I know the code arrived?

Every message has a status: pending, delivered (delivery receipt from the operator), transmitted (accepted by the operator, no receipt) or failed. You read it through the API or receive it by webhook.

Is an undelivered SMS billed?

A message rejected at submission is not billed. A message accepted by the operator is billed, even if it is ultimately not delivered (phone switched off, inactive line). Details are in the Terms, article 6.6.

How much does an OTP SMS cost?

The same price as any other SMS, depending on your volume. The pricing grid on this page is authoritative.

Take action

Ready to transform your communication?

140+ registered users already. Join them — no commitment, from your very first SMS.