Event-Triggered Callbacks

An event-triggered callback is returned after an event is sent to Vibes. In order to determine whether or not your event succeeded or failed, you will need to understand the components of an Event Processed Callback and register to receive those callbacks.

📘

What are events?

Events are primarily used for API-Triggered Messages. For more information on events and their uses, please see our Event-Triggered Messaging guide.

Callback Flow

Callbacks Event Flow Diagram

Callback Configuration

When registering for this callback, your request body should look something like the below example.

{
  "callback_type":"event_processed",
  "event_processed": {
    "event_type": "order_shipped"
  },
  "destination":{
    "url":"http://some.url",
    "method":"POST",
    "content_type":"application/json"
  },
  "start_date":"2017-01-01T00:00Z",
  "end_date":"2017-02-01T00:00Z",
}

To receive callbacks for all processed events, simply remove the event_type. See example below:

{
  "callback_type":"event_processed",
  "destination":{
    "url":"http://some.url",
    "method":"POST",
    "content_type":"application/json"
  },
  "start_date":"2017-01-01T00:00Z",
  "end_date":"2017-02-01T00:00Z",
}

Callback Body Examples

To help you understand the body of this callback, we’ve provided examples for both successes and failures.

Routing

Success

If the event was received and the action is processing, you will see a success callback such as the one below.

 {
  "event_id":"3a083a69-2064-430a-8ab6-72f163692ed2",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:02:36Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"processing",
        "status_reason":"accepted_by_event_triggered_message",
        "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
     }
  }
}

Failures

No routing rules

This indicates that the system was not able to find an action in the system (such as an Event-Triggered Campaign triggered by the event. Therefore, the system did not have an action to perform in response to the received event.

{
  "event_id":"fddbf770-f987-4928-91be-6b19c994562f",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:38:42Z",
  "event_processed":{
     "event_id":"5e9cabf7-228c-4f6e-944e-57b7728bc899",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"failed",
        "status_reason":"event_routing_failed",
        "failure":{
           "reason":"no_route_rules_found_for_event"
        }
     }
  }
}

Person doesn't belong to subscription list

This failure occurs if the person that is referenced in the event doesn’t belong to the subscription list that is associated to the event-triggered message.

 {
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"failed",
        "status_reason":"event_routing_failed",
        "failure":{
           "reason":"no_routes_accepted_event",
           "errors":[
              {
                 "error":"Person is not found",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
        }
     }
  }
}

Person not found

This failure occurs when the person that is referenced is not found in our mobile database.

 {
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"failed",
        "status_reason":"event_routing_failed",
        "failure":{
           "reason":"no_routes_accepted_event",
           "errors":[
              {
                 "error":"Person is not found",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
        }
     }
  }
}

Carrier not supported

This failure occurs when the MDN referenced in the event cannot be reached. This may be because the number is a landline, or it is on an unsupported carrier.

 {
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"et127_no_incentive_codes",
     "event_data":{
        "mdn": "+18609740638",
        "something": "some value"
     },
     "action":{
        "type":"send_message",
        "status":"failed",
        "status_reason":"event_message_action_failed",
        "failure":{
           "reason":"PermanentLookupFailureError",
           "errors":[
              {
                 "error":"Carrier Lookup for +18609740638 failed with error null is not a mobile phone number or its carrier [null] is currently not supported",
                 "resource_url": "/companies/zY5VnE7r/mobiledb/event_triggered_messages/276"
              }
           ]
  
        }
     }
  }
}

Message Processing

Success

SMS message queued to be sent to carrier

