← Tài liệu

API key và scope

Mỗi khoá thuộc một trang trại và chỉ làm được đúng phần đã chọn. Người tạo khoá chỉ cấp được scope mà chính họ đang có. Tạo và thu hồi ở Hệ thống › API key.

Gửi khoá

Một trong hai header (gateway nhận cả hai):

Lệnh mẫu
Authorization: Bearer nfk_...
X-Api-Key: nfk_...
Node.js
const res = await fetch("https://api-prod.nextfarm.vn/api/v1/iot/devices?status=offline", {
  headers: { Authorization: `Bearer ${process.env.NEXTFARM_API_KEY}` },
});
const { items } = await res.json();

Scope

Bản đồ & mùa vụ

ScopeCho phép
gis.parcels.viewXem thửa và mùa vụ
gis.zones.viewXem vùng
gis.farmers.viewXem nông dân
gis.crop-types.viewXem loại cây trồng
gis.facilities.viewXem công trình
gis.layers.viewXem lớp bản đồ

IoT (chỉ đọc)

ScopeCho phép
iot.devices.viewXem thiết bị
iot.telemetry.viewXem số đo cảm biến
iot.telemetry.exportXuất số đo cảm biến
iot.alerts.viewXem cảnh báo

Thu hoạch & truy xuất

ScopeCho phép
harvest.harvest.viewXem lô thu hoạch
harvest.harvest.createTạo lô thu hoạch (ghi)
harvest.qr-codes.viewXem tem QR
harvest.trace.viewXem truy xuất nguồn gốc
harvest.certification.viewXem chứng nhận
harvest.market-prices.viewXem giá thị trường

Sổ nông trại & công việc

ScopeCho phép
office.base.record.viewXem dữ liệu sổ
office.base.record.manageThêm, sửa dòng sổ (ghi)
office.task.viewXem công việc
office.calendar.viewXem lịch
office.automation.viewXem luật tự động hoá

Báo cáo

ScopeCho phép
report.viewXem báo cáo
report.exportXuất báo cáo

Giới hạn an toàn

API key, webhook và MCP không bao giờ điều khiển thiết bị — không có scope nào cho bật/tắt, cấu hình thiết bị, và gateway chặn mọi tuyến ghi của IoT với khoá.
  • Khoá chỉ đọc, trừ: tạo/sửa lô thu hoạch, thêm/sửa dòng sổ nông trại. Không xoá được gì.
  • Không vào được quản trị người dùng, nhóm quyền, hay tạo khoá khác.
  • Thu hồi có hiệu lực ngay; khoá có thể đặt hạn (30 ngày, 90 ngày, 1 năm) hoặc không hết hạn.

n8n / Make

Dùng node HTTP Request (n8n) hoặc HTTP › Make a request (Make): method + URL lấy ở tham chiếu API, header Authorization: Bearer nfk_… (cất key vào Credentials, đừng dán thẳng vào node). Nhận webhook: lấy URL của node Webhook khai ở Hệ thống › Webhook, verify signature bằng node Code.

n8n — HTTP Request
Method: GET
URL: https://api-prod.nextfarm.vn/api/v1/gis/parcels?page_size=50
Authentication: Generic Credential Type › Header Auth
  Name:  Authorization
  Value: Bearer nfk_…

Error code

MãÝ nghĩa
401Khoá sai, hết hạn hoặc đã bị thu hồi.
403Khoá thiếu scope, hoặc tuyến không cho API key (chi tiết ở trường detail).
404Không tìm thấy dữ liệu.
422Dữ liệu gửi lên không hợp lệ (trường errors liệt kê từng lỗi).
429Gọi quá nhanh — đọc Retry-After rồi retry.

Mốc thời gian trả về theo UTC (ISO 8601). Danh sách có pagination qua page, page_size. Thân JSON gửi lên và trả về đều dùng snake_case (vd parcel_id) — khoá camelCase trong thân bị bỏ qua.

Luật bảo mật đầy đủ cho đối tác: Bảo mật →