# 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="/files/B5L0gVQR19oIbxO6tlzH" 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 ](/thong-tin-chung.md#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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.caresoft.vn/danh-muc/restful-api-cua-caresoft/chat/danh-sach-tin-nhan-chat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