You will receive this callback when an SMS message was successfully generated for an event-triggered message and the message is queued to be sent to the carrier.

 {
   "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
   "callback_type":"event_processed",
   "event_type":"event_processed",
   "event_date":"2022-08-15T20:20:02Z",
   "event_processed":{
      "event_id":"4810008e-800d-460c-94f2-a5d60a70f058",
      "event_type":"day_of_delivery",
      "event_data":{
         "first_name":"Bob",
         "external_person_id":"abcd12345",
         "delivery_time":"5:00 PM",
         "order_url":"https://example.com/orders/12345"
      },
      "debug_data":{
         "field":"CUST_SYSTEM"
      },
      "action":{
         "type":"send_message",
         "status":"processing",
         "status_reason":"queued",
         "message_type":"sms",
         "sms":{
            "source":{
               "resource_url":"/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
            },
            "person":{
               "person_key":"w2e2127r-w413-841w-8t40-480b85dc6t3e",
               "resource_url":"/companies/:company_key/mobiledb/persons/w2e2127r-w413-841w-8t40-480b85dc6t3e"
            }
         }
      }
   }
}

MMS queued to be sent to carrier

{
   "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
   "callback_type":"event_processed",
   "event_type":"event_processed",
   "event_date":"2022-08-15T20:20:02Z",
   "event_processed":{
      "event_id":"4810008e-800d-460c-94f2-a5d60a70f058",
      "event_type":"day_of_delivery",
      "event_data":{
         "first_name":"Bob",
         "external_person_id":"abcd12345",
         "delivery_time":"5:00 PM",
         "order_url":"https://example.com/orders/12345"
      },
      "debug_data":{
         "field":"CUST_SYSTEM"
      },
      "action":{
         "type":"send_message",
         "status":"processing",
         "status_reason":"queued",
         "message_type":"mms",
         "mms":{
            "source":{
               "resource_url":"/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
            },
            "person":{
               "person_key":"w2e2127r-w413-841w-8t40-480b85dc6t3e",
               "resource_url":"/companies/:company_key/mobiledb/persons/w2e2127r-w413-841w-8t40-480b85dc6t3e"
            }
         }
      }
   }
}

Failures

No incentive codes

This error may appear if the event-triggered message is attempting to distribute an incentive code from one of your incentive pools. If there are no incentive codes remaining in your pool, you will receive this failure message.

{
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"send_message",
        "status":"failed",
        "status_reason":"event_message_action_failed",
        "failure":{
           "reason":"NoAvailableCodes",
           "errors":[
              {
                 "error":"The referenced incentive pool is out of codes.",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
 
        }
     }
  }
}

SMS is not supported by targeted phone’s carrier

This error may appear if the targeted MDN’s carrier does not support SMS.

{
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"failed",
        "status_reason":"event_routing_failed",
        "failure":{
           "reason":"no_routes_accepted_event",
           "errors":[
              {
                 "error":"SMS is not supported by carrier",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
        }
     }
  }
}

MMS is not supported by targeted phone’s carrier

This error may appear if the targeted MDN’s carrier does not support MMS.

{
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"routing",
        "status":"failed",
        "status_reason":"event_routing_failed",
        "failure":{
           "reason":"no_routes_accepted_event",
           "errors":[
              {
                 "error":"MMS is not supported by carrier",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
        }
     }
  }
}

MMS asset missing

If you are using a dynamic MMS token, this error can occur if your event did not include a URL to the intended media asset.

{
  "event_id": "b4e31f74-fe43-464d-802f-04ea7225191a",
  "callback_type": "event_processed",
  "event_type": "event_processed",
  "event_date": "2023-09-11T20:43:25Z",
  "event_processed": {
    "event_id": "0a6e28da-1cff-4d6b-8787-45f1aa4106ca",
    "event_type": "day_of_delivery",
    "event_data": {
      "external_person_id": "abcd12345"
    },
    "debug_data": {},
    "action": {
      "type": "send_message",
      "status": "failed",
      "status_reason": "event_message_action_failed",
      "failure": {
        "reason": "ValidationError",
        "errors": [
          {
            "error": "Rendered media URL is blank",
            "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
          }
        ]
      }
    }
  }
}

Dynamic media asset is not supported

If you are using a dynamic MMS token, you may receive an error if your media URL does not comply with the MMS Guidelines. Below are two examples.

If your media asset is not the correct content type:

