Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Before implementing this method you must get Intelli to approve your implementation. The following plan should be used for querying message status

  1. Use the query to Get UnRead Final Statuses (in the User API section)-  the frequency you call this method will be determined on your message send rate and behaviour 

  2. Messages will receive  a final status not later than 49 hours after it is sent.

  3. Use the query by document Id (method shown below) to check for message status if you have not otherwise got a final status for a message after this 49 hour period. 

Endpoints

We'll have two endpoints:

  • REST (GET): /services/rest/message/status?username=[]&password=[]&documentId=[]

  • SOAP: /services/ws/message?wsdl (method: status)


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://server.submission.mc5.smspl.com/">

   <soapenv:Header/>

   <soapenv:Body>

      <ser:status>

         <username>?</username>

         <password>?</password>

         <documentId>?</documentId>

      </ser:status>

   </soapenv:Body>

</soapenv:Envelope>


What information to return?

...

 If documentId does exist

{

    "documentId": "4fbb6c371a88393bc47baf32",

    "recipient": "48660703691",

    "messageStatus": "10"

}

 for  when documentId does not exist

{

    "documentId": "4fbb6c371a88393bc47baf32",

    "messageStatus": "0"

}


Note that we only guarantee to hold message for status query for 80 hours after message send datetime.

For the SOAP endpoint (XML):


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

   <soap:Body>

      <ns1:sendSingle2Responsexmlns:ns1="http://server.submission.mc5.smspl.com/">

         <return>            

        <documentId>4fbb6cd21a88393bc47baf33</documentId>            

            <recipient>48660703691</recipient>

            <messageStatus>10</messageStatus>

         </return>

      </ns1:sendSingle2Response>

   </soap:Body>

</soap:Envelope>


Status codes
Anchor
Status_codes
Status_codes

Basing on https://admin.smartmessagingservices.net/wiki/download/attachments/12386334/SMSPL-SW-807-MCOR-0001+-+Web+Services+API+-+V1.06.2.pdf?version=1&modificationDate=1337252411000 and https://admin.smartmessagingservices.net/wiki/display/MC4API/Web+Service+to+query+status. Some status codes are omitted as they can't (yet) occur in our application.

...

Status code

...

Priority

...

Final

...

Meaning

...

When?

...

0

...

1

...

N

...

Unknown

...

Message with the given id not found. It is possible that the message was submitted, but not yet processed by a worker. Or that such a message doesn't exist.

...

2

...

9

...

Y

...

Delivered

...

Message was sent and Delivery Receipt was received as sent to us by the Mobile Network

...

3

...

6

...

Y

...

Expired

...

Message delivery failed and message expired (SMSC will no longer try to deliver it) as notified by Mobile Network

...

4

...

2

...

Y

...

Deleted

...

Message was deleted by Mobile Network

...

5

...

4

...

Y

...

Undeliverable

...

Message undeliverable as determined by Mobile Network

...

8

...

5

...

Y

...

Rejected

...

Message rejected by Mobile Nework

...

10

...

7

...

N

...

Submitted

...

Send request received from customer but not yet routed and sent to mobile network. May be temporarily unroutable due into inactive outbound bind.

...

11

...

8

...

N

...

Sent

...

Message has been sent to mobile network - delivery notification not yet received.

...

12

...

3

...

Y

...

Not deliverable

...

There's no Routing defined for the destination address to send the message to the mobile network.

...

13

...

4

...

Y

...

OA Whitelist

...

Origin Address whitelist validation failed

...

14

...

4

...

Y

...

Content filter block

...

Message has been blocked by content filter

...

15

...

4

...

Y

...

Invalid content

...

Message content does not include originator name

Priority relates to the status returned when a single message sent to us is longer than 160 characters and is sent as multiple parts to the SMSC making it possible for each message part to have a different status.  

If message parts have different statuses, the status returned in the query process will be the lowest priority status within the relevant message parts.   It is possible for one message part to show as delivered while the others show as sent.  A multipart message will not display on a handset until all message parts are delivered so the valid total message status is sent and this is what your message status query will return.   You can log into the user web application on MC5 and view the status of the individual message parts as each Outbound message to the SMSC shows as a separate entry in the SMS Out Volume Report

...

Status code

...

Final

...

Meaning

...

When?

...

-101

...

Y

...

No username

...

-102

...

Y

...

No password

...

-103

...

Y

...

No document id

...

-104

...

Y

...

Invalid recipient

...

Recipient number invalid - validation rules - numeric length: 8-16 inclusive

...

-105

...

Y

...

Invalid source

...

Sender number invalid - validation rules - in the system - hardcoded So alpha <2, 11>, digit < 3, 16>

...

-106

...

Y

...

Empty text

...

SMS text was empty

...

-109

...

Y

...

Invalid rotation algorithm provided

...

Available algorithms are: max_rotation, conversation

...

-110

...

Y

...

Invalid encoding name

...

Available encodings are e.g. "utf-16", "gsm", "iso-8859-1" etc. (see Send Single Message)

...

-200

...

Y

...

Invalid username/password

...

Last event: "invalid username/pass"

...

-201

...

Y

...

User disabled

...

Last event: "user disabled"

...

-202

...

Y

...

User blocked

...

Last event: "user blocked"

...

-210

...

Y

...

Insufficient credits

...

Last event: "no credits"

...

-230

...

Y

...

Document ID not matched

...

User does not have rights to check message status

...

-240

...

Y

...

Invalid (not supported) replyTo value

...

-910

...

Y

...

SMSC error

...

Last event: "send failure" 

...

-999

...

Y

...

Internal error

Missing status codes:

...

-110 (invalid xml): not possible? It would be an WS-framework error?

...

-211 (invalid service), -930 (status query timeout): N/A

...

-900 (service not available): ?

...

Full list of status code is available here Message Statuses

Submission URLs

To make the URLs uniform, the endpoints to submit messages will be:

...