Giải phápKhách hàng
Tài liệu

24/2/2026

Tóm tắt

blog.share_blog

Object Records

Xác thực

Sử dụng HTTP Header: Authorization: Bearer <API key>

Lấy object_type

Truy cập ứng dụng Settings → Đối tượng của Workspace.

alt text

Truy cập đối tượng bất kỳ.

alt text

Lấy slug trường của đối tượng

Truy cập ứng dụng Settings → Đối tượng của Workspace.

alt text

Truy cập đối tượng bất kỳ và chọn Danh sách trường dữ liệu.

alt text

Lấy danh sách slug trường của đối tượng tại đây.

alt text

Tạo bản ghi

URL: https://{WS_DOMAIN}.cogover.com/bapi/v1/records
HTTP method: POST
Content-Type: application/json

POST data (body):

{
    "object_type": "OTB7TBQE0LCZH",
    "data": {
        "name": "Nguyễn Văn A - Cogover",
        "last_name": "Nguyễn Văn",
        "first_name": "A",
        "status": "new",
        "owner": "PER2JN9QB6QCWZ",
        "rating": "warn",
        "salutation": null,
        "job_title": null,
        "lead_source": null,
        "mobile_phones": null,
        "emails": null,
        "description": null,
        "address": null,
        "company": null,
        "annual_revenue": null,
        "industry": null,
        "no_of_employees": null,
        "websites": null,
        "business_phones": null,
        "do_not_call": false
    },
    "client_time_zone": "Asia/Saigon"
}
Field Type Require Note
object_type String Yes Object ID, tham khảo cách lấy tại đây.
data Object Yes Dữ liệu của bản ghi, tham khảo lấy slug các trường tại đây.
client_time_zone String No Client timezone.

Sample response:

{
    "serviceVersion": 1,
    "service": 10200,
    "id": 1000000099,
    "type": 1,
    "body": {
        "msg": "OK",
        "r": 0,
        "data": {
            "id": "LEAE5LDQ76S9QL" // RECORD_ID
        }
    }
}

Cập nhật bản ghi

URL: https://{WS_DOMAIN}.cogover.com/bapi/v1/records/{RECORD_ID}
HTTP method: PUT
Content-Type: application/json

PUT data (body):

{
    "object_type": "OTB7TBQE0LCZH",
    "data": {
        "name": "Nguyễn Văn A - Cogover",
        "last_name": "Nguyễn Văn",
        "first_name": "B"
    }
}
Field Type Require Note
object_type String Yes Object ID, tham khảo cách lấy tại đây.
data Object Yes Dữ liệu của bản ghi, tham khảo lấy slug các trường tại đây.

Sample response:

{
    "msg": "OK",
    "r": 0,
    "data": {}
}

Xóa bản ghi

URL: https://{WS_DOMAIN}.cogover.com/bapi/v1/records/delete
HTTP method: POST
Content-Type: application/json

POST data (body):

{
   "object_type": "OT390PQECKYOM",
   "ids": [
       "LEA67HXQGEKMPQ",
       "LEAAUN7QIEKOF0"
   ]
}
Field Type Require Note
object_type String Yes Object ID, tham khảo cách lấy tại đây.
ids Array Yes Danh sách RECORD_ID của bản ghi.

Sample response:

{
    "msg": "Success",
    "r": 0,
    "data": {
        "deleted": [ // danh sách record xóa thành công
            "LEAAUN7Q8EKNJ4",
            "LEAAUN7QIEKOF0"
        ],
        "not_deleted": [] // danh sách record xóa thất bại
    }
}

Lấy danh sách bản ghi

URL: https://{WS_DOMAIN}.cogover.com/bapi/v1/records/list
HTTP method: POST
Content-Type: application/json

POST data (body):

