# Postback notification codes

This document details the postback notification codes for MMS MT and MMS MO notifications.

## MMS MT postback codes

| Code | Status | Description |
|  --- | --- | --- |
| `N101` | Sent | Notification that MMS was sent/processing started. |
| `N102` | Delivered | Notification that MMS delivery status was updated or delivered. Carrier delivery receipts may not be available for all carriers. |
| `N103` | Expired | Notification that MMS expired. |
| `E101` | Failed | Sending failure. Impossible to send MMS. |
| `E102` | Rejected / Unrecognised | MMS delivery was not successful or destination/content was rejected/unrecognized. |
| `N003` | Transcoding successful | Saved MMS transcoding completed and template is available. |
| `E002` | Transcoding failed | Encoding of MMS audio failed for `savemms`. |
| `E003` | Transcoding failed | Encoding of MMS video failed for `savemms`. |
| `E004` | Transcoding failed | Encoding of MMS image failed for `savemms`. |
| `N013` | Transcoding successful and sending triggered | Transcoding completed and send processing was triggered. |
| `E011` | Content validation failed | Content validation failed. |
| `E012` | Transcoding failed | Encoding of MMS audio failed for `sendmms`; sending not triggered. |
| `E013` | Transcoding failed | Encoding of MMS video failed for `sendmms`; sending not triggered. |
| `E202` | Fallback SMS delivery failure | MMS as SMS delivery was not successful. |
| `E999` | Queue processing error | Post message sending queue processing error. |
| `N202` | Delivered as SMS | Notification that MMS was delivered as fallback SMS. |


## MMS MO postback codes

| Code | Status | Description |
|  --- | --- | --- |
| `N401` | MMS MO received | Inbound MMS received successfully. |


## MMS MT postback fields

| Field | Description |
|  --- | --- |
| `origin` | `MMS_MT`. |
| `code` | Postback notification code. |
| `sent-as` | `MMS` if sent/delivered as MMS; `SMS` if delivered as fallback SMS. |
| `status` | Transaction status such as Sent, Delivered, Failed, Rejected, or Expired. |
| `status-details` | Detailed status text. |
| `to` | Destination phone number with country code. |
| `from` | Sender number. |
| `timestamp` | Timestamp for the MMS MT transaction. |
| `tracking-id` | Tracking ID returned in the API response. |
| `client-reference` | Customer transaction ID passed in the request. |
| `mms-id` | MMS template ID when applicable. |
| `handset` | Handset profile returned inside delivery receipt when provided. |
| `content-type` | Content type when applicable. |
| `content-name` | Content file URL or object name when applicable. |
| `error-info` | Error detail for failure scenarios. |


## Example: `N101` MMS sent

```json
{
  "origin": "MMS_MT",
  "code": "N101",
  "sent-as": "MMS",
  "status": "Sent",
  "status-details": "Message Sent",
  "to": "17745550001",
  "from": "18885551234",
  "timestamp": "2026-04-24T18:30:00Z",
  "tracking-id": "abc123xyz",
  "client-reference": "send-001"
}
```

## Example: `N102` delivered

```json
{
  "origin": "MMS_MT",
  "code": "N102",
  "sent-as": "MMS",
  "status": "Delivered",
  "status-details": "Message Delivered",
  "to": "17745550001",
  "from": "18885551234",
  "timestamp": "2026-04-24T18:31:10Z",
  "tracking-id": "abc123xyz",
  "client-reference": "send-001",
  "handset": "Apple iPhone"
}
```

## Example: `E102` rejected

```json
{
  "origin": "MMS_MT",
  "code": "E102",
  "sent-as": "MMS",
  "status": "Rejected",
  "status-details": "Message Rejected",
  "to": "17745550001",
  "from": "18885551234",
  "timestamp": "2026-04-24T18:32:00Z",
  "tracking-id": "abc123xyz",
  "client-reference": "send-001",
  "error-info": "Delivery was not successful."
}
```

## Example: `N003` saved MMS ready

```json
{
  "origin": "MMS_MT",
  "code": "N003",
  "status": "Transcoding successful",
  "status-details": "MMS template is available for sending.",
  "mms-id": "123456",
  "tracking-id": "template-build-001",
  "client-reference": "template-build-001",
  "timestamp": "2026-04-24T18:33:00Z"
}
```