SMS Deliverer HTTP API Documentation

Learn how to integrate SMS Deliverer with your web application using HTTP API. Supports GET/POST requests, JSON status reports, and bulk SMS via GSM/LTE modems.

Source: Official Online Help https://www.smsdeliverer.com/onlinehelp/howto/httpapi/

Version: Ultimate Edition (HTTP API only available in Ultimate Edition)

Default Service Address: http://127.0.0.1:8888

Encoding: UTF-8

Authentication: Username & password authentication optional. Leave username and password empty string if authentication disabled.

General Notes

  1. GET Request: Parameters in URL query string. Chinese characters / spaces must be URL encoded (space = %20).
  2. Two POST formats
    • multipart/form-data: Single SMS and MMS message
    • application/json: Bulk multiple SMS messages
  3. Response: Returns message ID text on success. No structured JSON for exceptions, HTTP status code remains 200.
  4. Priority prior: '1' means high priority, message is inserted at front of outbox queue for faster delivery.
  5. Optional parameters com, imsi: Assign specific modem by COM port or SIM IMSI. Leave empty for automatic device allocation.

API Index

  1. GET Send Single SMS
  2. POST multipart/form-data Send Single SMS
  3. POST application/json Bulk Send Multiple SMS
  4. POST multipart/form-data Send MMS
  5. GET /getsiminfo Get All SIM Card Info
  6. GET /outbox Get Outbox Queue Statistics
  7. GET/POST /GETMDMSTAT Get Modem Device Status
  8. GET/POST /RESTARTMDM Restart Modem Device
  9. GET/POST /AIRMDM Enable/Disable Airplane Mode
  10. GET/POST /GETNUMBER Query SIM Card Phone Number
  11. GET/POST /DISABLEPORT Disable Specified COM Port

1. GET Send Single SMS

Request URL: http://127.0.0.1:8888

Method: GET

Query Parameters

Parameter Type Required Description
username string No Auth username, empty if auth disabled
password string No Auth password, empty if auth disabled
to string Yes Recipient mobile number
message string Yes SMS text. Spaces / Chinese characters require URL encoding
prior int No Priority. '1' = high priority
com string No Specify COM port, e.g. COM4
imsi string No Specify SIM card IMSI
ID string No Custom message ID. Auto generate UUID if omitted

Request Example 1 (Auto-generated ID)

GET http://127.0.0.1:8888?username=&password=&to=123456&message=hello%20world&prior=0&com=COM4&imsi=460123456000000

Response (auto generated message ID)

b4e320a4-704a-48fb-9015-1c27b8d57c85

Request Example 2 (Custom message ID)

GET http://127.0.0.1:8888?ID=99123345678&username=&password=&to=123456&message=hello%20world&prior=0&com=COM4&imsi=460123456000000

Response (custom ID returned as-is)

99123345678

2. POST multipart/form-data Send Single SMS

Request URL: http://127.0.0.1:8888

Method: POST

Content-Type: multipart/form-data

Form Fields

Field Type Required Description
username string No Username
password string No Password
to string Yes Recipient number
message string Yes SMS text, UTF-8
prior int No Priority
com string No Specify COM port
imsi string No Specify SIM IMSI

Request Example

POST http://127.0.0.1:8888 HTTP/1.1
Host: 127.0.0.1:8888
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryXXX

------WebKitFormBoundaryXXX
Content-Disposition: form-data; name="username"

test
------WebKitFormBoundaryXXX
Content-Disposition: form-data; name="password"

test
------WebKitFormBoundaryXXX
Content-Disposition: form-data; name="to"

13800138000
------WebKitFormBoundaryXXX
Content-Disposition: form-data; name="message"

hello world
------WebKitFormBoundaryXXX--

Response

58773d6c-d79e-489d-8c79-6d4f5508d762

3. POST application/json Bulk Send Multiple SMS

Request URL: http://127.0.0.1:8888

Method: POST

Content-Type: application/json

Body JSON Fields

Field Type Required Description
username string No Account username
password string No Account password
messages array Yes Array of SMS items

Single message item:

Field Type Description
id string Custom message ID
to string Recipient mobile number
message string SMS content
com string Specify COM port (optional)
imsi string Specify SIM IMSI (optional)
prior int Priority (optional)

Request Example

{
    "username": "",
    "password": "",
    "messages": [
        {
            "id": "c7d05392-ecd6-4f99-8618-36fd6b39115f",
            "to": "13800138000",
            "message": "test message 1",
            "com": "",
            "imsi": "",
            "prior": 0
        },
        {
            "id": "ebf79454-8e55-4c9a-8387-af1570101b32",
            "to": "13900139000",
            "message": "test message 2",
            "com": "",
            "imsi": "",
            "prior": 0
        }
    ]
}

Response

OK

4. POST multipart/form-data Send MMS

Request URL: http://127.0.0.1:8888

Method: POST

Content-Type: multipart/form-data, supports file attachments

Form Fields