{
    "order_direction": "next",
    "logic_sequence": "",
    "search_after": [1767600182334, "leahaoxqk69wrx"],
    "size": 20,
    "object_type": "OT390PQECKYOM",
    "sorts": [
        {
            "created": {
                "order": "desc"
            }
        }
    ],
    "show_detail_on_record": false,
    "filters": [
        {
            "field": "owner",
            "op": "is null",
            "params": null,
            "fieldType": "lookup_normal"
        }
    ],
    "type": 1
}
Field Type Require Note
sort Array Yes Sắp xếp danh sách bản ghi bằng trường của đối tượng. Tham khảo lấy slug các trường tại đây.
order:
- asc: Tăng dần (A-Z)
- desc: Giảm dần (Z-A)
order_direction String Yes Sắp xếp danh sách bản ghi sau khi đã được sắp xếp bằng sort:
- next: Sắp xếp bản ghi đầu tới bản ghi cuối.
- previous: Sắp xếp bản ghi cuối tới bản ghi đầu.
show_detail_on_record Boolean Yes Định dạng dữ liệu trả về, tham khảo tại đây.
size Int Yes Số lượng bản ghi/trang.
object_type String Yes Object ID, tham khảo cách lấy tại đây.
type Int Yes Loại logic kết hợp các điều kiện lọc, áp dụng cho các điều kiện lọc được truyền vào filters:
- 1: Thỏa mãn tất cả các điều kiện (AND).
- 2: Thỏa mãn một trong số điều kiện (OR).
- 3: Tùy chỉnh.
filters Array Yes Bộ lọc danh sách bản ghi trả về, tham khảo tại đây
logic_sequence String No Yêu cầu có giá trị nếu type là 3. Người dùng tùy chỉnh để kết hợp điều kiện AND và OR cho các điều kiện lọc của filters. Ví dụ: (1 AND (2 OR 3)) OR ((4 AND 5) OR (6 AND 7))
search_after Array Yes Sử dụng cho quy tắc phân trang. Tham khảo tại đây

Sample response:

{
    "msg": "OK",
    "r": 0,
    "data": {
        "search_after": [
            1765334835000,
            "lea1p1mqyek4ep"
        ],
        "total": 35,
        "debug": "N3X8NIVGUC",
        "rows": [
            {
                "address": "7 Lê Lợi, Phường Nam Cường, Tỉnh Lào Cai",
                "object_type": "OT390PQECKYOM",
                "created": 1767600178015,
                "lead_source": "website",
                "rating": "warn",
                "description": "Liên hệ hợp tác\nNội dung: Tin nhắn mẫu số 73\nSản phẩm: People: Quản trị nhân sự thông minh, Marketing: Quản lý hoạt động Marketing, Recruit: Tự động hóa quy trình tuyển dụng",
                "last_name": "Huỳnh Hồng Hải",
                "no_of_employees": 9,
                "first_last_name": "An Huỳnh Hồng Hải",
                "mobile_phones": [
                    "84974643278"
                ],
                "created_by": "",
                "workspace_id": "WSwpiSUex3Di7",
                "emails": [
                    "an_hhh@example.com"
                ],
                "Disqualified_reason": "Lost",
                "last_activity_time": 1767600178015,
                "updated_by": "",
                "name": "Huỳnh Hồng Hải An - Công ty M64",
                "last_first_name": "Huỳnh Hồng Hải An",
                "company": "Công ty M64",
                "id": "LEAHAOXQ069WRH",
                "first_name": "An",
                "updated": 1767600178015,
                "do_not_call": 0,
                "status": "new"
            },
            ...
        ]
    }
}

Định dạng dữ liệu bản ghi

Người dùng có thể định dạng dữ liệu danh sách bản ghi trả về bằng trường show_detail_on_record:

  • true: API trả về dữ liệu dạng object, có metadata đi kèm. Ví dụ:

    "description": {
        "val": "Liên hệ tư vấn\nNội dung: Tin nhắn mẫu số 99\nSản phẩm: Service - Hỗ trợ khách hàng đa kênh, Customer 360 - Quản lý dữ liệu khách hàng", // value - giá trị của trường
        "cu": true, // can upate - có thể cập nhật
        "cv": true // can view -  có thể xem
    }
  • false: API trả về dữ liệu dạng key - value. Ví dụ:

    "description": "Liên hệ tư vấn\nNội dung: Tin nhắn mẫu số 99\nSản phẩm: Service - Hỗ trợ khách hàng đa kênh, Customer 360 - Quản lý dữ liệu khách hàng"

Quy tắc phân trang

