The purpose of this document is to summarize the best practices recommendations specifically for email and SMS deliveries.
The JobDeliveryStatus result contains two elements that are essential to status reporting.
1 – DeliveryDetail / State / code and /gammacode
This element indicates the current state of internal processing for this delivery destination.
- A state of Pending(1), Submitted(2), InProgress(3) or Held(6) indicates the job is still being processed. If this continues for an exorbitant amount of time (several hours), Customer Care should be contacted.
- A state of Error(4) or Cancelled(5) indicates there was a processing error internal to our system. This is usually accompanied by a gammacode indication. See the references for a list and description of gammacodes. No delivery attempts are made for items with these states.
- A state of Sent(7) indicates the message was processed by our system, and delivery was attempted. A gammacode of 0 indicates that the message was successfully handed off to a Message Transfer Agent (for email messages) or an SMS aggregators (for SMS messages). A non-zero gammacode indicates that there may have been some issue with delivering to the MTA or aggregator, and generally means that the message was not delivered..
2 – DeliveryDetail / Events / ArrivalEvent
- When the State is Sent (7) (even if the gammastatus is 0), additional indications of the delivery status may be returned to the system at a later date. For email deliveries, these status notices are called Delivery Status Notifications, and are documented in RFC 3463. For SMS messages these indications are known as DLR (delivery receipts), but they are stored identically within the switch.
-
- In the JobDeliveryStatus result, these status messages are returned in the ArrivalEvent element. ArrivalEvents contain three parts: Class, Subject and Detail, as described below.
- Class has three possible values: 2, 4 and 5:
2 – Success
4 – Persistent Transient Failure – applying retry algorithm may be successful
5 – Permanent Failure – Some change must be made for possibility of success.
- Subject may have values from 0 – 7:
0 – Other or Undefined subject
1 – Addressing
2 – Mailbox
3 – Mail System
4 – Network and Routing
5 – Mail Delivery Protocol
6 – Message Content or Media
7 – Security or Policy
- Detail values will depend on the Subject sub-code.
0 – Other or Undefined.
1 and above – depends on Subject context.
Because ArrivalEvents may not be received for all deliveries, the absence of an ArrivalEvent does not prove that the message was actually delivered. We recommend the use of other strategies (such as HTML open tracking) to verify receipt of messages.
Reference documents and manuals: