# Hẹn gọi & nhắc nhở

> Base URL: `https://pos.pages.fm/api/v1`. Xác thực bằng tham số truy vấn `api_key`.

## Danh sách hẹn gọi & nhắc nhở

`GET /shops/{SHOP_ID}/order_call_laters`

Lấy danh sách hẹn gọi & nhắc nhở

### Tham số

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `SHOP_ID` | path | integer | yes | Mã shop |
| `page_number` | query | integer |  | Số trang |
| `page_size` | query | integer |  | Kích thước trang |
| `key` | query | string |  | Lọc nhanh: `today` (hẹn gọi hôm nay), `upcoming` (hẹn gọi sau hôm nay), `overdue` (quá thời điểm hẹn gọi), `completed` (đã xử lý thành công). Không truyền tham số này nếu chỉ muốn lọc theo khoảng thời gian. Nếu truyền, điều kiện này được kết hợp đồng thời (AND) với bộ lọc thời gian. Values: `today`, `upcoming`, `overdue`, `completed`. |
| `filter_by_time` | query | string |  | Bộ lọc thời gian dạng chuỗi JSON. Truyền trong một query parameter (URL-encode chuỗi JSON), không truyền dưới dạng các query parameter lồng nhau. - `type`: `inserted_at` (Thời điểm tạo, mặc định), `called_at` (Đã xử lý lúc; loại các hẹn gọi chưa xử lý), hoặc `appointment_time` (Thời điểm hẹn gọi, trường `needs_call_at`). - `start_time`, `end_time`: số nguyên Unix timestamp tính bằng giây (UTC), phải truyền cả hai để áp dụng bộ lọc. Khoảng lọc bao gồm cả hai mốc. Cần chuyển khoảng ngày theo múi giờ mong muốn sang Unix timestamp trước khi gửi. - `editor_ids`: mảng ID nhân viên, bắt buộc khi lọc thời gian. Truyền `["-1"]` để chọn tất cả nhân viên. Lọc theo người chỉnh sửa cuối với `called_at`, các loại còn lại lọc theo người tạo. Các ví dụ bên dưới lọc ngày 15/10/2026, từ 00:00:00 đến 23:59:59 theo múi giờ UTC+7. |
| `start_needs_call` | query | integer (int64) |  | Mốc bắt đầu của khoảng thời điểm hẹn gọi (`needs_call_at`), tính cả mốc này, dạng Unix timestamp theo giây. Phải truyền cùng `end_needs_call`. Kết hợp đồng thời (AND) với các bộ lọc khác. |
| `end_needs_call` | query | integer (int64) |  | Mốc kết thúc của khoảng thời điểm hẹn gọi (`needs_call_at`), tính cả mốc này, dạng Unix timestamp theo giây. Phải truyền cùng `start_needs_call`. |
| `status` | query | integer |  | Trạng thái Values: `-1` Tất cả trạng thái, `0` Chưa xử lý, `3` Đang gọi / Đang xử lý, `1` Đã xử lý, `2` Không nghe máy / Không thành công, `7` Đã xóa. |

### Phản hồi

- `200` Success (object)

```json
{
  "success": true,
  "data": [
    {
      "called_at": "2024-01-30T01:54:17",
      "creator": {
        "avatar_url": null,
        "email": "vuson897654@gmail.com",
        "fb_id": "377936050731194",
        "id": "cee3c05e-5f85-43c4-b27e-889b99c50097",
        "name": "Vũ Sơn",
        "phone_number": null
      },
      "display_id": 70,
      "id": "1885d8d4-e210-4e56-bb32-683988a032f5",
      "need_notify_users": [
        "cee3c05e-5f85-43c4-b27e-889b99c50097"
      ],
      "needs_call_at": "2024-01-30T02:20:48",
      "notice_created": "Gọi lại cho khách",
      "order_display_id": "SOICUN-12943-02",
      "order_id": 106703,
      "status": 1,
      "type": "call"
    }
  ],
  "key": "today",
  "page_number": 1,
  "page_size": 30,
  "total_entries": 3,
  "total_pages": 1
}
```

## Tạo hẹn gọi & nhắc nhở

`POST /shops/{SHOP_ID}/order_call_laters`

### Tham số

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `SHOP_ID` | path | integer | yes | Mã shop |

### Nội dung yêu cầu

Thông tin yêu cầu chứa thông tin hẹn gọi & nhắc nhở

- `order_call_later` (object, required): 
  - `status` (integer): Trạng thái
  - `need_notify_users` (string[]): Nhân viên xử lý
  - `notice_created` (string): Thông tin thông báo
  - `needs_call_at` (string (date-time), required): Thời điểm cần gọi
  - `phone_number` (string, required): Số điện thoại
  - `order_ids` (string[]): Danh sách mã đơn hàng

```json
{
  "order_call_later": {
    "status": 0,
    "need_notify_users": [
      "cee3c05e-5f85-43c4-b27e-889b99c50097"
    ],
    "notice_created": "Gọi lại xác nhận",
    "needs_call_at": "2024-08-29T05:50:31.700Z",
    "phone_number": "0929911922",
    "order_ids": [
      "106703"
    ]
  }
}
```

### Phản hồi

- `200` Success (object)

```json
{
  "success": true
}
```
