Indice
- Wiki
- API SEMPLIFICATE
- Utilità
## ACCESSO API AVANZATE - FULL API
Prima di poter usare le API attivale clicca a destra “sul nome utente > settings > enable webservice” e annota la token che verrà visualizzata in “webservice token”
Webservices URL: `https://www.smskdev.it/highway/index.php?app=ws`
## Parametri
Listed in the below table are webservices parameters for individual tasks.
Name | Description |
————– | ————– |
h | webservices token, configured by user from Preferences menu |
u | username |
p | password, supplied for op=get_token |
op | operation or type of action |
format | output format selection |
from | SMS sender ID (for op=pv) |
to | destination numbers, @username or #groupcode, may use commas |
footer | SMS footer (for op=pv) |
nofooter | remove SMS footer |
msg | message (+ or %20 for spaces, urlencode for non ascii chars) |
schedule | schedule message delivery, format: YYYY-MM-DD hh:mm:ss |
type | message type (flash or text or whatsapp) |
unicode | whether message unicode or not (1=unicode, 0=not unicode) |
queue | queue code |
src | sender number or ID |
dst | destination number (single number) |
dt | send SMS date/time |
smslog_id | SMS Log ID |
last | last SMS log ID (this number not included on result) |
c | number of delivery status that will be retrieved |
kwd | keyword |
Listed in the below table are webservices parameters for admin tasks.
Name | Description |
————– | ————– |
recvnum | receiver number (for op=inject) |
smsc | SMSC (for op=inject) |
data_* | admin tasks related supplied data |
Please note that all values should be URL encoded.
## Return Codes|
Below table listed return coded after unsuccessful call to a webservices operation. Successful operation will returns an OK data in the response message.
Please note that by default the response message is a JSON encoded message.
Error code | Description |
———- | ———– |
ERR 100 | authentication failed |
ERR 101 | type of action is invalid or unknown |
ERR 102 | one or more field empty |
ERR 103 | not enough credit for this operation |
ERR 104 | webservice token is not available |
ERR 105 | webservice token not enable for this user |
ERR 106 | webservice token not allowed from this IP address |
ERR 200 | send message failed |
ERR 201 | destination number or message is empty |
ERR 400 | no delivery status available |
ERR 401 | no delivery status retrieved and SMS still in queue |
ERR 402 | no delivery status retrieved and SMS has been processed from queue |
ERR 501 | no data returned or result is empty |
ERR 600 | admin level authentication failed |
ERR 601 | inject message failed |
ERR 602 | sender id or message is empty |
ERR 603 | account addition failed due to missing data |
ERR 604 | fail to add account |
ERR 605 | account removal failed due to unknown username |
ERR 606 | fail to remove account |
ERR 607 | set parent failed due to unknown username |
ERR 608 | fail to set parent |
ERR 609 | get parent failed due to unknown username |
ERR 610 | fail to get parent |
ERR 611 | account ban failed due to unknown username |
ERR 612 | fail to ban account |
ERR 613 | account unban failed due to unknown username |
ERR 614 | fail to unban account |
ERR 615 | editing account preferences failed due to missing data |
ERR 616 | fail to edit account preferences |
ERR 617 | editing account configuration failed due to missing data |
ERR 618 | fail to edit account configuration |
ERR 619 | viewing credit failed due to missing data |
ERR 620 | fail to view credit |
ERR 621 | adding credit failed due to missing data |
ERR 622 | fail to add credit |
ERR 623 | deducting credit failed due to missing data |
ERR 624 | fail to deduct credit |
Error code | Description |
———- | ———– |
ERR 1xx | authentication or parameter erorrs |
ERR 2xx | specific pv errors |
ERR 4xx | delivery status errors |
ERR 5xx | others |
ERR 6xx | administrative tasks |
## Protocol for non-admin tasks
### Send message
Send message to a single or multiple mobile numbers, @username or #groupcode
Parameters | Name or description |
———- | ——————– |
Operation | `pv` |
Mandatory | `u` `h` `to` `msg` |
Optional | `type` `unicode` `from` `footer` `nofooter` `format` |
Returns | return codes |
Parameter `to` can be international formatted mobile number, #groupcode or @username, or a mix of them. Separate by commas for multiple value.
### Outgoing SMS and delivery status
List outgoing SMS and delivery status.
Parameters | Name or description |
———- | ——————– |
Operation | `ds` |
Mandatory | `u` `h` |
Optional | `queue` `src` `dst` `dt` `smslog_id` `c` `last` `format` |
Returns | data or return codes |
Parameter `c` will retrieve as many as `c` value, `last` will retrieves data from last SMS log ID.
### Incoming SMS
List incoming SMS.
Parameters | Name or description |
———- | ——————– |
Operation | `in` |
Mandatory | `u` `h` |
Optional | `queue` `src` `dst` `dt` `smslog_id` `c` `last` `format` |
Returns | data or return codes |
Parameter `c` will retrieve as many as `c` value, `last` will retrieves data from last SMS log ID.
### Inbox
List SMS on user's inbox.
Parameters | Name or description |
———- | ——————– |
Operation | `ix` |
Mandatory | `u` `h` |
Optional | `queue` `src` `dst` `dt` `smslog_id` `c` `last` `format` |
Returns | data or return codes |
Parameter `c` will retrieve as many as `c` value, `last` will retrieves data from last SMS log ID.
### User credit
Get user's credit information.
Parameters | Name or description |
———- | ——————– |
Operation | `cr` |
Mandatory | `u` `h` |
Optional | `format` |
Returns | user's credit or return codes |
### Get token
Get user's webservices token. This can be used as a login mechanism.
Parameters | Name or description |
———- | ——————– |
Operation | `get_token` |
Mandatory | `u` `p` |
Optional | `format` |
Returns | webservices token or return codes |
### Set token
Set user's webservices token. This can be used as a change password mechanism.
Parameters | Name or description |
———- | ——————– |
Operation | `set_token` |
Mandatory | `u` `h` |
Optional | `format` |
Returns | new webservices token or return codes |
### Get contact list
Get contact list by name, mobile or email
Parameters | Name or description |
———- | ——————– |
Operation | `get_contact` |
Mandatory | `u` `h` `kwd` |
Optional | `c` `format` |
Returns | list of contacts similar or the same as `kwd` or return codes |
### Get group contact list
Get group contact list by name or code
Parameters | Name or description |
———- | ——————– |
Operation | `get_contact_group` |
Mandatory | `u` `h` `kwd` |
Optional | `c` `format` |
Returns | list of contact groups similar or the same as `kwd` or return codes |
### View account credit
View an account credit or balance|
Parameters | Name or description |
———- | ——————– |
Operation | `creditview` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes and balance |
## Protocol for admin tasks
### Inject message
Inject message to the system
Parameters | Name or description |
———- | ——————– |
Operation | `inject` |
Mandatory | `u` `h` `from` `msg` `recvnum` `smsc` |
Optional | `format` |
Returns | return codes |
Injected message will be treated as a valid incoming SMS.
### Stoplist Number
Will add a number to the stoplist.
Parameters | Name or description |
———- | |
Operation | `stoplist` |
Mandatory | `u` `h` `from` |
Optional | none |
Returns | return codes (failure code is 627) |
Number used in the 'from' field will be added to the stoplist feature to globally prevent outgoing messages sending to it. example: `https://www.smskdev.it/highway/index.php?app=ws&u=<admin user>&h=<webkey>&op=stoplist&from=<number to be added>`
### Add account
Add an account
Parameters | Name or description |
———- | |
Operation | `accountadd` |
Mandatory | `u` `h` `data_status` `data_username` `data_password` `data_name` `data_email` |
Optional | `format` `data_parent` `data_mobile` `data_datetime_timezone` `data_language_module` |
Returns | return codes and info |
Notes: * most mandatory and optional query parameters are prefixed with `data_` * data_status 2 is for admin level account * data_status 3 is for user level account * data_status 4 is for subuser level account * data_parent may need to be set when adding subuser level account
### Remove account
Remove an account
Parameters | Name or description |
———- | |
Operation | `accountremove` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes and info |
### Set parent for subuser
Set parent for subuser level account
Parameters | Name or description |
———- | |
Operation | `parentset` |
Mandatory | `u` `h` `data_username` `data_parent` |
Optional | `format` |
Returns | return codes |
### Get parent from subuser
Get parent from subuser level account
Parameters | Name or description |
———- | ——————– |
Operation | `parentget` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes and data parent |
### Ban an account
Ban an account
Parameters | Name or description |
———- | |
Operation | `accountban` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes |
### Unban an account
Unban an account
Parameters | Name or description |
———- | |
Operation | `accountunban` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes |
### Update account preferences
Update account preferences
Parameters | Name or description | ||
———- | |||
Operation | `accountpref` | ||
Mandatory | `u` `h` `data_username` | ||
Optional | `format` `data_name` `data_email` `data_mobile` `data_address` `data_city` `data_state` | `data_country` `data_zipcode` `data_password` | |
Returns | return codes and info |
Notes: * most mandatory and optional query parameters are prefixed with `data_` * this command may be used to update account's password
### Update account configuration
Update account configuration
Parameters | Name or description | ||
———- | |||
Operation | `accountconf` | ||
Mandatory | `u` `h` `data_username` | ||
Optional | `format` `data_footer` `datetime_timezone` `data_language_module` `data_fwd_to_inbox` | `data_fwd_to_email` `data_fwd_to_mobile` `data_local_length` `data_replace_zero` `data_sender` | |
Returns | return codes and info |
Notes: * most mandatory and optional query parameters are prefixed with `data_` * this command may be used to update account's default sender ID * only valid sender ID may be selected * `data_fwd_to_inbox` `data_fwd_to_email` `data_fwd_to_mobile` are boolean variables, fill with 0 to disable and 1 to enable * `data_local_length` used to detect local destination number by its length * `data_replace_zero` is a numeric only prefix number to replace prefix 0
### View account credit
View an account credit or balance
Parameters | Name or description |
———- | ——————– |
Operation | `creditview` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes and balance |
### Add account credit
Add credit to an account
Parameters | Name or description |
———- | ——————– |
Operation | `creditadd` |
Mandatory | `u` `h` `data_username` `data_amount` |
Optional | `format` |
Returns | return codes, updated balance and amount |
### Deduct account credit
Deduct credit to an account
Parameters | Name or description |
———- | |
Operation | `creditdeduct` |
Mandatory | `u` `h` `data_username` `data_amount` |
Optional | `format` |
Returns | return codes, updated balance and amount |
### Set login key
Set login key for an account
Parameters | Name or description |
———- | ——————– |
Operation | `loginkeyset` |
Mandatory | `u` `h` `data_username` |
Optional | `format` |
Returns | return codes and login key |
## Examples
### Send SMS
Example webservice URL:
Explanation:
highway webservices in x.dom with operation `op` pv (send SMS) was accessed by a user using username `u` and webservices token `h` with destination number `to` 0987654321, message `msg` 'test only' and expected output format is the default format, JSON format.
When succeeded highway will returns OK status message in JSON format:
``` {“data”:[{“status”:“OK”,“error”:“0”,“smslog_id”:“30”,“queue”:“afb5f34575e30ec4efe4471cf5d1bee4”,“to”:“0987654321”}],“error_string”:null} ``` When error occurred highway will returns one of the return code, also in JSON format.
##### Scheduled SMS:
Send SMS at 15:30:00 2019-04-29
``` https://www.smskdev.it/highway/index.php?app=ws&u=example&h=a45a02791b2fe2fedb078c39fd83637a&op=pv&to=0987654321&msg=test+only&schedule=2019-04-29%2015:30:00 ``` Both `+` and `%20` can be used between date and time, but `%20` is recommended.
### List of incoming SMS
Example webservice URL:
Explanation:
highway webservices in x.com with operation `op` in (incoming SMS) was accessed by a user using username `u` and webservices token `h` with keyword `kwd` IDOL and expected output format is in XML format `format=xml`.
When succeeded highway will returns OK status message in XML format:
``` <response>
<data> <item> <id>2</id> <src>+393000000111</src> <dst>1234</dst> <kwd>HCNX</kwd> <msg>A</msg> <dt>2013-05-20 12:40:38</dt> <status>1</status> </item> </data>
</response> ```
When error occurred highway will returns one of the return code, also in XML format.
### List of contacts on phonebook
Example webservice URL:
Explanation:
highway webservices in x.com with operation `op` get_contact was accessed by a user using username `u` and webservices token `h` with keyword `kwd` example and expected output format is in JSON format.
When succeeded highway will returns OK status message in JSON format:
``` {“status”:“OK”,“error”:“0”,“data”:[{“pid”:“13674”,“gpid”:“2”,“p_desc”:“Lorem ipsum”,“p_num”:“390000111”,“email”:“”,“group_name”:“Test Group”,“code”:“TESTGROUP”}],“multi”:true} ```
When error occurred highway will returns one of the return code, also in JS