SMPP Specification


The connection between the application and the system’s SMPP server is SMPP version 3.4 (version 3.3 is not
supported).

NameDescription
system_idProvided for each client
passwordProvided for each client
host addresssmpp.smsq.global
port8888/8887
timeout/keep alive30 sec
system typeoptional



You are allowed to bind as transmitter, receiver or transceiver. In order to receive delivery reports, you
must bind as transceiver or receiver.
You’ll receive delivery reports only if your route provides delivery reporting. Delivery reports will be sent
equally over all of your currently available sessions capable of receiving them (transceiver or receiver). You
are allowed to bind with at most 4 sessions.


PDUs supported:
bind_transmitter, bind_receiver, bind_transceiver, unbind, submit_sm, deliver_sm, enquire_link

DR format:
“id: sub: dlvrd: submit
date: done date:
stat: err:”

Delivery statuses (message_stat):
DELIVRD, EXPIRED, DELETED, UNDELIV, ACCEPTD, DELIVERY UNKNOWN, REJECTED

Text encoding Please use GSM7 (IA5) as default encoding when sending messages.
If you are using ISO-8859-1 (Latin1) please let us know so that we can set up your account properly.

Scheduled delivery
Scheduled delivery is supported over SMPP protocol using the relative time format. For example, “070605040302100R”
would mean that message will be delivered 7 years, 6 months, 5 days, 4 hours, 3 minutes, 2 seconds and 1 tenth of
second from now.

Using different routes
In case you are allowed to use several different routes, you must use system_type parameter in the bind request.
System_type parameter should be in “R:route_code” format (example: “R:route_hq”). The
route code will be provided by your key account manager.
In case you set system_type = null (“”), the default routing setup will be used.

Number Context over SMPP specification

Using SMPP account, it is possible to request Number Context data (IMSI). In order to use Number Context, you can use
your default system_id and password, setting system_type = “HLR” (without quotation marks) in Bind PDU.
SubmitSM PDU is used for submitting the Number Context request, having destAddress parameter set to the required
destination address. All other parameters will be ignored (srcAddress, TON/NPI, etc). Number Context subsystem will
respond using a regular SubmitSMResp, containing message-id reference.
Once the Number Context request is being finalized on the system, you will receive DeliverSM PDU, containing the IMSI for the required destAddress, or error code in case of failure. DeliverSM will contain short message data with our regular delivery report, together with “IMSI:xxxxxxxxx” part (containing IMSI), serving MSC and a number of optional info fields depending on your package.


Flash notifications over SMPP specification


You can use your SMPP account to send Flash notifications. Such notifications are immediately displayed on your mobile
phone screen upon arrival and aren’t stored in the memory of such device. In order to use Flash notifications, you can use
your default system_id and password, setting system_type = “NSMS” (without quotation marks) in Bind PDU.
Procedure for submitting Flash notifications is exactly the same as for normal SMS, using SubmitSM PDU. The system
will automatically convert your message into Flash notification using message parameters you have submitted. Delivery
reports will be sent to you using DeliverSM PDU.
Please note that long SMS feature is not supported for Flash notifications.

SMS API URL FOR TEXT/PLAIN SMS

Get Request:
http://services.smsq.global/sms/api?action=sendsms&api_key=api_key_here&to=PhoneNumber&from=SenderID&sms=YourMessage

Post Request:
http://services.smsq.global/sms/api

ParameterValue
actionsend-sms
api_keyAPIKEY
fromSENDERID
toRECEIVER
smscontent
unicodeFor Unicode use 1

JSON RESPONSE EXAMPLE


Successfully SMS Send:
{“code”:”ok”,”message”:”Successfully Send”,”balance”:”50000″,”user”:”Robin”}

Wrong Api key:
{“code”:”102″,”message”:”Authentication Failed”}

Wrong Number :
{“code”:”103″,”message”:”1 invalid Phone Number on your list”}

Invalid Sender id :
{“code”:”106″,”message”:”Invalid Sender id”}BALANCE CHECK:

Balance Check

Get Request:
http://services.smsq.global/sms/api?action=check-balance&api_key=api_key_here&response=json

Post Request
http://services.smsq.global/sms/api?action=check-balance

ParameterValue
actioncheck-balance
api_keyAPIKEY
responseJSON


JSON RESPONSE EXAMPLE

Success Response:
{“balance”:” 50000 “,”user”:”Robin”,”country”:”Bangladesh”}

Wrong Api key:
{“code”:”102″,”message”:”Authentication Failed”