# `Unicom360.WhatsApp.MessageStatus`
[🔗](https://github.com/TechRode-Solution-Limited/unicom360-elixir/blob/v0.1.0/lib/unicom360/whatsapp/message_status.ex#L1)

The status of one WhatsApp message (canonical name `MessageStatus`).

  * `message_id`, `status` - `"ACCEPTED"`, `"SENT"`, `"DELIVERED"`, `"READ"`, `"FAILED"`,
    `"REJECTED"` or `"NOT_FOUND"` (open).
  * Except on `NOT_FOUND`: `user_reference_id`, `to`, `from`, `sent_at`, `delivered_at`,
    `read_at` (ISO 8601 strings, as received), `error` (a `Unicom360.WhatsApp.MessageError` or
    `nil`), `category`, `billable` and `refunded`.
  * `raw`, `extra` - the JSON object, and the members this version does not model.

# `t`

```elixir
@type t() :: %Unicom360.WhatsApp.MessageStatus{
  billable: boolean() | nil,
  category: String.t() | nil,
  delivered_at: String.t() | nil,
  error: Unicom360.WhatsApp.MessageError.t() | nil,
  extra: map(),
  from: String.t() | nil,
  message_id: String.t() | nil,
  raw: map(),
  read_at: String.t() | nil,
  refunded: boolean() | nil,
  sent_at: String.t() | nil,
  status: String.t() | nil,
  to: String.t() | nil,
  user_reference_id: String.t() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