Thêm vào POST data trường search_after, nếu lấy trang đầu tiên thì đặt là null hoặc không cần truyền. Từ trang tiếp theo thì lấy giá trị search_after ở kết quả trả về từ API lấy danh sách bản ghi của trang trước đó.

Ví dụ:

API trả về:

{
    "msg": "OK",
    "r": 0,
    "data": {
        "search_after": [
            1765334835000,
            "lea1p1mqyek4ep"
        ],
        "total": 35,
        "debug": "N3X8NIVGUC",
        "rows": [
            ...
        ]
    }
}

Truyền POST data để lấy dữ liệu của trang tiếp theo:

{
    "order_direction": "next",
    "logic_sequence": "",
    "search_after": [
        1765334835000,
        "lea1p1mqyek4ep"
    ],
    "size": 20,
    "object_type": "OT390PQECKYOM",
    ...
}

Lọc danh sách bản ghi

Người dùng có thể lọc danh sách bản ghi trả về bằng cách truyền các điều kiện lọc vào trường filters.

"filters": [
    {
        "field": "do_not_call",
        "op": "=",
        "params": 0,
        "fieldType": "boolean"
    },
    {
        "field": "mobile_phones",
        "op": "not null",
        "params": null,
        "fieldType": "phone"
    },
    {
        "field": "emails",
        "op": "not null",
        "params": null,
        "fieldType": "email"
    }
],
  • field: Slug của trường dữ liệu. Tham khảo lấy slug các trường tại đây.

  • op, params, fieldType: Điều kiện, giá trị và loại trường của trường dữ liệu.

    Trường dữ liệu fieldType Điều kiện op Giá trị op Kiểu dữ liệu truyền vào params
    Văn bản ngắn (short_text) Bằng = String
      Không bằng != String
      Chứa like String
      Không chứa not like String
      Trống is null  
      Không trống not null  
      Bắt đầu với startsWith String
      Kết thúc với endsWith String
      Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
    Văn bản dài (long_text) Chứa (gần đúng) contains any String
      Không chứa (gần đúng) not contains any String
      Chứa chính xác like String
      Không chứa chính xác not like String
      Chứa like String
      Trống is null  
      Không trống not null  
    Số điện thoại (phone) Bằng = String
      Không bằng != String
      Chứa like String
      Không chứa not like String
      Trống is null  
      Không trống not null  
      Bắt đầu với startsWith String
      Kết thúc với endsWith String
      Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
    Boolean (boolean) Bằng = 1: true
    2: false
      Không bằng != 1: true
    2: false
      Trống is null  
      Không trống not null  
    Email (email) Bằng = String
      Không bằng != String
      Chứa like String
      Không chứa not like String
      Trống is null  
      Không trống not null  
      Bắt đầu với startsWith String
      Kết thúc với endsWith String
      Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
    Lựa chọn đơn (single_choice) Bằng = String
      Không bằng != String
      Là một trong in Array (String)
      Không thuộc not in Array (String)
      Trống is null  
      Không trống not null  
    Lựa chọn nhiều (multi_choices) Chứa một trong in Array (String)
      Không chứa bất kỳ not in Array (String)
      Trống is null  
      Không trống not null  
    Cây thư mục (cascading) Bằng = Array (String)
      Không bằng != Array (String)
      Trống is null  
      Không trống not null  
    Ngày (date) Bằng = String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Không bằng != String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Nhỏ hơn < String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Nhỏ hơn hoặc bằng <= String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Lớn hơn > String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Lớn hơn hoặc bằng >= String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array (String)
    Định dạng ["YYYY-MM-DD", "YYYY-MM-DD"]
    Ví dụ: ["2025-10-14", "2025-10-17"]
      Hôm qua Yesterday  
      Hôm nay Today  
      Ngày mai Tomorrow  
      Trong n ngày vừa qua Last n days Int
      Trong n ngày tới Next n days Int
      n Ngày trước n Days ago Int
      n Ngày nữa n Days from now Int
      Tuần trước Last week  
      Tuần này This week  
      Tuần sau Next week  
      Trong n tuần vừa qua Last n weeks Int
      Trong n tuần tới Next n weeks Int
      Tháng trước Last month  
      Tháng này This month  
      Tháng sau Next month  
      Trong n tháng vừa qua Last n months Int
      Trong n tháng tới Next n months Int
      Quý trước Last quarter  
      Quý này This quarter  
      Quý sau Next quarter  
      Năm ngoái Last year  
      Năm nay This year  
      Năm sau Next year  
      Trong n năm vừa qua Last n years Int
      Trong n năm tới Next n years Int
    Ngày giờ (date_time) Bằng = Timestamp (milisecond)
      Không bằng != Timestamp (milisecond)
      Nhỏ hơn < Timestamp (milisecond)
      Nhỏ hơn hoặc bằng <= Timestamp (milisecond)
      Lớn hơn > Timestamp (milisecond)
      Lớn hơn hoặc bằng >= Timestamp (milisecond)
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array Timestamp (milisecond)
    Ví dụ: [1760382900000, 1760725800000]
      Hôm qua Yesterday  
      Hôm nay Today  
      Ngày mai Tomorrow  
      Trong n ngày vừa qua Last n days Int
      Trong n ngày tới Next n days Int
      n Ngày trước n Days ago Int
      n Ngày nữa n Days from now Int
      Tuần trước Last week  
      Tuần này This week  
      Tuần sau Next week  
      Trong n tuần vừa qua Last n weeks Int
      Trong n tuần tới Next n weeks Int
      Tháng trước Last month  
      Tháng này This month  
      Tháng sau Next month  
      Trong n tháng vừa qua Last n months Int
      Trong n tháng tới Next n months Int
      Quý trước Last quarter  
      Quý này This quarter  
      Quý sau Next quarter  
      Năm ngoái Last year  
      Năm nay This year  
      Năm sau Next year  
      Trong n năm vừa qua Last n years Int
      Trong n năm tới Next n years Int
    Thời giờ (time) Bằng = Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Không bằng != Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Nhỏ hơn < Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Nhỏ hơn hoặc bằng <= Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Lớn hơn > Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Lớn hơn hoặc bằng >= Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array Timestamp (milisecond, trong khoản từ 0 tới 86340000)
    Ví dụ: [0, 1800000]
    Thời lượng (time_duration) Bằng = Timestamp (milisecond)
      Không bằng != Timestamp (milisecond)
      Nhỏ hơn < Timestamp (milisecond)
      Nhỏ hơn hoặc bằng <= Timestamp (milisecond)
      Lớn hơn > Timestamp (milisecond)
      Lớn hơn hoặc bằng >= Timestamp (milisecond)
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array Timestamp (milisecond)
    Ví dụ: [28800000, 19353600000]
    Khoảng ngày (date_range) Chứa = String
    Định dạng "YYYY-MM-DD"
    Ví dụ: "2025-10-02"
      Nằm hoàn toàn trong rangeWithin Array (String)
    Định dạng ["YYYY-MM-DD", "YYYY-MM-DD"]
    Ví dụ: ["2025-10-14", "2025-10-17"]
      Chứa hoàn toàn rangeContains Array (String)
    Định dạng ["YYYY-MM-DD", "YYYY-MM-DD"]
    Ví dụ: ["2025-10-14", "2025-10-17"]
      Có phần giao nhau between Array (String)
    Định dạng ["YYYY-MM-DD", "YYYY-MM-DD"]
    Ví dụ: ["2025-10-14", "2025-10-17"]
      Trống is null  
      Không trống not null  
    Khoảng ngày giờ (date_time_range) Chứa = Timestamp (milisecond)
      Nằm hoàn toàn trong rangeWithin Array Timestamp (milisecond)
    Ví dụ: [1760382900000, 1760725800000]
      Chứa hoàn toàn rangeContains Array Timestamp (milisecond)
    Ví dụ: [1760382900000, 1760725800000]
      Có phần giao nhau between Array Timestamp (milisecond)
    Ví dụ: [1760382900000, 1760725800000]
      Trống is null  
      Không trống not null  
    Khoảng giờ (time_range) Chứa = Timestamp (milisecond, trong khoản từ 0 tới 86340000)
      Nằm hoàn toàn trong rangeWithin Array Timestamp (milisecond, trong khoản từ 0 tới 86340000)
    Ví dụ: [0, 1800000]
      Chứa hoàn toàn rangeContains Array Timestamp (milisecond, trong khoản từ 0 tới 86340000)
    Ví dụ: [0, 1800000]
      Có phần giao nhau between Array Timestamp (milisecond, trong khoản từ 0 tới 86340000)
    Ví dụ: [0, 1800000]
      Trống is null  
      Không trống not null  
    Đường dẫn liên kết URL (url) Bằng = String
      Không bằng != String
      Chứa like String
      Không chứa not like String
      Trống is null  
      Không trống not null  
      Bắt đầu với startsWith String
      Kết thúc với endsWith String
      Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
    Số nguyên (numeric) Bằng = Int
      Không bằng != Int
      Nhỏ hơn < Int
      Nhỏ hơn hoặc bằng <= Int
      Lớn hơn > Int
      Lớn hơn hoặc bằng >= Int
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array (Int)
    Số thập phân (decimal) Bằng = Dec
      Không bằng != Dec
      Nhỏ hơn < Dec
      Nhỏ hơn hoặc bằng <= Dec
      Lớn hơn > Dec
      Lớn hơn hoặc bằng >= Dec
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array (Dec)
    Nhãn (label) Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
      Trống is null  
      Không trống not null  
    Phần trăm (percent) Bằng = Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Không bằng != Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Nhỏ hơn < Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Nhỏ hơn hoặc bằng <= Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Lớn hơn > Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Lớn hơn hoặc bằng >= Dec
    0 tương ứng 0%
    1 tương ứng 100%
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array (Dec)
    0 tương ứng 0%
    1 tương ứng 100%
    Tệp tin (file) Trống is null  
      Không trống not null  
    Xếp hạng (rating) Bằng = Int
      Không bằng != Int
      Nhỏ hơn < Int
      Nhỏ hơn hoặc bằng <= Int
      Lớn hơn > Int
      Lớn hơn hoặc bằng >= Int
      Trống is null  
      Không trống not null  
      Thuộc khoảng between Array (Int)
    Tra cứu (reference) Bằng = Record ID hoặc "$currentUser"
      Không bằng != Record ID hoặc "$currentUser"
      Bằng một trong in Array (Record ID)
      Không bằng bất kỳ not in Array (Record ID)
      Trống is null  
      Không trống not null  
    Đánh số tự động (auto_number) Bằng = String
      Không bằng != String
      Chứa like String
      Không chứa not like String
      Trống is null  
      Không trống not null  
      Bắt đầu với startsWith String
      Kết thúc với endsWith String
      Bằng một trong in Array (String)
      Không bằng bất kỳ not in Array (String)
avatar

blog.blogs_related

Giải pháp tùy biến và hợp nhất

Số hóa và tự động hóa hoàn toàn công tác vận hành và quản trị doanh nghiệp với Cogover!

Bắt đầu đổi mới phương thức vận hành và tự chủ hệ thống quản trị công việc của bạn

Dùng thử ngay
CogoverCogover

CÔNG TY CỔ PHẦN STRINGEE

GPKD số 0107938504, đăng ký ngày 27-07-2017, nơi cấp Sở Tài chính Thành phố Hà Nội
Địa chỉ: Tầng 19, Leadvisors Tower, số 643 Phạm Văn Đồng, Phường Nghĩa Đô, Thành phố Hà Nội, Việt Nam

Văn phòng

Hà Nội: Tầng 17, VP2, tòa Sun Square, 21 Lê Đức Thọ, phường Từ Liêm, TP Hà Nội
TP Hồ Chí Minh: Tòa nhà Lô A, Khu chung cư Tân Phước, 153 Lý Thường Kiệt, phường Minh Phụng, TP Hồ Chí Minh
Mỹ: 838 Walker Road, Suite 21-2 Dover, Delaware 19904, United States
Ấn Độ: 804/805, Kosha Kommercial Komplex, Primal Nagar, Malad East, Mumbai - 400097
Dubai: CWS-1V-792740, Amber Gem Tower, Ajman, United Arab Emirates
Đã xác nhận
© 2026 Cogover LLC