Bỏ qua để đến Nội dung

API JSON-2

Gọi mọi phương thức công khai của mọi đối tượng: tìm, đọc, tạo, sửa, xoá

Yêu cầu

POST https://congty.solidsuite.vn/json/2/<đối tượng>/<phương thức>
Authorization: bearer <khoá API>
Content-Type: application/json

{ "ids": [...], "context": {...}, ...tham số của phương thức }
  • <đối tượng>: tên kỹ thuật, vd. res.partner (liên hệ), crm.lead (cơ hội), sale.order (đơn bán), hr.employee (nhân viên), account.move (hoá đơn).
  • ids: bản ghi cần thao tác (với read, write, unlink...).
  • context: tuỳ chọn, vd. {"lang": "vi_VN"} để nhận nhãn tiếng Việt.
  • Kết quả là JSON; bản ghi trả về dạng danh sách id.

Tìm và đọc

curl -X POST https://congty.solidsuite.vn/json/2/res.partner/search_read \
  -H "Authorization: bearer $SOLIDSUITE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": [["is_company", "=", true], ["city", "ilike", "Hồ Chí Minh"]],
       "fields": ["name", "email", "phone"], "limit": 20, "order": "name"}'

domain là danh sách điều kiện [trường, toán tử, giá trị]; toán tử thường dùng: =, !=, >, <, in, ilike (chứa, không phân biệt hoa thường).

Tạo và sửa

import os, requests

BASE = "https://congty.solidsuite.vn/json/2"
HEADERS = {"Authorization": f"bearer {os.environ['SOLIDSUITE_API_KEY']}"}

def call(model, method, **params):
    r = requests.post(f"{BASE}/{model}/{method}", json=params, headers=HEADERS, timeout=30)
    r.raise_for_status()
    return r.json()

# Tạo cơ hội mới, trả về danh sách id
[lead_id] = call("crm.lead", "create", vals_list=[{
    "name": "Khách quan tâm căn 2PN",
    "contact_name": "Trần Thị B",
    "phone": "0901234567",
}])

# Sửa
call("crm.lead", "write", ids=[lead_id], vals={"expected_revenue": 3500000000})

Xem trường và phương thức

Đăng nhập hệ thống của công ty rồi mở https://congty.solidsuite.vn/doc: danh sách đối tượng, trường, phương thức kèm ví dụ, theo đúng phân hệ công ty đang dùng và quyền của bạn. Hoặc gọi fields_get:

curl -X POST https://congty.solidsuite.vn/json/2/crm.lead/fields_get \
  -H "Authorization: bearer $SOLIDSUITE_API_KEY" -H "Content-Type: application/json" \
  -d '{"attributes": ["string", "type", "required"]}'

Mã lỗi

HTTPÝ nghĩa
401Thiếu / sai khoá API, khoá hết hạn, hoặc công ty đang bị khoá.
403Người dùng không có quyền với đối tượng / bản ghi này.
404Sai tên đối tượng / phương thức (hoặc phân hệ chưa được bật).
422Tham số không khớp với phương thức.