SMS API v1.3

1. SMS API Description

SMS API call method: HTTP GET.

HTTP encoding: UTF8.

URIs for the SMS API have the following structure:

{base_url}/{method_name}.php?{parameter1=value1}&{parameter2=value2}&...

Example:

GET http://localhost/smsapi/uLogin.php?uName=user1&pWord=pass1

If the function succeeds, the return value depends on the requested API method.

If the function fails, the return value is:

False[:Reason]

Reason is the optional. Common fail reasons:

Reason Description
Connection Unable to connect to MySQL database.
Session Invalid session or the session has expired.

2. SMS API Methods

2.1. Login

Path:

uLogin.php?uName=<login>&pWord=<password>

Parameters:

Parameter Required? Description
uName Yes User login
pWord Yes User password

Return value: session token. Example:

CiuJvP9na0gURFPVhahvDlCfGyhfBCg58T2SvdxcpW

2.2. Get items

Path:

uGetItems.php?token=<session_token>

Parameters:

Parameter Required? Description
token Yes Session token

Return value: the list of the items (<item_id>&<description> pairs; one item per line). Example:

100&Yahoo
200&Microsoft

2.3. Log out

Path:

uExit.php?token=<session_token>

Parameters:

Parameter Required? Description
token Yes Session token

Return value: Ok

2.4. Get phone

Path:

GetPhone.php?token=<session_token>&ItemId=<item_id>&Phone=<phone_number>

Parameters:

Parameter Required? Description
token Yes Session token
ItemId Yes Item ID
Phone No Optional phone number

Return value: phone number. Example:

1234567890

2.5. Get message

Path:

GMessage.php?token=<session_token>&ItemId=<item_id>&Phone=<phone_number>

Parameters:

Parameter Required? Description
token Yes Session token
ItemId Yes Item ID
Phone Yes Phone number

Return values:

  • If new message received:

    MSG&<item_id>&<phone_number>&<message_text>
    
  • If no new new messages: Null

2.6. Release phone

Path:

ReleasePhone.php?token=<session_token>&phoneList=<phone_list>

Parameters:

Parameter Required? Description
token Yes Session token
phoneList Yes List of the <phone_number>-<item_id> pairs, delimited by semicolon (;). Example: 1234567890-100;123456791-100

Return value: Ok

2.7. Release all phones

Path:

ReleaseAllPhone.php?token=<session_token>

Parameters:

Parameter Required? Description
token Yes Session token

Return value: Ok

2.8. Add phone to the blacklist

Path:

AddBlack.php?token=<session_token>&phoneList=<phone_list>

Parameters:

Parameter Required? Description
token Yes Session token
phoneList Yes List of the <phone_number>-<item_id> pairs, delimited by semicolon (;). Example: 1234567890-100;123456791-100

Return value: Ok

3. SMS API Configuration

SMS API configuration file is smsconf.php.

Name Description
$dbuser MySQL login.
$dbpass MySQL password.
$dbhost MySQL host.
$dbschema MySQL schema.
$max_user_sess Max. number of concurrent user’s sessions. 0 - no limit.
$sess_expire_seconds Session expires after these seconds. 0 - never expire.
$max_sess_phones Max. number of phones per session. 0 - no limit.
$phone_expire_seconds Phone number expires after these seconds. 0 - never expire.
$phone_hold_seconds Hold phone numbers these seconds. 0 - don’t hold.
$log_level 1 - return log information in response. 0 - no logging.
$log_dberr 1 - return DB errors in response. 0 - no db logging.

4. Removing the .php extension with mod_rewrite

RewriteEngine on
RewriteBase /smsapi/
RewriteRule ^(uLogin|uGetItems|uExit|GetPhone|GMessage|ReleasePhone|ReleaseAllPhone)$ /smsapi/$1.php [L,QSA]