# Danh sách tin nhắn chat

## Lấy chi tiết danh sách tin nhắn chat

Từ lịch sử Chat nhà phát triển có thể lấy thêm nội dung chat chi tiết theo API dưới đây.&#x20;

{% hint style="info" %}
Lưu ý: API bị giới hạn lọc trong khoảng thời gian 31 ngày, tham số `start_time_since` là tham số bắt buộc, `start_time_to` không truyền  sẽ lấy ngày hiện tại. `start_time_since` và `start_time_to` không quá 30 ngày.&#x20;

Trường hợp không truyền tham số `conversation_type`. Hệ thống mặc định là lịch sử tin nhắn live chat (tương đương conversation\_type=0)
{% endhint %}

**Bảng mô tả các tham số trả về từ CareSoft**&#x20;

<table><thead><tr><th width="106.33333333333331">Stt</th><th>Trường dữ liệu</th><th>Mô tả</th></tr></thead><tbody><tr><td>1</td><td>code</td><td>Trạng thái <br>ok: Thành công<br>errors: Thất bại</td></tr><tr><td>2</td><td>numFound</td><td>Số lượng bản ghi tìm thấy</td></tr><tr><td>3</td><td>chats</td><td>Mảng danh sách các tin nhắn trao đổi thỏa mãn điều kiện tìm kiếm</td></tr></tbody></table>

Bảng mô tả chi tiết dữ liệu trong mảng "**chats**"

<table><thead><tr><th width="106">Stt</th><th width="207">Trường dữ liệu</th><th>Mô tả</th></tr></thead><tbody><tr><td>1</td><td>conversation_id</td><td>ID phiên chat</td></tr><tr><td>2</td><td>conversation_type</td><td>Loại chat <br>0: Live Chat<br>1: Messenger và Instagram<br>3: Zalo</td></tr><tr><td>3</td><td>msg_id</td><td>Message ID</td></tr><tr><td>4</td><td>content</td><td>Nội dung chat. Nội dung này là dạng text thuần hoặc object JSON phụ thuộc vào trường "type" phía dưới</td></tr><tr><td>5</td><td>type</td><td><strong>Kiểu nội dung</strong><br>1. Văn bản<br>2. Object json file đính kèm<br>3. Văn bản do hệ thống sinh ra<br>4. Object Json template (template_type: buttons, generic, reply_to, transaction_order, promotion)<br><strong>Lưu ý:</strong> <em>Kiểu nội dung sẽ quyết định phần content là JSON OBJECT hoặc text thuần</em> </td></tr><tr><td>6</td><td>time</td><td>Thời điểm phát sinh đoạn tin chat</td></tr><tr><td>7</td><td>message_index</td><td>Thứ tự đoạn chat trong hội thoại. Một phiên chat (conversation) có nhiều mẩu tin chat qua lại các mẩu tin này sẽ đánh index với tham số message_index từ nhỏ đến lớn để biết được time_line của phiên chat và trình tự các mẩu tin chat) </td></tr><tr><td>8</td><td>service_id</td><td>ID dịch vụ của phiên chat</td></tr><tr><td>9</td><td>start_time</td><td>Thời điểm bắt đầu phiên chat </td></tr><tr><td>10</td><td>sender_agent_name</td><td>Tên chuyên viên gửi tin (Null là khách gửi hoặc hệ thống gửi / Cần ghép với type để loại bỏ tin hệ thống)</td></tr><tr><td>11</td><td>sender_agent_id</td><td>ID chuyên viên gửi tin (Null là khách gửi hoặc hệ thống gửi / Cần ghép với type để loại bỏ tin hệ thống)</td></tr><tr><td>12</td><td>sender_visitor_name</td><td>Tên khách gửi tin (Null là chuyên viên hoặc hệ thống gửi / Cần ghép với type để loại bỏ tin hệ thống) </td></tr><tr><td>13</td><td>sender_visitor_id</td><td>Id  khách gửi tin (Null là chuyên viên hoặc hệ thống gửi / Cần ghép với type để loại bỏ tin hệ thống) </td></tr><tr><td>14</td><td>last_agent_user_id</td><td>ID của chuyên viên xử lý phiên chat</td></tr><tr><td>15</td><td>ticket_id</td><td>ID phiếu ghi liên quan</td></tr><tr><td>16</td><td>requester_id</td><td>ID Khách hàng hình thành trên hệ thống CareSoft</td></tr><tr><td>17</td><td>oa_name (*)</td><td>Zalo OA của tin nhắn. Chỉ có khi conversation_type=3</td></tr><tr><td>18</td><td>oa_id (*)</td><td>Zalo OA ID của tin nhắn  Chỉ có khi conversation_type=3</td></tr><tr><td>19</td><td>page_name (**)</td><td>Tên trang Facebook/Instagram khách chat vào. Chỉ có khi conversation_type=1</td></tr><tr><td>20</td><td>page_id  (**)</td><td>ID trang Facebook/Instagram khách chat vào. Chỉ có khi conversation_type=1</td></tr><tr><td>21</td><td>platform  (**)</td><td>Nền tảng chat vào. Chỉ có khi conversation_type=1<br>Có các giá trị:<br>- MESSENGER: Tin nhắn Inbox Facebook<br>- INSTAGRAM: Tin nhắn Instagram </td></tr></tbody></table>

