Skip to content

Message Status

Jeremy Ho edited this page Apr 12, 2021 · 2 revisions

Message Status Flow

All email messages that flow through the CHES service will go through the following states. When you query the /status endpoints for your specific messages, you will find that the message will reside in one of the following (colored) statuses as shown below:

CHES Status States
Figure 1 - The states and valid transitions a message can have

Statuses

  • accepted - The message has been recognized by CHES and registered into the system
  • pending - The message is waiting to be processed
  • completed - The message has been dispatched to the SMTP server successfully
  • cancelled - The message has been cancelled by the client before it could dispatch
  • failed - The message failed to dispatch to the SMTP server

After you issue an /email or /merge request and get an HTTP 201 Accepted, the message will eventually automatically transition through the other states as shown above.

For example, suppose you inserted an email that is to be delayed until tomorrow. You can expect your message to be accepted, and then sit in pending status until the time you specified. Then that message will begin to process - and if it is successful, be marked as completed.

In the event the message is unable to be delivered for some reason or another, it will be marked as failed. However, the service is designed to try a maximum of 3 times before giving up. It will wait approximately 10 seconds or so before attempting to dispatch again between attempts. In nearly all situations, a retry is good enough to get the message through because most failures are caused by random network failure situations.

For more precise details on what you can do with your message in CHES, visit our API Documentation.

Clone this wiki locally