SERGEL SMSC WebService API

Introduction

This platform is designed to handle large traffic volumes, maintain a high availability and make it easy to route traffic via multiple connections.

 

This is document describes the WebService (SOAP) interface to the SMSC-platform.

 

This document will not handle specific use cases as concatenated messages, WAP-push, Flash SMS, etc. More information about those cases can be provided by contacting support.

WSDL and locations

This interface can be reached at two different URLs which are connected to the Internet via different ISPs. You can choose to access this service via HTTP or HTTPS.

We recommend that you implement your program so it automatically can switch between the both URLs to get higher availability.

 

Protocol

URL to WSDL

HTTPS X

https://wsx.sp247.net/smscws/api?wsdl

Methods in the WebService

The methods are listed below with their parameters and all possible response codes.

getVersion

This method returns the current version of the WebService.

Parameters

There are no parameters for this method.

Returns

This method returns the current version number of the WebService as a string. This value should only be used for information or testing of availability of the service.

send

This is the method that should be used when sending SMS messages.

Parameters

Parameter

Data type

Description

message

SendParameters

See SendParameters for more information.

Returns

This method returns an object of the type SendResult.

lookup

This method lookup which operator a specific number will be delivered to.

Parameters

Parameter

Data type

Description

message

LookupParameters

See LookupParameters for more information.

Returns

This method returns an object of the type LookupResult. Successful results with supplied operator will use return code 200 (OK).

Refund

This method will refund a charge transaction.

Parameters

Parameter

Data type

Description

message

RefundParameters

See RefundParameters for more information.

 


Objects in the WebService

The following objects are used in the WebService.

SendParameters

Name

Data type

Description

username

String

This is the username which is used for authentication. This is provided by Support.

serviceId

Integer

This is the serviceId which is used for authentication. This is provided by Support.

password

String

This is the password which is used for authentication. This is provided by Support.

source

String

This is the source number from where the message should be sent. The format is depending on the specified sourceTON.

sourceTON

Integer

This is the source type of number. See TON for more information.

destination

String

This is the destination number. The format is depending on the specified destinationTON.

destinationTON

Integer

This is the destination type of number. See TON for more information.

dcs

Integer

This is the Data Coding Scheme that should be used when sending the SMS. See DCS for more information.

userDataHeader

String

This value may be specified when sending concatenated SMS, WAP-push, etc. The format is hex encoded 8-bit bytes. More information about valid UDH for long SMS etc may be given by support upon request.

userData

String

This is the message itself. The DCS specifies the format on this value.

GSM default alphabet encoded messages has a maximum length of 1377 bytes. Note that Extended GSM characters need 2 bytes for one character. 1 GSM7 message is 160 non-extended characters. 153 non-extended characters for GSM7 if the message is concatenated.

Binary messages should be hex encoded as 8-bit bytes and the maximum length is 140 bytes (280 bytes when hex encoded).

UCS2 encoded messages has a maximum length of 567 characters.

Note that messages will be split into several SMS if the text doesn’t fit in one SMS. 1 UCS2 encoded message is 70 characters or 63 characters if the message is concatenated.

useDeliveryReport

Boolean

True indicates that a delivery report should be sent back when the message has come to a final state. It’s recommended to set this value to true.

validityTime

Long

This specifies how long the message is supposed to live. The value should be specified in milliseconds. -1 indicates default validity time should apply. Recommended time is between 15 minutes (900000) and 48 hours (172800000).

tariffClass

String

Used for Premium SMS otherwise empty or null. Format: <currency in ISO 4217><cent of currency>

Example: SEK350 equals 3.50 SEK

vat

Float

Used for Premium SMS.

25 equals 25%

-1 equals not used or default.

customerParameters

List of

CustomParameter

Optional, parameters may be specified if requested by support.

 

List of available constants.

SendResult

Name

Data type

Description

messageId

String

This is the unique messageId that will appear in the delivery report and should be referred to when sending questions to support.

resultCode

Integer

The result code. See Result Codes for more information.

resultDescription

String

This is the textual description for the result code.

LookupParameters

Name

Data type

Description

username

String

This is the username which is used for authentication. This is provided by Support.

serviceId

Integer

This is the serviceId which is used for authentication. This is provided by Support.

password

String

This is the password which is used for authentication. This is provided by Support.

msisdn

String

This is the MSIDN that should be resolved. Mobile number on international format starting with +.

LookupResult

Name

Data type

Description

operator

String

This is the resolved operator which the system will use when sending messages to the specified MSISDN. Format is for example: se.telia, no.telenor, dk.tdc

resultCode

Integer

The result code. See Result Codes for more information.

resultDescription

String

This is the textual description for the result code.

RefundParameters

Name

Data type

Description

username

String

This is the username which is used for authentication. This is provided by Support.

serviceId

Integer

This is the serviceId which is used for authentication. This is provided by Support.

password

String

This is the password which is used for authentication. This is provided by Support.

destination

String

This is the MSIDN that should be resolved. Mobile number on international format starting with +.

messageId

String

This is the ID of the original charge message.

customerParameters

List of

CustomParameter

Optional, parameters may be specified if requested by support.

 

List of available constants.

 

RefundResult

Name

Data type

Description

resultCode

Integer

The result code. See Result Codes for more information.

resultDescription

String

This is the textual description for the result code.

 

CustomParameter

Name

Data type

Description

key

String

Key parameter. Valid keys and values may be given by support if needed.

value

String

Value parameter.

Constants in the WebService

TON

TON stands for “type of number” and describes how the number should be presented source and destination.

 

Value (decimal)

Description

0

Short number; 1-5 digits

1

Alphanumeric; Up to 11 valid GSM default alphabet characters. Some operators don’t accept all the characters. Safe characters are A-Z, a-z, 0-9.

2

MSISDN; A mobile number on international format starting with +.

DCS

DCS stands for “Data Coding Scheme” and describes how the data should be presented. Basic values that are used when sending are:

 

Value (hex)

Description

00

GSM default alphabet encoding

04

8-bit binary data

08

UCS2 encoded

 

More information about DCS can be read in the ETSI specification GSM 03.38.

CustomParameters

 

Key

Description

chargeOnly

“true” or “false”; indicates that the message only should be charged, not possible for all markets.

async

“true” or “false”; indicates if the message should be sent asynchronous instead of synchronous. Note that premium should be sent as asynchronous.

productDescription

Used for premium SMS. Description on the invoice, market specific.

productCategory

Used for premium SMS. Indicates the category of purchase, contact support for appropriate value.

age

Used for premium SMS. Indicate the required age for the customer, market specific

referenceId

Used for premium SMS. Reference ID from MO SMS, market specific.


Result Codes

These are the result codes that may appear in the resultCode variable in SendResult and LookupResult.

 

Code

Description

0

Unknown error

1

Temporary routing error

2

Permanent routing error

3

Maximum throttling exceeded

4

Timeout

100

Service not found

101

User not found

102

Account not found

103

Invalid password

104

Configuration error

200

OK (this code will only be used by methods that not deliver messages)

1000

Sent

1001

Delivered

1002

Expired

1003

Deleted

1004

Mobile full

1005

Queued

1006

Not delivered

1007

Delivered charging delayed

1008

Charged message not sent

1009

Charged message not delivered

1010

Expired no delivery report

2000

Invalid source number

2001

Short number is not supported as source

2002

Alpha is not supported as source

2003

MSISDN is not supported as source number

2100

Short number is not supported as destination

2101

Alpha is not supported as destination

2102

MSISDN is not supported as destination

2103

Operation blocked

2104

Unknown subscriber

2105

Destination blocked

2106

Number error

2107

Destination temporary blocked

2200

Charging error

2201

Subscriber has low balance

2202

Maximum purchase exceeded

2203

Customer too young

2204

Prepaid subscriber not allowed

2205

Service rejected by subscriber

2206

Subscriber not registered in payment system

2300

Refunded

2301

Could not refund due to illegal or missing MSISDN

2302

Could not refund due to missing messageId

2303

Charged message is queued for refund

3000

GSM encoding is not supported

3001

UCS2 encoding is not supported

4000

Delivery report is not supported

4001

Invalid message content

4002

Invalid tariff

4003

Invalid user data

4004

Invalid user data header

4005

Invalid data coding

4006

Invalid VAT

4007

Unsupported content for destination


GSM default alphabet

The default GSM alphabet is the alphabet that will be used when specifying DCS 0 (default DCS).

 

The following characters will use 1 byte per character.

 

Unicode (hex)

Character

0040

@

00a3

£

0024

$

00a5

¥

00e8

è

00e9

é

00f9

ù

00ec

ì

00f2

ò

00c7

Ç

000a

<LINE FEED>

00d8

Ø

00f8

ø

000d

<CARRIAGE RETURN>

00c5

Å

00e5

å

0394

Δ

005f

_

03a6

Φ

0393

Γ

039b

Λ

03a9

Ω

03a0

Π

03a8

Ψ

03a3

Σ

0398

Θ

039e

Ξ

00c6

Æ

00e6

æ

00df

ß

00c9

É

0020

<SPACE>

0021

!

0022

"

0023

#

00a4

¤

0025

%

0026

&

0027

'

0028

(

0029

)

002a

*

002b

+

002c

,

002d

-

002e

.

002f

/

0030

0

0031

1

0032

2

0033

3

0034

4

0035

5

0036

6

0037

7

0038

8

0039

9

003a

:

003b

;

003c

<

003d

=

003e

>

003f

?

00a1

¡

0041

A

0042

B

0043

C

0044

D

0045

E

0046

F

0047

G

0048

H

0049

I

004a

J

004b

K

004c

L

004d

M

004e

N

004f

O

0050

P

0051

Q

0052

R

0053

S

0054

T

0055

U

0056

V

0057

W

0058

X

0059

Y

005a

Z

00c4

Ä

00d6

Ö

00d1

Ñ

00dc

Ü

00a7

§

00bf

¿

0061

a

0062

b

0063

c

0064

d

0065

e

0066

f

0067

g

0068

h

0069

i

006a

j

006b

k

006c

l

006d

m

006e

n

006f

o

0070

p

0071

q

0072

r

0073

s

0074

t

0075

u

0076

v

0077

w

0078

x

0079

y

007a

z

00e4

ä

00f6

ö

00f1

ñ

00fc

ü

00e0

à


Extended GSM characters

The following characters will be handled as extended characters and will use 2 bytes of space per character.

 

Unicode (hex)

Character

000c

<FORM FEED>

005e

^

007b

{

007d

}

005c

\

005b

[

007e

~

005d

]

007c

|

20ac

 

Appendix 1 - Supported TLS versions

From 2020-11-15 will TLS 1.2 or higher be required for all HTTPS connections.

At the same time support for TLS 1.0 and 1.1 will be discontinued. Versions 1.0 and 1.1 of TLS are older protocols that have been deprecated and are considered as security risks in the Internet community.

Sergel strongly recommend to use HTTPS if HTTP is being used today. HTTP is deprecated as of 2020-09-01 by Sergel, and will be removed in the future. Date for HTTP removal is not yet decided.