API Documentation

Mobile Billing / Premium SMS / Network Double Opt-In

To initiate a subscription on the network side (Network DOI), you should call the following API request:

/api/doi/<account_id>/<api_key>/?source=<shortcode>&destination=<msisdn>&keyword=<kw>&frequency=7&amount=100&campaign=Test&reference=<your internal reference>

Upon submitting the request, you will receive a HTTP 200 Accepted status and either a Reference ID or Error code as response.

On Accepted (Message reference):


On Failed / Auto-receipted (Error Code)


Asynchronous Final Notification

Asynchronous final notification will be delivered to your standard DR Path with codes:

Code Description Your action...
540 DOI Confirmed by user Continue with subscription (ie. send welcome messages and content)
541 Message delayed while waiting for DOI Existing NDOI exists. Please hold before retrying.
542 Message rejected due to DOI User has not confirmed the NDOI yet. Please wait before retrying.
543 DOI Unconfirmed / Awaiting user action User has not confirmed the NDOI yet. Please wait before retrying.
544 DOI Declined by user User declined NDOI. You should wait for user to initiate a request again.
545 DOI Failed Network DOI failed. Try again or contact Mobivate support to investigate further.

For the full list of Response codes, please see here

Request Parameters

Following GET parameters are required when submitting the N-DOI request.

Parameter Format Description
source Number Service Number / Shortcode
destination Number Subscribers number / MSISDN
keyword String ProductID / ServiceID / Keyword. Formats may vary depending on the country
campaign String Campaign name
frequency Number Weekly billing frequency
amount Number Amount billed per message, in cents
reference String/Number Your reference for this request

Keyword Patterns per country

You must submit the keyword parameter with each of your requests. These keyword patters depend on the country. You should maintain a up-to-date list of your provisioned keywords. You can get the updated list at any time from your account manager.

Country Format Pattern Example
South Africa {ServiceID} ([a-z0-9]+) 43292zpz58124
Kenya {ProductID}:{ServiceID} ([a-z0-9]+):([0-9]+) MDSP2000060241:6013442000004456
Ghana {Keyword}:{ServiceID} ([a-z0-9]+):([0-9]+) games:23301220000010596

← Previous Page - Next Page →