Field Type Required Description
username string No Account username
password string No Account password
to string Yes Recipient number
subject string Yes MMS subject
body string Yes MMS text content
attachment file Yes Primary attachment (image/audio)
attachment1 file No Second attachment
attachment2 file No Third attachment
prior int No Priority
com string No Specify COM port
imsi string No Specify SIM IMSI

Response

xxxx-xxxx-xxxx

5. GET /getsiminfo Get All SIM Card Info

Request URL: http://127.0.0.1:8888/getsiminfo

Method: GET

Response Example

{
    "status": "running",
    "siminfo": [
        {
            "imsi": "370029417082291",
            "com": "COM20",
            "phoneno": "+8861563742346"
        },
        {
            "imsi": "373029417082291",
            "com": "COM21",
            "phoneno": "+1031526856"
        }
    ]
}
Field Description
status Service running status
siminfo[].imsi SIM IMSI
siminfo[].com Associated COM port
siminfo[].phoneno SIM card phone number

6. GET /outbox Get Outbox Queue Statistics

Request URL: http://127.0.0.1:8888/outbox

Method: GET

If queue function enabled, returns 6 comma-separated integers representing pending message count of six independent outboxes.

Response

300,0,0,0,0,0

7. GET/POST /GETMDMSTAT Get Modem Device Status

Request URL: http://127.0.0.1:8888/GETMDMSTAT?ID=xxxx

Method: GET / POST

Query specific ports: http://127.0.0.1:8888/GETMDMSTAT?ID=xxxx&COM20=&COM21=

portstat Status Code

Value Meaning
0 normal
1 error
2 disable

Response Example

{
    "id": "xxxx",
    "status": "running",
    "mdminfo": [
        {
            "com": "COM20",
            "imsi": "370036417082292",
            "phoneno": "+8861563742346",
            "smslimit": "1,30",
            "portstat": "0"
        },
        {
            "com": "COM21",
            "imsi": "650129417083393",
            "phoneno": "+8861563742343",
            "smslimit": "1,30",
            "portstat": "1"
        }
    ]
}

8. GET/POST /RESTARTMDM Restart Modem Device

Request URL: http://127.0.0.1:8888/RESTARTMDM?ID=xxxx

Method: GET / POST

Restart specific ports: http://127.0.0.1:8888/RESTARTMDM?ID=xxxx&COM13=&COM14=

result Code

Value Meaning
0 Operation success
1 Operation failed

Response Example

{
    "id": "xxxx",
    "status": "running",
    "mdminfo": [
        { "com": "com13", "result": "0" },
        { "com": "com14", "result": "0" }
    ]
}

9. GET/POST /AIRMDM Enable/Disable Airplane Mode

Request URL: http://127.0.0.1:8888/AIRMDM?ID=xxxx

Method: GET / POST

Specify ports: http://127.0.0.1:8888/AIRMDM?ID=xxxx&COM13=&COM14=

Response Example

{
    "id": "xxxx",
    "status": "running",
    "mdminfo": [
        { "com": "com13", "result": "0" },
        { "com": "com14", "result": "1" }
    ]
}

result=0 success, result=1 failed


10. GET/POST /GETNUMBER Query SIM Card Phone Number

Request URL: http://127.0.0.1:8888/GETNUMBER?ID=xxxx

Method: GET / POST

Specify ports: http://127.0.0.1:8888/GETNUMBER?ID=xxxx&COM13=&COM14=

Response Example

{
    "id": "xxxx",
    "status": "running",
    "mdminfo": [
        { "com": "com13", "result": "0", "phoneno": "+8613800138000" },
        { "com": "com14", "result": "1", "phoneno": "" }
    ]
}

result=0 success, result=1 failed


11. GET/POST /DISABLEPORT Disable Specified COM Port

Request URL: http://127.0.0.1:8888/DISABLEPORT?ID=xxxx

Method: GET / POST

Specify ports: http://127.0.0.1:8888/DISABLEPORT?ID=xxxx&COM13=&COM14=

Response Example

{
    "id": "xxxx",
    "status": "running",
    "mdminfo": [
        { "com": "com13", "result": "0" },
        { "com": "com14", "result": "1" }
    ]
}

result=0 success, result=1 failed



curl Test Examples

1) GET send single SMS

curl "http://127.0.0.1:8888?username=&password=&to=13800138000&message=hello%20world&prior=0"

2) JSON bulk SMS submit

curl -X POST http://127.0.0.1:8888 \
-H "Content-Type: application/json" \
-d '{
"username":"",
"password":"",
"messages":[
{"id":"msg001","to":"13800138000","message":"test1"}
]
}'

FAQ

  1. Q: Garbled Chinese characters? A: All request content must use UTF-8 encoding. Chinese and spaces in GET query must be URL encoded.

  2. Q: No JSON error response? A: Native API design returns plain message ID on success. No structured JSON for exceptions. Use callback webhook to get delivery status.

  3. Q: Receiving duplicated callback messages? A: Your service endpoint did not return the matching message ID, software considers delivery failed and retries automatically.

  4. Q: Cannot connect API server? A: Make sure you click Start inside SMS Deliverer to launch HTTP Server. This feature requires Ultimate Edition.

Want to get incoming SMS with real time? refer to HTTP callback