{
  "event_id": "87218c45-fb0a-46a1-9724-d3c9fc5ac53d",
  "callback_type": "event_processed",
  "event_type": "event_processed",
  "event_date": "2023-09-11T20:45:33Z",
  "event_processed": {
    "event_id": "04fedc62-b616-444f-8042-84f6911025c7",
    "event_type": "day_of_delivery",
    "event_data": {
      "external_person_id": "abcd12345",
      "media_url": "https://example.com/orders/12345"
    },
    "debug_data": {},
    "action": {
      "type": "send_message",
      "status": "failed",
      "status_reason": "event_message_action_failed",
      "failure": {
        "reason": "ValidationError",
        "errors": [
          {
            "error": "Content of type application/pdf are not allowed",
            "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
          }
        ]
      }
    }
  }
}

If your media URL asset is too big:

{
  "event_id": "d53c0423-fa0a-4f6e-8156-636b3ac7adc6",
  "callback_type": "event_processed",
  "event_type": "event_processed",
  "event_date": "2023-09-11T20:47:29Z",
  "event_processed": {
    "event_id": "3a889c19-aa9d-466d-a6c0-9c4eaf12f402",
    "event_type": "day_of_delivery",
    "event_data": {
      "external_person_id": "abcd12345",
      "media_url": "https://example.com/orders/12345"
    },
    "debug_data": {},
    "action": {
      "type": "send_message",
      "status": "failed",
      "status_reason": "event_message_action_failed",
      "failure": {
        "reason": "ValidationError",
        "errors": [
          {
            "error": "Image size cannot exceed 0.5 megabytes",
            "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
          }
        ]
      }
    }
  }
}

Unexpected error

When some unexpected error has occurred during the event-triggered message, you may receive this code.

 {
  "event_id":"4a6dcfcf-16be-474d-b87f-ee64a08f6dab",
  "callback_type":"event_processed",
  "event_date":"2022-08-15T20:20:02Z",
  "event_processed":{
     "event_id":"3b0e5871-d8b5-4393-b275-07ca0541c8de",
     "event_type":"day_of_delivery",
     "event_data":{
        "first_name":"Bob",
        "external_person_id":"abcd12345",
        "delivery_time":"5:00 PM",
        "order_url":"https://example.com/orders/12345"
     },
     "debug_data":{
        "field":"CUST_SYSTEM"
     },
     "action":{
        "type":"send_message",
        "status":"failed",
        "status_reason":"UnexpectedError",
        "failure":{
           "reason":"UnexpectedError",
           "errors":[
              {
                 "error":"Reason for unexpected error.",
                 "resource_url": "/companies/:company_key/mobiledb/event_triggered_messages/:event_triggered_message_id"
              }
           ]
 
        }
     }
  }
}

Carrier Delivery Receipts

You will receive this callback after you attempt to send an SMS message to a carrier to be delivered to a device.

Success

Successfully delivered to carrier

The payload for a successful message delivery should look like the example below.

{
  "event_id": "2f497bd0-d889-4817-866d-cde73182860e",
  "callback_type": "event_processed",
  "event_type": "event_processed",
  "event_date": "2023-05-05T16: 15: 40Z",
  "event_processed": {
    "event_id": "2a14821e-4835-45fe-a140-d5d8c2edeffb",
    “event_type": "day_of_delivery",
    "event_data": {
      "first_name": "Bob",
      "external_person_id": "abcd12345",
      "delivery_time": "5:00 PM",
      "order_url": "https://example.com/orders/12345"
    },
    "debug_data": {
      "field": "CUST_SYSTEM"
    },
    "action": {
      "type": "send_message",
      "status": "success",
      "status_reason": "sent",
      "message_type": "sms",
      "sms": {
        "source": {
          "url": "/companies/: company_key/mobiledb/event_triggered_messages/: event_triggered_message_id"
        },
        "person": {
          "person_key": "7807b79a-db30-4975-99b0-b89f41a492ac",
          "url": "/companies/: company_key/mobiledb/persons/7807b79a-db30-4975-99b0-b89f41a492ac"
        }
      }
    }
  }
}

Could not be delivered to carrier

