Service enables customers to send SMS over HTTP/HTTPS and to receive Delivery Reports (DLRs) over the same protocol.
Identify the true home mobile operator for precise routing to reduce costs, and improve delivery success rates.
The modern online payment for anyone
SMS broadcasting tool for closest relations with your customers
MO-MT SMS Transmission System provides receiving of MO (Mobile Originated) SMS messages and sending of MT (Mobile Terminated) SMS messages via standard HTTP protocol.
Optionaly the session handling of MO messages is supported, see Appendix A for details.
Every submission (from HORISEN to customer or from customer to HORISEN) must be confirmed by XML status report.
The text content is encode by ISO-8859-1 codepage, and characters which is not supported by mobile phones will be replaced with space character.
short_id=919
from=41781234567
text=test Hello, this is the test message.
provider=SWISSCOM
TEST@919
message_id=453248
language=DE
session_id=23543
session_status=A
text=Hello world
text=02004001b2055059064a3a51d195cdd105605
price=60
udh=06050415810000
coding=0
price=0&price_code=START
ext_id=ab23635c5d
bill_info=start test
session_status=S
The response for message submission (between both servers) is in XML format. The most important is tag which indicates is request successfully delivered or not.
Value of the tag status can be success or anything else (then we consider it like a failure). It is very important for 3rd party to send to us submission response otherwise we will assume that MO message is not delivered to 3rd party (this can lead to repetitive submission of the same MO if retry scheme is active).
The reply which has to be provided by 3rd party is very simple.
<?xml version="1.0"?> <report> <status>success</status> </report>
The reply from HORISEN’s side is very similar to already described form. Beside status tag we will always offer some additional information. Let’s see how accepted MT message will be confirmed (the msg_id tag indicates our internal Id of MT message):
<?xml version="1.0"?> <report> <status>success</status> <msg_id>65343</msg_id> </report>
The rejected MT message is more descriptive:
<?xml version="1.0"?> <report> <status>error</status> <error_code>X</error_code> <error_desc>The description of the error</error_desc> </report>
error_code is integer and it is predicted for machine parsing
error_code
error_desc is human readable error description
error_desc
At the moment we have defined following errors:
There are cases when 3rd party needs information about MT SMS delivery because with MT billing only delivered messages are charged. HORISEN provides additional HTTP request which is sent at the moment when we get DLR information from operator. This request can happen during MT SMS validity period, i.e. 24 hours after sending of MT. 3rd party can choose HTTP request type (POST or GET).
NOTE: All parameters are URL encoded.
Here is the list of available parameters for delivery reports:
mobile=41781234567
In case of delivered MT HTTP GET request will be:
http://3rd.party.net/sms/dlr?mobile=41781234567&short_id=919&int_id=255513&ext_id=756ab34cf2&price=1.50&status=1
3rd party should reply with HTTP 200 and empty request body.
Any keyword can be session based. The session is relevant only for MO messages. There are 3 stages in «session life»:
» Mobile user starts session by MO message containing keyword name.
Example:
Mobile user sends: test on 919 short ID.
Part of MO message parameters:
text=test&keyword=TEST%40919&session_id=342&session_status=C
» When session is started the following messages are part of the same session, mobile user doesn't need to send keyword name at the beginning of the message.
Mobile user sends: some text on 919 short ID.
text=some%20text&keyword=TEST%40919&session_id=342&session_status=A
» Mobile user finishes the session by sending word «stop».
Mobile user sends: stop on 919 short ID.
text=stop&keyword=TEST%40919&session_id=342&session_status=S
At the same time 3rd party can control session by MT messages (but only existing sessions). If session is running and 3rd party wants to stop it then MT message request could look like:
Part of MT message parameters:
text=goodbye&keyword=TEST%40919&session_id=342&session_status=S
ABO services are actually subscription based SMS services. The mobile user is subscribing on service by SMS, then 3rd party is sending content periodically with defined frequency until mobile user unsubscribe from service (by sending SMS or by contacting 3rd party or SMS provider).
The ABO service is usually passing through 3 stages: starting subscription, active subscription and stopping subscription.
Starting subscription is initiated by mobile user with MO message in form: START SERVICE where SERVICE is keyword name which is redirected by premium transit to 3rd party.
START SERVICE
The legal procedure for starting service is not the same in all countries; in Switzerland it is so called double opt-in. Whatever procedure is, it's handled by SMS provider (HORISEN) and when it is finished 3rd party is getting START SERVICE MO on his side.
After receiving START message, 3rd party is obliged to reply with MT message and to confirm that mobile user is subscribed on service, in this case 3rd party has to use START price code: price=0&price_code=START
If mobile user missed some syntax rules required to subscribe then MT message should contain regular price without price code (so, it is possible that reply on START MO is not creating valid subscription).
After successful subscription start, 3rd party can send MT push messages in intervals defined in service description; these are so called content messages. Content messages can be regularly charged.
The subscription can be stopped by two sides: by mobile user of by 3rd party.
Mobile user can stop subscription by sending: STOP SERVICE or by few other variations of STOP command. In all cases, 3rd party will get MO message in form: service STOP .
STOP SERVICE
service STOP
When 3rd party receives STOP MO he is obliged to reply with confirmation MT where he informs mobile user that his subscription is stopped and this MT has to have STOP price code: price=0&price_code=STOP
price=0&price_code=STOP
The other way to stop subscription is by 3rd party side. In this case, 3rd party can send MT push message with information that subscription is stopped but it is very important to use STOP price code
Complete ABO procedure can be explained in two sentences: ABO status of the user is controlled by 3rd party by using START and STOP price codes. START price code is allowed only like a confirmation for subscription start; STOP price code is used to cancel subscription and it has to be reply to STOP MO request or it could be sent by 3rd party at any moment.
In order to receive the MO messages, customer needs to provide to HORISEN the following:
http://85.28.24.170:6825/
http://85.28.24.170/index.php:6825?short_id=919&from=417877887788&text=messagetext&provider=SWISSCOM&keyword=TEST@919&message_id=453248language=DE&Session_id=23543&session_status=A
http://25.24.54.170:3325/
http://horisen_server/index.php:3325?account=29&username=customer&password=customer&short_id=919&to=417877887788&text=messagetext&provider= SWISSCOM&keyword=TEST@919&price=60
We use Cookies - by using this site or closing this message you are agreeing to our Cookies policy. Learn more