*(\*)   Chỉ có khi conversation\_type=3*\
*(\*\*) Chỉ có khi conversation\_type=1*

**Cấu hình postman mô phỏng ví dụ**

<figure><img src="https://2193274687-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fw9FEMPuWidjTVayVtnJj%2Fuploads%2FZjsbD5Ee0ag23gmNhpgB%2Fimage.png?alt=media&#x26;token=594a8427-fb51-4468-ae2e-79e573c5e7a0" alt=""><figcaption></figcaption></figure>

Mẫu dữ liệu trả về

```json
{
    "code": "ok",
    "numFound": 18,
    "chats": [
        {   "conversation_id": "20230822134203-ZGDMRWGB-77677",
            "id": 799734999,
            "msg_id": "20230822134203-ZGDMRWGB-77677;1692686523409",
            "message_index": 2,
            "content": "Admin đã thoát hội thoại",
            "time": "2023-08-22 13:55:19",
            "service_id": 62062484,
            "start_time": "2023-08-22 13:54:51",
            "sender_agent_name": null,
            "sender_agent_id": null,
            "sender_visitor_name": null,
            "sender_visitor_id": null,
            "last_agent_user_id": 124734559,
            "ticket_id": 421360514,
            "type": 3,
            "conversation_type": 3,
            "requester_id": 174137179,
            "oa_name": "CareSoft Test",
            "oa_id": "1600195475413752846"
            ...
        },
        ....
        ]
}
```

## API lấy danh sách chi tiết chat

<mark style="color:blue;">`GET`</mark> `{{domain}}/api/v1/chats/messages`

API lấy danh sách các đoạn tin chat chi tiết&#x20;

#### Query Parameters

| Name                                                 | Type               | Description                                                                                           |
| ---------------------------------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------- |
| start\_time\_since<mark style="color:red;">\*</mark> | DateTime (ISO8601) | <p>Thời gian bắt đầu phiên chat từ <br>Kiểu dữ liệu (yyyy-MM-ddTHH:mm:ssZ)</p>                        |
| start\_time\_to                                      | DateTime (ISO8601) | <p>Thời gian bắt đầu phiên chat tới <br>Kiểu dữ liệu (yyyy-MM-ddTHH:mm:ssZ)</p>                       |
| conversation\_type                                   | Int                | <p>Loại tin nhắn.<br>0: Live Chat (Mặc định) <br>1: Messenger/Instagram<br>3: Zalo<br></p>            |
| conversation\_id                                     | String             | Id phiên chat. Trong trường hợp trường này có giá trị thì hệ thống sẽ bỏ qua param conversation\_type |
| requester\_id                                        | Int                | ID khách hàng                                                                                         |
| last\_agent\_user\_id                                | Int                | Id chuyên viên xử lý phiên chat                                                                       |
| services                                             | Int                | ID dịch vụ                                                                                            |
| count                                                | Int                | Số bản ghi trên 1 lần request (tối đa 500), Mặc định 50                                               |
| page                                                 | Int                | Số trang dữ liệu request (Mặc định 1)                                                                 |