The payload for a failed message delivery should look like the example below.

{
  "event_id": "2f497bd0-d889-4817-866d-cde73182860e",
  "callback_type": "event_processed",
  "event_type": "event_processed",
  "event_date": "2023-05-05T16: 15: 40Z",
  "event_processed": {
    "event_id": "2a14821e-4835-45fe-a140-d5d8c2edeffb",
    “event_type": "day_of_delivery",
    "event_data": {
      "first_name": "Bob",
      "external_person_id": "abcd12345",
      "delivery_time": "5:00 PM",
      "order_url": "https://example.com/orders/12345"
    },
    "debug_data": {
      "field": "CUST_SYSTEM"
    },
    "action": {
      "type": "send_message",
      "status": "failed",
      "status_reason": "rejected", 
      "message_type": "sms",
      "sms": {
        "source": {
          "url": "/companies/: company_key/mobiledb/event_triggered_messages/: event_triggered_message_id"
        },
        "person": {
          "person_key": "7807b79a-db30-4975-99b0-b89f41a492ac",
          "url": "/companies/: company_key/mobiledb/persons/7807b79a-db30-4975-99b0-b89f41a492ac"
        }
      },
      "failure": {
        "errors": [
          {
            "error_code": 23 ***
          }
        ]
      }
    }
  }
}

Please refer to our documentation error codes here. For status reasons, please see the below table.

status_reasonDescription
rejectedMessage was rejected by the endpoint.
unroutableNo delivery route could be determined for this message.
queuedMessage is queued for delivery and waiting final confirmation.
expiredThe message was expired and not delivered.
other_errorA catch-all error state for specific errors/issues that could not get classified.

Notes:

When a customer event is sent into the platform, it may generate an SMS message that is required to be split into multiple parts to send to the carrier. In cases where the message is split into parts, there will be a Carrier DLR for each part of the SMS message that was attempted to be sent to the carrier.

  • A Carrier DLR Callback will be generated for these scenarios:
    • If an SMS message is small enough to not require splitting then there will be one Carrier DLR and in turn one Carrier DLR Callback generated indicating the success or failure of the attempted send.
    • If an SMS message is large enough that it is required to be split into parts to be sent to the carrier then:
      • A Carrier DLR Callback will be generated for each part that fails to be sent to the carrier.
      • A Carrier DLR Callback indicating a successful send to the carrier will ONLY be generated for the last part that was sent to the carrier.

Handset Delivery Receipts

You will receive this callback after your SMS message has been sent to deliver to a device.

Success

The payload for a successful message delivery should look like the example below.

{
  "event_id": "2f497bd0-d889-4817-866d-cde73182860e",
  "callback_type": "event_processed",
  "event_date": "2023-05-05T16: 15: 40Z",
  "event_processed": {
    “event_type": "day_of_delivery",
    "event_data": {
      "first_name": "Bob",
      "external_person_id": "abcd12345",
      "delivery_time": "5:00 PM",
      "order_url": "https://example.com/orders/12345"
    },
    "debug_data": {
      "field": "CUST_SYSTEM"
    },
    "action": {
      "type": "send_message",
      "status": "success",
      "status_reason": "delivered",
      "message_type": "sms",
      "sms": {
        "source": {
          "url": "/companies/: company_key/mobiledb/event_triggered_messages/: event_triggered_message_id"
        },
        "person": {
          "person_key": "7807b79a-db30-4975-99b0-b89f41a492ac",
          "url": "/companies/: company_key/mobiledb/persons/7807b79a-db30-4975-99b0-b89f41a492ac"
        }
      }
    }
  }
}

Failure

The payload for a failed message delivery should look like the example below.

