Introduction
Requirements
Security
Formats
and Standards
Outgoing message (MO)
Delivery message (MT)
Delivery report - Phone
Delivery report - Server
MMS messages
Introduction
This documentation provides a technical description of how to integrate an
application for sending and receiving SMS and MMS through the ViaNett system
and the HTTP API.
All messages are sent using HTTP GET or HTTP POST requests, and all responses
are in XML format.
Requirements
- ViaNett username and password. Please contact the customer service if
you don't have one.
- Default HTTP port 80 has to be opened by the firewall.
Security
The communication is established between the API client and the ViaNett server
via the HTTP protocol on port 80 using the GET or POST method. The connection
is not encrypted, but secure HTTP (https) can be used between the API
and the server using the POST method.
Formats and standards
It is vitally important to encode the message using the ISO-8859-1 encoding.
Outgoing Messages (MT)
If you want to send messages from your client, you need to create HTTP requests
to http://smsc.vianett.no/ActiveServer/MT/ using your ViaNett username and password
coupled with destination and source address to send your message. Please follow
the example below and contact the customer service for any questions.
Example - Send SMS
http://smsc.vianett.no/ActiveServer/MT/
?username=demo
&password=demo
&refno=1234
&sourceaddr=1963
&destinationaddr=4748044407
&message=Hello%20world
&fromalpha=vianett
&operator=0
&nrq=1
Positive response
If the message is successfully submitted to ViaNett's systems, a positive reponse
in XML format will be sent back to the original sender.
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/>
|
Negative response
A negative reponse will be sent back to the orginal sender if the message
has an issue like wrong username or password. The format of the reponse is in
XML format.
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="2">Wrong
username and/or password</ack>
|
Field definitions - Outgoing Messages (MT)
username
|
The username that is given by Vianett.
|
password
|
The password that is given by Vianett.
|
refno
|
Message reference number. This number must be a unique ID
|
sourceaddr
|
Source/Original number (numeric only, for alphanumeric source address,
use the field "fromalpha").
|
destinationaddr
|
Destination number.
|
message
|
Message content. |
messageheader |
Optional message header. |
fromalpha
|
Alphanumeric originator number. Can only be used with messages with
pricegroup=0. |
operator |
The operator ID. Use 0 if unknown or if you want ViaNett to handle
the routing. |
pricegroup
|
The pricegroup. Example: 100 is NOK 1 and 1500 is NOK 15. |
Delivery Report
If you wish to get a delivery reponse from ViaNett for the messages you have
sent, you need to create a script that allows ViaNett to deliver the reports.
The URL to your script should be provided under
Connections.
Example of delivery report request:
http://yourserver.com/yourscript.asp
?requesttype=mtstatus
&refno=1234
&errorcode=0
Response:
This response is from your script to ViaNett's system.
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/>
|
Field definitions - Delivery Report
Refno
|
Message reference number. This will be the same as refno
on your MT message.
|
requesttype
|
This field will have the value "mtstatus".
|
errorcode
|
This field will be 0 if the message was delivered to the user.
|
Delivery Report - Phone
Intermediate delivery report to phone
This is when the message is sent to the phone, but the phone may not have received
the message yet, e.g. if the phone is turned off.
Example
http://yourServer/yourScript
?password=
&username=
&refno=1234
&Status=ACCEPTD
&requesttype=notificationstatus
&StatusDescription=Absent+subscriber
&StatusCode=107
&now=06%2E10%2E2005+11%3A24%3A07&
Status
|
ACCEPTD/BUFFERD - stored in SMSC, not yet delivered
|
requesttype
|
Type of the request you receive from ViaNett, for this type of delivery
report it has the value notificationstatus
|
StatusDescription
|
A description of the meaning of the value specified in StatusCode
(not all values have a description).
|
StatusCode
|
Code representing the status of the message
|
now
|
Current date/time in CET (specified to avoid proxy caching issues)
|
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/>
|
Final delivery report to phone
This delivery report tells you the status of the message in terms of whether
it has been delivered to the handset of the recipient.
Example
http://yourServer/yourScript
?password=
&username=
&refno=1234
&Status=DELIVRD
&requesttype=notificationstatus
&StatusDescription=
&StatusCode=0
&now=05%2E10%2E2005+00%3A30%3A06&
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/> |
Delivery report - Server
This is a delivery report indicating whether the message was successfully delivered
to the operator.
Simple delivery report from operator
This is the delivery report from the operator. This contains information about
whether the message was successfully sent.
Example
http://wwwyourServer/yourScript
?password=
&username=
&refno=1
&requesttype=mtstatus
&msgok=-1
&errorcode=0
&now=05%2E10%2E2005+03%3A04%3A57&
Reply
<?xml
version="1.0"
encoding="iso-8859-1"?>
|
<ack
refno="1"
errorcode="0"
/>
|
Advanced delivery report from operator
This is the same as Simple delivery report, but it contains more details about
the message delivery.
Example
http://yourServer/yourScript
?password=
&username=
&refno=1234
&requesttype=mtstatus
&msgok=True
&ErrorDescription=OK
&ErrorCode=200
&Status=
&SentDate=05%2E10%2E2005+00%3A41%3A27
&OperatorID=1
&CountryID=1
&CampaignID=1234
&Cut=90&CPAContentCost=0
&CPACost=0
&CPARevenue=1%2C35
&NetPrice=1%2C5
&ConsumerPrice=3
&PriceGroup=300
&Msg=Your message is accepted%2E
&Tel=1234
&FromAlpha=vianett
&sno=1963
&now=05%2E10%2E2005+00%3A41%3A43&
msgok
|
Whether the message was successfully submitted. True for successful
submission.
|
SentDate
|
The date and time the message was sent.
|
OperatorID
|
The operator/gateway through which the message was sent.
|
CountryID
|
The country ID of the message (1 = Norway, 2 = Sweden, 8 = Denmark,
etc)
|
Cut
|
The percentage of the revenue from the operator paid out to customer
or percentage of cost paid by customer.
|
CPACost
|
Cost of message to customer |
CPARevenue |
Revenue of message to customer |
NetPrice
|
Operator payout |
ConsumerPrice
|
Price for end-user incl VAT |
PriceGroup
|
Pricegroup of message
|
Msg |
Message contents |
FromAlpha
|
Alphanumeric source address |
sno
|
Numeric source address
|
now
|
Current date/time in CET (specified to avoid proxy issues) |
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/>
|
MMS messages
An MMS consists of a ZIP-file containing one or more files of multimedia content
(such as images, audio and/or video). It may also contain a file named mms.smil,
written in a subset of the Synchronized
Multimedia Integration Language (SMIL), which ties together the various
files much like an HTML page would.
An example is available for download here.
MMS messages are transferred either by converting the ZIP-file into a URL-encoded
Base64-encoded string (this
string is then specified in the parameter mmsdata in the URL), or by
providing a URL to an MMS ZIP-file.
Incoming MMS messages are stored on our server, and a link to the file representing
the MMS message is also provided in the parameter mmsurl in the incoming
HTTP request.
Incoming MMS
This is for MMS messages that you will receive on your server. Replace
http://yourserver/yourscript with
the correct address to your script.
Example
http://yourServer/yourScript
?password=
&username=
&requesttype=mo
&mmschecksum=1796011280
&mmsdata=UEsDBBQACAAIAAyzSjMAAAAAAAAAAA[....clip....]
AAAAEAAQA4wAAAAMSAQAAAA%3D%3D
&mmsurl=http%3A%2F%2Fsmsc%2Evianett%2Eno%2Factiveserver%2Fmo%2Fgetmms%2F%3F
mmsid%3D1234%26checksum%3D1234
&operator=1
&retrycount=0
&refno=1234
&message=1234%3A
&prefix=1234
&destinationaddr=1963
&sourceaddr=1234
&now=10%2E10%2E2005+22%3A24%3A28&
username/password
|
Usually left blank, please contact customer service if you want
Vianett to provide a username and password to your script
|
requesttype
|
Has value MO (Mobile Originating) for incoming MMS and SMS messages.
|
mmschecksum
|
Checksum of the MMS
|
mmsdata
|
Base64-encoded ZIP file with MMS content
|
mmsurl
|
URL which can be used to download ZIP file of MMS file from ViaNett
|
retrycount
|
How many times ViaNett has tried to deliver message to customer |
message |
Message contents, apart from the prefix.
|
prefix
|
Prefix, i.e. first word of message |
destinationaddr
|
Destination address |
sourceaddr
|
Source address |
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0"
/>
|
Outgoing MMS
This is for MMS messages sent out by your server. These messages will go to
ViaNett's server, and from here it will be sent to the mobile number specified
in your MMS message.
Example using Base64
http://ams.smsc.vianett.no/v3/cpa/oldactiveserver/bridgemt.ashx
?username=demo
&password=demo
&message=1234
&refno=1234
&sourceaddr=1963
&destinationaddr=4748044407
&mmsdata=base64encodedmmsfile
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0">OK</ack>
|
Example using ZIP-file
http://ams.smsc.vianett.no/v3/cpa/oldactiveserver/bridgemt.ashx
?username=demo
&password=demo
&message=1234
&refno=1234
&sourceaddr=1963
&destinationaddr=4748044407
&mmsurl=http://sms.vianett.com/files/mms.zip
mmsurl
|
URL to MMS ZIP file (used as an alternative to submitting MMS ZIP
file as base64-encoded string).
|
Reply
<?xml
version="1.0"?>
|
<ack
refno="1234"
errorcode="0">OK</ack>
|