#### Headers

| Name                                   | Type   | Description                                                                                |
| -------------------------------------- | ------ | ------------------------------------------------------------------------------------------ |
| \*\*<mark style="color:red;">\*</mark> | String | [Thông tin xác thực chung ](https://docs.caresoft.vn/thong-tin-chung#phuong-thuc-xac-thuc) |

{% tabs %}
{% tab title="200: OK Thành công " %}
{% code title="Mẫu phản hồi loại Facebook" %}

```
{
    "code": "ok",
    "numFound": 31,
    "chats": [
        {
            "conversation_id": "20230822091139-ZGDMRWGB-54470",
            "id": 800076376,
            "msg_id": "20230822091139-ZGDMRWGB-54470;1692705699685",
            "message_index": 1000,
            "content": "Vui lòng đánh giá chúng tôi nhé",
            "time": "2023-08-22 19:01:40",
            "service_id": 61050371,
            "start_time": "2023-08-22 09:11:39",
            "sender_agent_name": "Facebook Survey: Mời bạn đáng giá",
            "sender_agent_id": -2,
            "sender_visitor_name": null,
            "sender_visitor_id": null,
            "last_agent_user_id": 139409084,
            "ticket_id": 421299776,
            "type": 1,
            "conversation_type": 1,
            "requester_id": 175278174,
            "page_name": "Lien xinh",
            "page_id": "100244086089719",
            "platform": "MESSENGER"
        },
        ....
        ]
    }
```

{% endcode %}

Mẫu phản hồi Live chat

```json
{
    "code": "ok",
    "numFound": 11,
    "chats": [
        {
            "conversation_id": "20230822165535-ZGDMRWGB-96844",
            "id": 799984961,
            "msg_id": "20230822165535-ZGDMRWGB-96844;1692698135525",
            "message_index": 3,
            "content": "đâsd đã thoát hội thoại",
            "time": "2023-08-22 17:30:19",
            "service_id": 60043410,
            "start_time": "2023-08-22 16:55:36",
            "sender_agent_name": null,
            "sender_agent_id": null,
            "sender_visitor_name": null,
            "sender_visitor_id": null,
            "last_agent_user_id": 124734559,
            "ticket_id": 421443464,
            "type": 3,
            "conversation_type": 0,
            "requester_id": 176584437
        },
        ....
        ]
    }
```

Mẫu phản hồi Zalo

```json
{
    "code": "ok",
    "numFound": 18,
    "chats": [
        {
            "conversation_id": "20230822134203-ZGDMRWGB-77677",
            "id": 799734999,
            "msg_id": "20230822134203-ZGDMRWGB-77677;1692686523409",
            "message_index": 2,
            "content": "Admin đã thoát hội thoại",
            "time": "2023-08-22 13:55:19",
            "service_id": 62062484,
            "start_time": "2023-08-22 13:54:51",
            "sender_agent_name": null,
            "sender_agent_id": null,
            "sender_visitor_name": null,
            "sender_visitor_id": null,
            "last_agent_user_id": 124734559,
            "ticket_id": 421360514,
            "type": 3,
            "conversation_type": 3,
            "requester_id": 174137179,
            "oa_name": "CareSoft Test",
            "oa_id": "1600195475413752846"
        },
        ....
        ]
    }
```

{% endtab %}

{% tab title="400: Bad Request Lỗi" %}
Lỗi ngày tháng truyền vào quá 31 ngày

{% code overflow="wrap" %}

```json
{
    "code": "errors",
    "message": "Request required [start_time_since/start_time_to] between 30 days "
}
```

{% endcode %}

Lỗi không tìm thấy  last\_agent\_user\_id từ param truyền vào&#x20;

```json
{
    "code": "errors",
    "message": "Not found last_agent_user_id: 1121212 "
}
```

Lỗi không tìm thấy khách hàng từ param truyền vào&#x20;

```json
{
    "code": "errors",
    "message": "Not found requester_id: 1 "
}
```

{% endtab %}
{% endtabs %}