{
  "event_id": "2f497bd0-d889-4817-866d-cde73182860e",
  "callback_type": "event_processed",
  "event_date": "2023-05-05T16: 15: 40Z",
  "event_processed": {
    “event_type": "day_of_delivery",
    "event_data": {
      "first_name": "Bob",
      "external_person_id": "abcd12345",
      "delivery_time": "5:00 PM",
      "order_url": "https://example.com/orders/12345"
    },
    "debug_data": {
      "field": "CUST_SYSTEM"
    },
    "action": {
      "type": "send_message",
      "status": "failed",
      "status_reason": "rejected", 
      "message_type": "sms",
      "sms": {
        "source": {
          "url": "/companies/: company_key/mobiledb/event_triggered_messages/: event_triggered_message_id"
        },
        "person": {
          "person_key": "7807b79a-db30-4975-99b0-b89f41a492ac",
          "url": "/companies/: company_key/mobiledb/persons/7807b79a-db30-4975-99b0-b89f41a492ac"
        }
      },
      "failure": {
        "errors": [
          {
            "error_code": 23 ***
          }
        ]
      }
    }
  }
}

Please refer to our documentation error codes here. For status reasons, please see the below table.

status_reasonDescription
default_vibes_unknownDefault unknown state of a delivery receipt.
enrouteThe message is in route to reach the customer.
queued_on_aggregatorThe message has been accepted by the aggregator and has been queued.
queued_on_carrierThe message has been accepted by the carrier and queued for delivery to the phone.
deliveredMessage has delivered to the handset.
expiredMessage validity expired before the message was delivered to the destination.
deletedMessage was deleted on the SMSC.
undeliverableThe message is undeliverable.
acceptedThe message was accepted. (i.e. has been manually read on behalf of the subscriber by customer service).
unknownThe message is in an invalid state.
rejectedThe message is in a rejected state.
not_optinVMP does not have an opt-in for the MDN. Verizon specific status.
pendingMessage is pending in VMP for submission. Verizon specific status.
submission_errorVerizon specific status.
submittedMessage has been submitted to the SMSC.

Notes

  • When a customer event is sent into the platform, it may generate an SMS message that is required to be split into multiple parts to send to the carrier and eventually to device. In cases where the message is split into parts, there will be a Handset DLR for each part of the SMS message that was attempted to be sent to the carrier.
  • A Handset DLR Callback will be generated for these scenarios:
    • If an SMS message is small enough to not require splitting then there will be one Handset DLR and in turn one Handset DLR Callback generated indicating the success or failure of the attempted delivery to the device.
    • If an SMS message is large enough that it is required to be split into parts to be sent to the carrier then:
      • A Handset DLR Callback will be generated for each part that fails to be sent to the device.
      • A Handset DLR Callback indicating a successful send to the device will ONLY be generated for the last part that was sent to the device.

Elements & Attributes

FieldProvided OnDescriptionValues
event_idSuccess/FailureUnique Event ID for the callback event.
event_dateSuccess/FailureWhen the event occurred.ISO-8601

YYYY-MM-DDTHH:MM:SSZ
callback_typeSuccess/FailureThe callback type that was registered for.Will always be event_processed
event_typeSuccess/FailureThe event_type that was sent in the original event.
event_dataSuccess/FailureThe event_data that was sent in the original event.
debug_dataSuccess/FailureThe debug_data that was sent in the original event.
actionSuccess/FailureAn object describing the details of the success or failure of the actions that were taken during the processing of the event that was sent to Vibes’ API.
action.typeSuccess/Failurerouting

send_message
action.statusSuccess/FailureIndication whether the action related to the event is in a processing state, failed or succeeded.success

failed

processing
action.status_reasonSuccess/FailureIndicates the reason for the action status.
action.message_typeProcessing/FailureIndication of what type of message is being referenced.sms
action.sms.source.resource_url

OR

action.mms.source.resource_url
Processing/Failure (SMS or MMS)The path to the resource that generated the message.
action.sms.person.person_key

OR

action.mms.person.person_key
Processing/Failure (SMS or MMS)The person key identifier for the person that was associated to the message that was generated.
action.sms.person.resource_url

OR

action.mms.person.resource_url
Processing/Failure (SMS or MMS)The path to the person resource that was associated to the message that was generated.
failureFailureIf a failure has occurred, this object contains failure information for the action being described, including reason and error(s).

Additional Resources