# Sinch Chat channel message support

When using a Sinch Chat channel with the Conversation API, you are able to send and receive various types of messages.

## Sending messages

The following table details which Conversation API generic message formats are supported on the Sinch Chat channel:

| Message Type | Natively Supported? |
|  --- | --- |
| Text Message | Yes, this type of message is natively supported. |
| Media Message | Yes, this type of message is natively supported for image messages. |
| Choice Message | Yes, this type of message is natively supported. |
| Card Message | Yes, this type of message is natively supported. |
| Carousel Message | Yes, this type of message is natively supported. |
| Location Message | Yes, this type of message is natively supported. |


### Delivery reports

Messages sent on the Sinch Chat channel can have one of two statuses: `DELIVERED` or `FAILED`.
Below is an example of a Conversation API `POST` to the `MESSAGE_DELIVERY` webhook with a `DELIVERED` report; a `FAILED` report would have a different `status` and `reason`.

```json
{
    "app_id": "01E3S8B6YCMRNR0GGM94H80ACX",
    "accepted_time": "2022-02-07T20:01:04.598Z",
    "event_time": "2022-02-07T20:01:09.892757478Z",
    "project_id": "c36f3d3d-1513-4edd-ae42-11995557ff61",
    "message_delivery_report": {
        "message_id": "01FVAWD1JP5PPB3KEZCBKGN0ES",
        "conversation_id": "01FNV9VKCVZ6S6FVGKF62QBZ75",
        "status": "DELIVERED",
        "channel_identity": {
            "channel": "SINCH_CHAT",
            "identity": "46702571492",
            "app_id": ""
        },
        "contact_id": "01FNV9VK83AMY60JPNHZ7YE9X6",
        "metadata": "",
        "processing_mode": "CONVERSATION"
    },
    "message_metadata": ""
}
```

## Receiving messages

The Sinch Chat channel supports contact-initiated text messages and media image messages.

Note:
Please note that the media URLs included in the contact messages are valid for 7 days.
After that the media is deleted from Conversation API storage.

### Text message response webhook example

Below is an example of a Conversation API `POST` to the `MESSAGE_INBOUND` webhook for a text message response:

```json
{
  "app_id": "01E3S8B6YCMRNR0GGM94H80ACX",
  "accepted_time": "2020-04-24T08:02:50.184581Z",
  "message": {
    "id": "01E6NKBV63YG6K01ENEW7S1N80",
    "direction": "TO_APP",
    "contact_message": {
      "text_message": {
        "text": "Hi from contact"
      }
    },
    "channel": "SINCH_CHAT",
    "conversation_id": "01E6K4A8PGZ6MV0GD3C7M901MZ",
    "contact_id": "01E6K4A8N3NANZ05VM0FS80EHD",
    "metadata": "",
    "accept_time": "2020-04-24T08:02:50.179021Z"
  }
}
```

### Media message response webhook example

Below is an example of a Conversation API `POST` to the `MESSAGE_INBOUND` webhook for a media message response:

```json
{
  "app_id": "01EB37HMH1M6SV18ASNS3G135H",
  "accepted_time": "2020-10-01T12:10:55.073703Z",
  "event_time": "2020-10-01T12:10:53.991Z",
  "project_id": "c36f3d3d-1513-4edd-ae42-11995557ff61",
  "message": {
    "id": "01EKJ1534NWK5R02TGWEJN13HA",
    "direction": "TO_APP",
    "contact_message": {
      "media_message": {
        "url": "https://1vxc0v12qhrm1e72gq1mmxkf-wpengine.netdna-ssl.com/wp-content/uploads/2019/05/Sinch-logo-Events.png"
      }
    },
    "channel_identity": {
      "channel": "SINCH_CHAT",
      "identity": "46712312312",
      "app_id": ""
    },
    "conversation_id": "01EKJ0KSWXMVDF05MG9TQ20S06",
    "contact_id": "01EKA07N79THJ20WSN6AS30TMW",
    "metadata": "",
    "accept_time": "2020-10-01T12:10:55.060170Z"
  }
}
```