Switzerland MO-Initiated Subscriptions
Switzerland MO-Initiated Subscriptions
This document is designed to help you integrate MO-initiated subscriptions into your application. Before you begin, you will need to contact MessageCloud's support team via help@messagecloud.com to register your keyword.
Overview
The below diagram shows the expected flow of messages in the process.
- The customer sends a MO with
[KEYWORD]
, where[KEYWORD]
is your keyword. - MessageCloud sends a double opt-in confirmation MT to the customer.
- The customer replies with
START [KEYWORD]
- MessageCloud activates the subscription for the customer and forwards the original message containing the keyword to the merchant.
- The merchant sends a free welcome message to the customer via MessageCloud, containing the price, length and interval of the subscription.
- The merchant sends chargeable MT messages to the customer via MessageCloud at the subscription intervals defined in the welcome message.
- MessageCloud notifies the merchant of charging success or failure with a delivery report.
- The customer can opt out of the subscription by sending
STOP [KEYWORD]
. - A notification of opt-out is sent to the merchant
- The merchant sends a free confirmation of opt-out message to the customer. If this is not sent within 30 seconds of receipt then MessageCloud will reply on your behalf.
Message Requirements
There are strict rules regarding the messages that will be sent to the customer during the subscription process.
Opt-in Confirmation Message
Please note that these messages are automatically sent out to the customer by MessageCloud.
Before the activation of the subscription, the customer will be sent a free notification with the following information:
- Price per message and content delivery frequency.
- How to unsubscribe from the service.
- If the service is wap push, a warning that GPRS is charged separately for data transfer.
- If the service is for adults only (18+).
- A customer care phone number and your company name.
For example, an opt-in confirmation message for non-adult subscription services might look like the following:
“Bitte bestätige das Abo mit [response] an [shortcode]. [price] CHF+GPRS Geb. [number_of_sms] SMS/Tag. Abmelden: STOP [keyword] an [shortcode]. Hotline: [hotline_number].”
This translates to:
“Please confirm subscription with [response] to [shortcode]. [price] CHF+GPRS Geb. [number_of_sms] SMS/day. Unsubscribe: STOP [keyword] to [shortcode]. Hotline: [hotline_number].”
And an opt-in confirmation message for adult subscription services might look like the following:
“Bestätige das Abo mit [response] an [shortcode]. [price] CHF+GPRS Geb. [number_of_sms] SMS/Tag. Abmelden: STOP [keyword] an [shortcode]. Hotline: [hotline_number]. Ab 18J.”
This translates to:
“Confirm subscription with [response] to [shortcode]. [price] CHF+GPRS Geb. [number_of_sms] SMS/day. Unsubscribe: STOP [keyword] to [shortcode]. Hotline: [hotline_number]. Over 18 years.”
Welcome Messages
Once the customer has confirmed their intention to start the subscription service, you should send them a free welcome message with the following details:
- Price per message and content delivery frequency.
- How to unsubscribe from the service.
- A customer care phone number and your company name.
For example, a welcome message might look like the following:
“Wilkommen im Horoskop SMS Abo! 5 mal pro Woche bekommst du SMS mit deinem täglichen Horoskop! Abmelden mit STOP HOROSKOP an xxx. CHF 3.00/sms“. [hotline].
This translates to:
“Welcome to Horoskop SMS subscription! You will receive SMS with your daily Horoskop 5 times per week! Unsubscribe with STOP HOROSKOP to XXX. CHF 3.00/sms ”.[hotline]
Content Messages
All billed subscription messages must end with instructions informing the customer how they can opt out of the service. For example:
"[your_content_message]. STOP: 543"
Alternatively, you can send a separate free message to the customer with these details.
Opt-out Messages
When the customer has sent STOP to opt out of your subscription service, you must send them a free notification to confirm their opt-out. For example:
"Du bist vom SMS Abo jetzt abgemeldet”
In addition to this text, you may also advertise other services that the customer may find interesting in the same message.
Integration Details
The following section details how you can achieve the MO-initiated subscription model using Gateway . Due to the nature of Switzerland's message flow, there are some extra parameters you should send to the API in certain circumstances.
Firstly, when the customer opts into your subscription service, they will be sent a free message by MessageCloud asking them to confirm the opt-in. Only after the customer has confirmed this opt-in will the original message be forwarded to you as detailed in Receiving a Message. It is at this point you should send the customer a welcome message.
Sending a Welcome Message
You should send a request to Gateway using the parameters listed on Sending a Message, but the following parameters should be set accordingly:
Variable | Type | Contents |
---|---|---|
|
Integer |
|
|
String |
The format of the If you do not wish to use |
|
Float |
|
|
String |
|
|
String |
|
You should receive a SUCCESS
in the body of the HTTP response if everything was successful.
Sending a Content Message
Now that the welcome message is sent to the customer, you can send your subscription content messages according to your agreed subscription interval.
Variable | Type | Contents |
---|---|---|
|
Integer |
|
|
String |
The format of the If you do not wish to use |
|
Float |
The value of your subscription content message. |
|
String |
|
Sending a Goodbye Message
When the customer opts out of your subscription service, you will be sent an MO containing the word STOP according to the information provided on Stop Requests.
From the time you receive the MO, you will have 30 seconds in which to reply with your goodbye message otherwise MessageCloud will automatically send one on your behalf.
The following parameters should be sent to Gateway, in addition to the required parameters detailed on Sending a Message:
Variable | Type | Contents |
---|---|---|
|
Integer |
|
|
String |
The format of the If you do not wish to use |
|
Float |
|
|
String |
|
|
String |
|
You will receive a SUCCESS
in the body of the HTTP response if the request was successful.