NAV
shell python javascript

Giới thiệu

Chào mừng bạn đến với tài liệu API của NextX! Tài liệu này cung cấp thông tin chi tiết về cách tương tác với API của NextX - NextFarm. Hãy vui lòng liên hệ với chúng tôi ngay nếu bạn cần hỗ trợ hoặc muốn đăng ký dịch vụ.

NextFarm API

Dưới đây là các API chức năng hệ thống của NextX NextFarm mà bạn có thể tích hợp vào hệ thống của mình.

Đăng nhập (Xác thực)

import requests

url = "https://api.nextfarm.vn/api/auth/login"
payload = {
  "password": "your_password",
  "tenantcode": "your_tenant_code",
  "username": "your_user_name"
}
headers = {'Content-Type': 'application/json'}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
curl -X POST "https://api.nextfarm.vn/api/auth/login" \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
       "password": "your_password",
       "tenantcode": "your_tenant_code",
       "username": "your_user_name"
      }'
const fetch = require('node-fetch');

const url = "https://api.nextfarm.vn/api/auth/login";
const body = {
    "password": "your_password",
    "tenantcode": "your_tenant_code",
    "username": "your_user_name"
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(body)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

Hãy đảm bảo thay thế thông tin đăng nhập bằng thông tin xác thực khách hàng thực tế của bạn.

NextX API sử dụng khóa API để cho phép truy cập vào API.

NextX yêu cầu khóa API phải được bao gồm trong tất cả các yêu cầu API gửi đến máy chủ trong phần tiêu đề có dạng như sau:

Authorization: Bearer your_key_here

HTTP Request

POST https://api.nextfarm.vn/api/auth/login

Tham số (Biến)

Tên biến Kiểu dữ liệu Mô tả
password string Mật khẩu của bạn
username string Tên đăng nhập của bạn
tenantcode string Tên khách hàng của bạn (đứng trước .nextfarm.vn)

Ví dụ về nội dung yêu cầu

Dưới đây là một Ví dụ về nội dung yêu cầu.

[
  {
  username: "name", 
  password: "pass", 
  tenantcode: "code"}

]

Phản hồi

Phản hồi sẽ chứa mã truy cập và các thông tin liên quan khác.

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON thông báo thành công.

Nếu thông tin xác thực không chính xác, máy chủ sẽ trả về phản hồi JSON với thông báo lỗi.

Lệnh trên trả về JSON có cấu trúc như sau:

{
    "meta": {
        "status_code": 1,
        "message": "Tài khoản hoặc mật khẩu không đúng"
    }
}
]

Trang chủ

Cây trồng - Vật nuôi

Lấy danh sách cây trồng - vật nuôi

Để lấy danh sách cây trồng - vật nuôi, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/crop/crop"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/crop/crop' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/crop';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "id": 431,
            "name": "Gà thịt",
            "description": "",
            "location": null,
            "crop_type": 152,
            "image": null,
            "sku": "",
            "code": "P0033",
            "price": 0,
            "status": true,
            "category_id": 344
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách các cây trồng - vật nuôi .

HTTP Request

GET https://api.nextfarm.vn/api/crop/crop?page=1&pageLimit=15&search[name]=&search[code]=&search[sku]=&search[price]=

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
search[] array[string] tìm kiếm theo tên, code, sku, giá tiền

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách cây trồng - vật nuôi .

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Xem chi tiết cây trồng - vật nuôi

Để xem chi tiết thông tin của một cây trồng - vật nuôi, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/crop/crop/{id}"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/crop/crop/{id}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/crop/{id}';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

{
   "id": 431,
        "name": "Gà thịt",
        "description": "",
        "location": null,
        "crop_type": 152,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0033",
        "price": 0,
        "status": true,
        "category_id": 344
}

Điểm đầu cuối trên cho phép truy xuất thông tin cụ thể của một vật nuôi hoặc cây trồng.

HTTP Request

GET https://api.nextfarm.vn/api/crop/crop/<ID>

Tham số (Biến)

Biến kiểu dữ liệu Mô tả
ID integer ID của vật nuôi hoặc cây trồng.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách các nguồn khách.

Trả về JSON được cấu trúc như sau:

[
  {
   id": 431,
        "name": "G\u00e0 th\u1ecbt",
        "description": "",
        "location": null,
        "crop_type": 152,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0033",
        "price": 0,
        "status": true,
        "category_id": 344
    }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Thêm mới Cây trồng - Vật nuôi

Thêm mới một cây trồng - vật nuôi.

Để tạo mới 1 cây trồng - vật nuôi, sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/crop/crop"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
        "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0034",
        "price": 40000,
        "status": true,
        "category_id": 3
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/crop/crop' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
        "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0034",
        "price": 40000,
        "status": true,
        "category_id": 3
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/crop';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
  body: JSON.stringify({
        "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0034",
        "price": 40000,
        "status": true,
        "category_id": 3
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Đầu cuối này tạo một loại cây trồng hoặc vật nuôi mới.

HTTP Request

POST https://api.nextfarm.vn/api/crop/crop

Yêu cầu

Ví dụ của Yêu cầu gửi đi:

{
category_id: 3
code: "P0034"
crop_type: 17
description: ""
full_description: "<p></p>"
images: "[]"
name: "Cây 17.8"
price: 40000
sku: ""
status: 1
}

Tham số (Biến)

Biến Kiểu dữ liệu Mô tả
category_id_ integer ID của loại nhóm cây
crop_type integer ID của loại giống cây
image string URL hoặc đường dẫn đến hình ảnh
full_description string mô tả cụ thể của cây
code string mã cây trồng - vật nuôi
name string tên cây trồng - vật nuôi
price integer giá cả cây trồng - vật nuôi
sku string mã sku
description string ghi chú cho cây trồng - vật nuôi
status bool có hiệu lực (1) hay không (0)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
 {
  "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "",
        "code": "P0034",
        "price": 40000,
        "status": true,
        "category_id": 3
    }
  ]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expried",
    "status_code": 401
  },
  "data": []
  }
]

Cập nhật thông tin cây trồng - vật nuôi

Để chỉnh sửa thông tin của một cây trồng - vật nuôi, sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/crop/crop/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
      "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "1234",
        "code": "P0034",
        "price": 40000,
        "status": false,
        "category_id": 3
  }'
import requests

url = "https://api.nextfarm.vn/api/crop/crop/{id}"
payload = {
    "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "1234",
        "code": "P0034",
        "price": 40000,
        "status": false,
        "category_id": 3
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/crop/{id}';
const payload = {
    "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "1234",
        "code": "P0034",
        "price": 40000,
        "status": false,
        "category_id": 3
};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một cây trồng - vật nuôi

HTTP Request

PUT https://api.nextfarm.vn/api/crop/crop/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của cây trồng - vật nuôi

Tham số thân

Biến Kiểu dữ liệu Mô tả
category_id_ integer ID của loại nhóm cây
crop_type integer ID của loại giống cây
image string URL hoặc đường dẫn đến hình ảnh
full_description string mô tả cụ thể của cây
code string mã cây trồng - vật nuôi
name string tên cây trồng - vật nuôi
price integer giá cả cây trồng - vật nuôi
sku string mã sku
description string ghi chú cho cây trồng - vật nuôi
status bool có hiệu lực (1) hay không (0)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 441,
        "name": "C\u00e2y 17.8",
        "description": "",
        "location": null,
        "crop_type": 17,
        "full_description": "<p><\/p>",
        "images": "[]",
        "sku": "1234",
        "code": "P0034",
        "price": 40000,
        "status": false,
        "category_id": 3
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Thêm mới Loại giống cây trồng - vật nuôi

Để thêm mới loại giống cây trồng - vật nuôi, ta sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/croptype/croptype"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
        "id": 183,
        "name": "Cây cho sản phẩm công nghiệp",
        "description": "",
        "parent_id": 0,
        "images": null
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/croptype/croptype' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
         "id": 183,
        "name": "Cây cho sản phẩm công nghiệp",
        "description": "",
        "parent_id": 0,
        "images": null
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/croptype/croptype';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
  body: JSON.stringify({
         "id": 183,
        "name": "Cây cho sản phẩm công nghiệp",
        "description": "",
        "parent_id": 0,
        "images": null
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép thêm mới một loại giống cây trồng - vật nuôi

HTTPS request

POST https://api.nextfarm.vn/api/croptype/croptype

Tham số (Biến)

Biến Kiểu dữ liệu Mô tả
id integer ID của loại giống cây trồng, vật nuôi (Hệ thống tự sinh)
description string Mô tả
name string tên của loại giống cây trồng, vật nuôi
images string url của ảnh
parent-id string nhóm giống cha

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 183,
        "name": "C\u00e2y cho s\u1ea3n ph\u1ea9m c\u00f4ng nghi\u1ec7p",
        "description": "",
        "parent_id": 0,
        "images": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Cập nhật thông tin loại Giống Cây trồng - Vật nuôi

Để chỉnh sửa thông tin của một giống cây trồng - vật nuôi, sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/croptype/croptype/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    description: ""
    images: null
    name: "Cây công nghiệp"
    parent_id: 0
  }'
import requests

url = "https://api.nextfarm.vn/api/croptype/croptype/{id}"
payload = {
    description: ""
    images: null
    name: "Cây công nghiệp"
    parent_id: 0
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/croptype/croptype/{id}';
const payload = {
    description: ""
    images: null
    name: "Cây công nghiệp"
    parent_id: 0
};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một giống cây trồng - vật nuôi

HTTP Request

PUT https://api.nextfarm.vn/api/croptype/croptype/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của cây trồng - vật nuôi

Tham số thân

Biến Kiểu dữ liệu Mô tả
description string Mô tả
name string tên của loại giống cây trồng, vật nuôi
images string url của ảnh
parent-id string nhóm giống cha

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 183,
        "name": "C\u00e2y c\u00f4ng nghi\u1ec7p",
        "description": "",
        "parent_id": 0,
        "images": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Thêm nhóm Cây trồng - Vật nuôi

Để thêm mới nhóm cây trồng - vật nuôi, ta sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/productcategory/productcategory"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
    code: "PCT-03"
    description: ""
    name: "Cây công nghiệp"
    status: 1
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/productcategory/productcategory' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    code: "PCT-03"
    description: ""
    name: "Cây công nghiệp"
    status: 1
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/productcategory/productcategory';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
  body: JSON.stringify({
    code: "PCT-03"
    description: ""
    name: "Cây công nghiệp"
    status: 1
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép thêm mới một loại giống cây trồng - vật nuôi

HTTPS request

POST https://api.nextfarm.vn/api/productcategory/productcategory

Tham số (Biến)

Biến Kiểu dữ liệu Mô tả
id integer ID của nhóm cây trồng, vật nuôi (Hệ thống tự sinh)
description string Mô tả
name string tên của nhóm cây trồng, vật nuôi
code string mã nhóm cây, vật nuôi
parent-id string nhóm cha
status bool Trạng thái có hiệu lực (1) hay không (0)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 366,
        "name": "Cây công nghiệp",
        "code": "PCT-03",
        "status": 1,
        "description": "",
        "parent_id": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Cập nhật nhóm Cây trồng - Vật nuôi

Để chỉnh sửa thông tin của nhóm cây trồng - vật nuôi, sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/productcategory/productcategory/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    code: "PCT-03"
    description: "123"
    name: "Cây công nghiệp"
    status: 1
  }'
import requests

url = "https://api.nextfarm.vn/api/productcategory/productcategory/{id}"
payload = {
    code: "PCT-03"
    description: "123"
    name: "Cây công nghiệp"
    status: 1
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/productcategory/productcategory/id}';
const payload = {
    code: "PCT-03"
    description: "123"
    name: "Cây công nghiệp"
    status: 1
};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một nhóm cây trồng - vật nuôi

HTTP Request

PUT https://api.nextfarm.vn/api/productcategory/productcategory/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của nhóm cây trồng - vật nuôi

Tham số thân

Biến Kiểu dữ liệu Mô tả
description string Mô tả
name string tên của nhóm cây trồng, vật nuôi
code string mã nhóm cây, vật nuôi
parent-id string nhóm cha
status bool Trạng thái có hiệu lực (1) hay không (0)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 366,
        "name": "Cây công nghiệp",
        "code": "PCT-03",
        "status": 1,
        "description": "123",
        "parent_id": 0
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Nhật ký sản xuất

Lấy danh sách Công việc

Để xem danh sách các công việc trong nhật ký sản xuất, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/diary/production"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/diary/production' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/diary/production';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một loạt mã JSON có cấu trúc như sau:

[
 {
             "id": 141,
            "name": "xu\u1ed1ng gi\u1ed1ng",
            "start": "2024-08-16 11:36:11",
            "end": null,
            "description": "",
            "images": [],
            "location": "",
            "category_task_id": 575,
            "category": {
                "id": 575,
                "name": "c\u1ea5y gi\u1ed1ng"
            },
            "assigned_to": 578,
            "assigned": {
                "id": 578,
                "name": "duy",
                "firstname": "Nguy\u1ec5n Kh\u01b0\u01a1ng",
                "lastname": "Duy",
                "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1661308081861\/1661308001.png"
            },
            "season_id": 834,
            "season": {
                "id": 834,
                "name": "D\u01b0a l\u01b0\u1edbi qu\u00fd 1"
            },
            "user_id": 21,
            "user": {
                "id": 21,
                "name": "admin",
                "firstname": "Admin",
                "lastname": "Hosco",
                "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1703564824243\/.jpeg"
            },
            "sub_cates": [
                {
                    "id": 557,
                    "name": "c\u1ea5y gi\u1ed1ng c\u00e2y con",
                    "pivot": {
                        "production_daily_id": 141,
                        "sub_cate_id": 557
                    }
                }
            ],
            "amount": 0
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách các Công việc .

HTTP Request

GET https://api.nextfarm.vn/api/diary/production

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
strSearch[] array[string] tìm kiếm theo tên, code, sku, giá tiền
from_date string từ ngày (ngày bắt đầu)
to_date string đến ngày (Ngày kết thúc)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách Công việc .

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Xem thông tin chi tiết của một Công việc

Để xem thông tin chi tiết của một công việc trong nhật ký sản xuất, ta sẽ sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/diary/production/{id}"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/diary/production/{id}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/diary/production/{id}';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép truy xuất vào thông tin chi tiết của một công việc trong nhật ký sản xuất

HTTP Request

GET https://api.nextfarm.vn/api/diary/production/{id}

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON với chi tiết một Công việc .

Lệnh trên trả về một loạt mã JSON có cấu trúc như sau:

[
 {
             "id": 141,
            "name": "xu\u1ed1ng gi\u1ed1ng",
            "start": "2024-08-16 11:36:11",
            "end": null,
            "description": "",
            "images": [],
            "location": "",
            "category_task_id": 575,
            "category": {
                "id": 575,
                "name": "c\u1ea5y gi\u1ed1ng"
            },
            "assigned_to": 578,
            "assigned": {
                "id": 578,
                "name": "duy",
                "firstname": "Nguy\u1ec5n Kh\u01b0\u01a1ng",
                "lastname": "Duy",
                "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1661308081861\/1661308001.png"
            },
            "season_id": 834,
            "season": {
                "id": 834,
                "name": "D\u01b0a l\u01b0\u1edbi qu\u00fd 1"
            },
            "user_id": 21,
            "user": {
                "id": 21,
                "name": "admin",
                "firstname": "Admin",
                "lastname": "Hosco",
                "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1703564824243\/.jpeg"
            },
            "sub_cates": [
                {
                    "id": 557,
                    "name": "c\u1ea5y gi\u1ed1ng c\u00e2y con",
                    "pivot": {
                        "production_daily_id": 141,
                        "sub_cate_id": 557
                    }
                }
            ],
            "amount": 0
 }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Thêm mới một công việc

Để thêm mới một công việc, sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/diary/production"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
"assigned_to": 856
"category_task_id": 577
"description": "<p></p>"
"end": "2024-08-21 00:00:00"
"images": []
"location": ""
"name": "bón phân"
"season_id":  846
""start": "2024-08-20 08:29:03"
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/diary/production' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
"assigned_to": 856
"category_task_id": 577
"description": "<p></p>"
"end": "2024-08-21 00:00:00"
"images": []
"location": ""
"name": "bón phân"
"season_id":  846
""start": "2024-08-20 08:29:03"
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/diary/production';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
  body: JSON.stringify({
"assigned_to": 856
"category_task_id": 577
"description": "<p></p>"
"end": "2024-08-21 00:00:00"
"images": []
"location": ""
"name": "bón phân"
"season_id":  846
""start": "2024-08-20 08:29:03"
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép thêm mới một công việc.

HTTPS request

POST https://api.nextfarm.vn/api/diary/production

Tham số (Biến)

Biến Kiểu dữ liệu Mô tả
id integer ID của công việc (Hệ thống tự sinh)
description string Mô tả
name string tên của công việc
assigned_to[] array thông tin nhân viên phụ trách
start string ngày bắt đầu
end string ngày kết thúc
image string url ảnh
location string địa chỉ
season[] array vụ mùa (id, tên vụ mùa)
category_task_id integer id công đoạn
sub_cates[] array chi tiết công đoạn
user[] array thông tin người dùng

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
      "id": 143,
        "name": "bón phân",
        "start": "2024-08-20 08:29:03",
        "end": "2024-08-21 00:00:00",
        "description": "<p><\/p>",
        "images": [],
        "location": "",
        "category_task_id": 577,
        "category": {
            "id": 577,
            "name": "thu ho\u1ea1ch"
        },
        "assigned_to": 856,
        "assigned": {
            "id": 856,
            "name": "tranvanB",
            "firstname": "Tran",
            "lastname": "Tran B",
            "picture": null
        },
        "season_id": 846,
        "season": {
            "id": 846,
            "name": "m\u00f9a \u0111\u00f4ng 16\/01"
        },
        "user_id": 21,
        "user": {
            "id": 21,
            "name": "admin",
            "firstname": "Admin",
            "lastname": "Hosco",
            "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1703564824243\/.jpeg"
        },
        "sub_cates": [
            {
                "id": 559,
                "name": "Thu ho\u1ea1ch",
                "pivot": {
                    "production_daily_id": 143,
                    "sub_cate_id": 559
                }
            }
        ],
        "amount": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Cập nhật thông tin công việc

Để cập nhật thông tin công việc, sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/diary/production/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    "assigned_to": 856
    "category_task_id": 577
    "description": "<p></p>"
    "end": "2024-08-23 00:00:00"
    "images": []
    "location": ""
    "name": "bón phân"
    "season_id":  846
    ""start": "2024-08-20 08:29:03"
  }'
import requests

url = "https://api.nextfarm.vn/api/diary/production/{id}"
payload = {
    "assigned_to": 856
    "category_task_id": 577
    "description": "<p></p>"
    "end": "2024-08-23 00:00:00"
    "images": []
    "location": ""
    "name": "bón phân"
    "season_id":  846
    ""start": "2024-08-20 08:29:03"
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/diary/production/{id}';
const payload = {
    "assigned_to": 856
    "category_task_id": 577
    "description": "<p></p>"
    "end": "2024-08-23 00:00:00"
    "images": []
    "location": ""
    "name": "bón phân"
    "season_id":  846
    ""start": "2024-08-20 08:29:03"
};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một công việc

HTTP Request

PUT https://api.nextfarm.vn/api/diary/production/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của công vịệc

Tham số thân

Biến Kiểu dữ liệu Mô tả
description string Mô tả
name string tên của công việc
assigned_to[] array thông tin nhân viên phụ trách
start string ngày bắt đầu
end string ngày kết thúc
image string url ảnh
location string địa chỉ
season[] array vụ mùa (id, tên vụ mùa)
category_task_id integer id công đoạn
sub_cates[] array chi tiết công đoạn
user[] array thông tin người dùng

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
  "id": 143,
        "name": "bón phân",
        "start": "2024-08-20 08:29:03",
        "end": "2024-08-23 00:00:00",
        "description": "<p><\/p>",
        "images": [],
        "location": "",
        "category_task_id": 577,
        "category": {
            "id": 577,
            "name": "thu ho\u1ea1ch"
        },
        "assigned_to": 856,
        "assigned": {
            "id": 856,
            "name": "tranvanB",
            "firstname": "Tran",
            "lastname": "Tran B",
            "picture": null
        },
        "season_id": 846,
        "season": {
            "id": 846,
            "name": "m\u00f9a \u0111\u00f4ng 16\/01"
        },
        "user_id": 21,
        "user": {
            "id": 21,
            "name": "admin",
            "firstname": "Admin",
            "lastname": "Hosco",
            "picture": "https:\/\/img.nextfarm.vn\/nextfarm\/hosco\/1703564824243\/.jpeg"
        },
        "sub_cates": [
            {
                "id": 559,
                "name": "Thu ho\u1ea1ch",
                "pivot": {
                    "production_daily_id": 143,
                    "sub_cate_id": 559
                }
            }
        ],
        "amount": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Mùa vụ

Lấy danh sách mùa vụ

Để lấy danh sách mùa vụ, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/crop/season"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/crop/season' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/season';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "id": 930,
            "name": "BD))!",
            "start_date": "2024-07-15",
            "end_date": "2024-08-22",
            "description": "",
            "season_template_id": 1,
            "crop_id": 1,
            "status": "Pending",
            "template_name": null,
            "image": null,
            "code": "MBT",
            "crop_code": "M123",
            "crop_name": "D\u01b0a l\u01b0\u1edbi",
            "season_custom_field1": "",
            "season_custom_field2": "",
            "season_custom_field3": "",
            "season_custom_field4": "",
            "season_custom_field5": null,
            "block_id": 230,
            "block": {
                "id": 230,
                "name": "farm 7"
            },
            "farm_id": 332,
            "farm": {
                "id": 332,
                "name": "V\u01b0\u1eddn ti\u00eau",
                "surface": "1000 m2",
                "lat": "21.043779",
                "lng": "105.789502",
                "address": "\u0110\u1eafc l\u1eafk",
                "published": 1,
                "ownership": "Nguy\u1ec5n V\u0103n A",
                "description": "test update mo ta",
                "order": 0,
                "avatar": "[]",
                "tenant_id": 1,
                "created_by": null
            },
            "amount": 0,
            "area": 0
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách mùa vụ .

HTTP Request

GET https://api.nextfarm.vn/api/crop/season

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
search[] array[string] tìm kiếm theo tên, code, sku, giá tiền
from_date string ngày bắt đầu lọc
to_date string ngày kết thúc lọc

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách vụ mùa.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Xem chi tiết thông tin mùa vụ

để xem chi tiết thông tin mùa vụ, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/crop/season/{id}"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/crop/season{id}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/season{id}';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối trên cho phép truy xuất thông tin chi tiết của một mùa vụ

HTTPS Request

GET https://api.nextfarm.vn/api/crop/season{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của mùa vụ

Tham số thân

Biến Kiểu dữ liệu Mô tả
id Integer Mã định danh duy nhất cho bản ghi.
name String Tên của mùa vụ.
start_date Date Ngày bắt đầu của mùa vụ.
end_date Date Ngày kết thúc của mùa vụ.
description String Mô tả về mùa vụ (có thể để trống).
season_template_id Integer ID của mẫu mùa vụ liên kết với mùa vụ này.
crop_id Integer ID của cây trồng liên kết với mùa vụ này.
status String Trạng thái hiện tại của mùa vụ (ví dụ: "Pending").
template_name String Tên mẫu, nếu có (có thể để null).
image String URL đến hình ảnh của mùa vụ (có thể để null).
images String Một mảng JSON chứa các URL hình ảnh (có thể để trống).
full_description String Mô tả đầy đủ của mùa vụ dưới dạng HTML.
note_private String Ghi chú riêng liên quan đến mùa vụ (có thể để trống).
warning_info String Thông tin cảnh báo, nếu có (có thể để trống).
promotion_info String Thông tin khuyến mại, nếu có (có thể để trống).
manufacturers Array Danh sách các nhà sản xuất liên kết với mùa vụ (có thể để trống).
vendors Array Danh sách các nhà cung cấp liên kết với mùa vụ (có thể để trống).
product_id Integer ID của sản phẩm liên kết, nếu có (có thể để null).
attach_files Array Danh sách các tệp đính kèm, nếu có (có thể để null).
code String Mã đại diện cho mùa vụ.
season_custom_field1 String Trường tùy chỉnh 1 cho mùa vụ (có thể để trống).
season_custom_field2 String Trường tùy chỉnh 2 cho mùa vụ (có thể để trống).
season_custom_field3 String Trường tùy chỉnh 3 cho mùa vụ (có thể để trống).
season_custom_field4 String Trường tùy chỉnh 4 cho mùa vụ (có thể để trống).
season_custom_field5 String Trường tùy chỉnh 5 cho mùa vụ (có thể để null).
crop Object Chi tiết về cây trồng liên kết với mùa vụ, bao gồm ID, tên, và mã.
count_temp Integer Số lần đếm nhiệt độ cho mùa vụ (mặc định là 0).
temp_from Integer Phạm vi nhiệt độ bắt đầu (mặc định là 0).
temp_to Integer Phạm vi nhiệt độ kết thúc (mặc định là 0).
block_id Integer ID của khối liên kết với mùa vụ.
block Object Chi tiết về khối liên kết với mùa vụ, bao gồm ID và tên.
farm_id Integer ID của trang trại liên kết với mùa vụ.
farm Object Chi tiết về trang trại liên kết với mùa vụ, bao gồm ID, tên, diện tích, vị trí, v.v.
amount Integer Số lượng liên quan đến mùa vụ (mặc định là 0).
area Integer Diện tích được bao phủ bởi mùa vụ (mặc định là 0).

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 930,
        "name": "BD))!",
        "start_date": "2024-07-15",
        "end_date": "2024-08-22",
        "description": "",
        "season_template_id": 1,
        "crop_id": 1,
        "status": "Pending",
        "template_name": null,
        "image": null,
        "images": "[]",
        "full_description": "<p><\/p>",
        "note_private": "",
        "warning_info": "<p><\/p>",
        "promotion_info": "<p><\/p>",
        "manufacturers": [],
        "vendors": [],
        "product_id": null,
        "attach_files": null,
        "code": "MBT",
        "season_custom_field1": "",
        "season_custom_field2": "",
        "season_custom_field3": "",
        "season_custom_field4": "",
        "season_custom_field5": null,
        "crop": {
            "id": 1,
            "name": "D\u01b0a l\u01b0\u1edbi",
            "code": "M123"
        },
        "count_temp": 0,
        "temp_from": 0,
        "temp_to": 0,
        "block_id": 230,
        "block": {
            "id": 230,
            "name": "farm 7"
        },
        "farm_id": 332,
        "farm": {
            "id": 332,
            "name": "V\u01b0\u1eddn ti\u00eau",
            "surface": "1000 m2",
            "lat": "21.043779",
            "lng": "105.789502",
            "address": "\u0110\u1eafc l\u1eafk",
            "published": 1,
            "ownership": "Nguy\u1ec5n V\u0103n A",
            "description": "test update mo ta",
            "order": 0,
            "avatar": "[]",
            "tenant_id": 1,
            "created_by": null
        },
        "amount": 0,
        "area": 0
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Thêm mới mùa vụ

Để thêm mới một mùa vụ, sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/crop/season"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
    "block_id": 187,
    "code": "",
    "crop_id": 5,
    "end_date": "2024-11-20",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/crop/season' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    "block_id": 187,
    "code": "",
    "crop_id": 5,
    "end_date": "2024-11-20",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/season';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
    "block_id": 187,
    "code": "",
    "crop_id": 5,
    "end_date": "2024-11-20",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép thêm mới một mùa vụ.

HTTPS request

POST https://api.nextfarm.vn/api/crop/season

Tham số (Biến)

Biến Kiểu dữ liệu Mô tả
id Integer Mã định danh duy nhất cho bản ghi.
name String Tên của mùa vụ.
start_date Date Ngày bắt đầu của mùa vụ.
end_date Date Ngày kết thúc của mùa vụ.
description String Mô tả về mùa vụ (có thể để trống).
season_template_id Integer ID của mẫu mùa vụ liên kết với mùa vụ này.
crop_id Integer ID của cây trồng liên kết với mùa vụ này.
status String Trạng thái hiện tại của mùa vụ (ví dụ: "Pending").
template_name String Tên mẫu, nếu có (có thể để null).
image String URL đến hình ảnh của mùa vụ (có thể để null).
images String Một mảng JSON chứa các URL hình ảnh (có thể để trống).
full_description String Mô tả đầy đủ của mùa vụ dưới dạng HTML.
note_private String Ghi chú riêng liên quan đến mùa vụ (có thể để trống).
warning_info String Thông tin cảnh báo, nếu có (có thể để trống).
promotion_info String Thông tin khuyến mại, nếu có (có thể để trống).
manufacturers Array Danh sách các nhà sản xuất liên kết với mùa vụ (có thể để trống).
vendors Array Danh sách các nhà cung cấp liên kết với mùa vụ (có thể để trống).
product_id Integer ID của sản phẩm liên kết, nếu có (có thể để null).
attach_files Array Danh sách các tệp đính kèm, nếu có (có thể để null).
code String Mã đại diện cho mùa vụ.
season_custom_field1 String Trường tùy chỉnh 1 cho mùa vụ (có thể để trống).
season_custom_field2 String Trường tùy chỉnh 2 cho mùa vụ (có thể để trống).
season_custom_field3 String Trường tùy chỉnh 3 cho mùa vụ (có thể để trống).
season_custom_field4 String Trường tùy chỉnh 4 cho mùa vụ (có thể để trống).
season_custom_field5 String Trường tùy chỉnh 5 cho mùa vụ (có thể để null).
crop Object Chi tiết về cây trồng liên kết với mùa vụ, bao gồm ID, tên, và mã.
count_temp Integer Số lần đếm nhiệt độ cho mùa vụ (mặc định là 0).
temp_from Integer Phạm vi nhiệt độ bắt đầu (mặc định là 0).
temp_to Integer Phạm vi nhiệt độ kết thúc (mặc định là 0).
block_id Integer ID của khối liên kết với mùa vụ.
block Object Chi tiết về khối liên kết với mùa vụ, bao gồm ID và tên.
farm_id Integer ID của trang trại liên kết với mùa vụ.
farm Object Chi tiết về trang trại liên kết với mùa vụ, bao gồm ID, tên, diện tích, vị trí, v.v.
amount Integer Số lượng liên quan đến mùa vụ (mặc định là 0).
area Integer Diện tích được bao phủ bởi mùa vụ (mặc định là 0).

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
     "id": 936,
        "name": "mùa vụ tháng 8",
        "start_date": "2024-08-20",
        "end_date": "2024-11-20",
        "description": null,
        "season_template_id": 58,
        "crop_id": 5,
        "status": "Pending",
        "template_name": null,
        "image": null,
        "images": "[]",
        "full_description": "<p><\/p>",
        "note_private": null,
        "warning_info": "",
        "promotion_info": "",
        "manufacturers": [],
        "vendors": [],
        "product_id": null,
        "attach_files": null,
        "code": "MV0003",
        "season_custom_field1": "",
        "season_custom_field2": "",
        "season_custom_field3": "",
        "season_custom_field4": "",
        "season_custom_field5": null,
        "crop": {
            "id": 5,
            "name": "D\u01b0a leo",
            "code": "c2"
        },
        "count_temp": null,
        "temp_from": null,
        "temp_to": null,
        "block_id": 187,
        "block": {
            "id": 187,
            "name": "Khu v\u1ef1c test"
        },
        "farm_id": 332,
        "farm": {
            "id": 332,
            "name": "V\u01b0\u1eddn ti\u00eau",
            "surface": "1000 m2",
            "lat": "21.043779",
            "lng": "105.789502",
            "address": "\u0110\u1eafc l\u1eafk",
            "published": 1,
            "ownership": "Nguy\u1ec5n V\u0103n A",
            "description": "test update mo ta",
            "order": 0,
            "avatar": "[]",
            "tenant_id": 1,
            "created_by": null
        },
        "amount": null,
        "area": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Cập nhật thông tin mùa vụ

Để cập nhật thông tin mùa vụ, ta sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/crop/season/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
    "block_id": 187,
    "code": "MV0003",
    "crop_id": 5,
    "description": None,
    "end_date": "2024-11-14",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "note_private": None,
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""  }'
import requests

url = "https://api.nextfarm.vn/api/crop/season/{id}"
payload = {
     "block_id": 187,
    "code": "MV0003",
    "crop_id": 5,
    "description": None,
    "end_date": "2024-11-14",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "note_private": None,
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/crop/season/{id}';
const payload = {
    "block_id": 187,
    "code": "MV0003",
    "crop_id": 5,
    "description": None,
    "end_date": "2024-11-14",
    "farm_id": 332,
    "full_description": "<p></p>",
    "images": "[]",
    "manufacturers": [],
    "name": "mùa vụ tháng 8",
    "note_private": None,
    "promotion_info": "",
    "season_custom_field1": "",
    "season_custom_field2": "",
    "season_custom_field3": "",
    "season_custom_field4": "",
    "season_template_id": 58,
    "start_date": "2024-08-20",
    "status": "Pending",
    "vendors": [],
    "warning_info": ""
};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một mùa vụ.

HTTP Request

PUT https://api.nextfarm.vn/api/crop/season/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của công vịệc

Tham số thân

Biến Kiểu dữ liệu Mô tả
id Integer Mã định danh duy nhất cho bản ghi.
name String Tên của mùa vụ.
start_date Date Ngày bắt đầu của mùa vụ.
end_date Date Ngày kết thúc của mùa vụ.
description String Mô tả về mùa vụ (có thể để trống).
season_template_id Integer ID của mẫu mùa vụ liên kết với mùa vụ này.
crop_id Integer ID của cây trồng liên kết với mùa vụ này.
status String Trạng thái hiện tại của mùa vụ (ví dụ: "Pending").
template_name String Tên mẫu, nếu có (có thể để null).
image String URL đến hình ảnh của mùa vụ (có thể để null).
images String Một mảng JSON chứa các URL hình ảnh (có thể để trống).
full_description String Mô tả đầy đủ của mùa vụ dưới dạng HTML.
note_private String Ghi chú riêng liên quan đến mùa vụ (có thể để trống).
warning_info String Thông tin cảnh báo, nếu có (có thể để trống).
promotion_info String Thông tin khuyến mại, nếu có (có thể để trống).
manufacturers Array Danh sách các nhà sản xuất liên kết với mùa vụ (có thể để trống).
vendors Array Danh sách các nhà cung cấp liên kết với mùa vụ (có thể để trống).
product_id Integer ID của sản phẩm liên kết, nếu có (có thể để null).
attach_files Array Danh sách các tệp đính kèm, nếu có (có thể để null).
code String Mã đại diện cho mùa vụ.
season_custom_field1 String Trường tùy chỉnh 1 cho mùa vụ (có thể để trống).
season_custom_field2 String Trường tùy chỉnh 2 cho mùa vụ (có thể để trống).
season_custom_field3 String Trường tùy chỉnh 3 cho mùa vụ (có thể để trống).
season_custom_field4 String Trường tùy chỉnh 4 cho mùa vụ (có thể để trống).
season_custom_field5 String Trường tùy chỉnh 5 cho mùa vụ (có thể để null).
crop Object Chi tiết về cây trồng liên kết với mùa vụ, bao gồm ID, tên, và mã.
count_temp Integer Số lần đếm nhiệt độ cho mùa vụ (mặc định là 0).
temp_from Integer Phạm vi nhiệt độ bắt đầu (mặc định là 0).
temp_to Integer Phạm vi nhiệt độ kết thúc (mặc định là 0).
block_id Integer ID của khối liên kết với mùa vụ.
block Object Chi tiết về khối liên kết với mùa vụ, bao gồm ID và tên.
farm_id Integer ID của trang trại liên kết với mùa vụ.
farm Object Chi tiết về trang trại liên kết với mùa vụ, bao gồm ID, tên, diện tích, vị trí, v.v.
amount Integer Số lượng liên quan đến mùa vụ (mặc định là 0).
area Integer Diện tích được bao phủ bởi mùa vụ (mặc định là 0).

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
       "id": 936,
        "name": "m\u00f9a v\u1ee5 th\u00e1ng 8",
        "start_date": "2024-08-20",
        "end_date": "2024-11-14",
        "description": null,
        "season_template_id": 58,
        "crop_id": 5,
        "status": "Pending",
        "template_name": null,
        "image": null,
        "images": "[]",
        "full_description": "<p><\/p>",
        "note_private": null,
        "warning_info": "",
        "promotion_info": "",
        "manufacturers": [],
        "vendors": [],
        "product_id": null,
        "attach_files": null,
        "code": "MV0003",
        "season_custom_field1": "",
        "season_custom_field2": "",
        "season_custom_field3": "",
        "season_custom_field4": "",
        "season_custom_field5": null,
        "crop": {
            "id": 5,
            "name": "D\u01b0a leo",
            "code": "c2"
        },
        "count_temp": 0,
        "temp_from": 0,
        "temp_to": 0,
        "block_id": 187,
        "block": {
            "id": 187,
            "name": "Khu v\u1ef1c test"
        },
        "farm_id": 332,
        "farm": {
            "id": 332,
            "name": "V\u01b0\u1eddn ti\u00eau",
            "surface": "1000 m2",
            "lat": "21.043779",
            "lng": "105.789502",
            "address": "\u0110\u1eafc l\u1eafk",
            "published": 1,
            "ownership": "Nguy\u1ec5n V\u0103n A",
            "description": "test update mo ta",
            "order": 0,
            "avatar": "[]",
            "tenant_id": 1,
            "created_by": null
        },
        "amount": 0,
        "area": 0
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Mẫu mùa vụ

Lấy danh sách mẫu mùa vụ

Để lấy danh sách mẫu mùa vụ, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/template/season"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/template/season' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/template/season';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "id": 155,
            "name": "1111",
            "description": "111",
            "crop_type": null,
            "crop_id": 1,
            "crop": {
                "id": 1,
                "name": "D\u01b0a l\u01b0\u1edbi"
            },
            "order": 0,
            "block_id": null,
            "block": null
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách mẫu mùa vụ .

HTTP Request

GET https://api.nextfarm.vn/api/template/season

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
search[] array[string] tìm kiếm theo tên, code, sku, giá tiền
from_date string ngày bắt đầu lọc
to_date string ngày kết thúc lọc

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách mẫu vụ mùa.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Xem chi tiết thông tin mẫu mùa vụ

để xem chi tiết thông tin mẫu mùa vụ, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/template/season/{id}"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/template/season{id}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/template/season{id}';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối trên cho phép truy xuất thông tin chi tiết của một mẫu mùa vụ

HTTPS Request

GET https://api.nextfarm.vn/api/template/season{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của mẫu mùa vụ

Tham số thân

Biến Kiểu dữ liệu Mô tả
Tên biến Kiểu dữ liệu Mô tả chi tiết
-------------- ---------------- ------------------------------------------
id int ID của mẫu mùa vụ
name string Tên của mẫu mùa vụ
description string Mô tả của mẫu mùa vụ
crop_type string Loại cây trồng (có thể để trống/null)
crop_id int ID của cây trồng
crop object Thông tin chi tiết về cây trồng
order int Thứ tự sắp xếp
block_id int ID của khối (có thể để trống/null)
block object Thông tin chi tiết về khối (có thể null)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "data": {
        "id": 163,
        "name": "Mẫu mùa vụ tháng 8",
        "description": "",
        "crop_type": null,
        "crop_id": 65,
        "crop": {
            "id": 65,
            "name": "c\u00e0 chua"
        },
        "order": null,
        "block_id": null,
        "block": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Thêm mới mẫu mùa vụ

Để thêm mới một mẫu mùa vụ, sử dụng đoạn code sau:

import requests
import json

url = "https://api.nextfarm.vn/api/template/season"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

data = {
    "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None
    }

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
curl -X 'POST' \
  'https://api.nextfarm.vn/api/template/season' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
   "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None
}'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/template/season';
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  },
  "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None
  })
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Điểm đầu cuối này cho phép thêm mới một mẫu mùa vụ.

HTTPS request

POST https://api.nextfarm.vn/api/template/season

Tham số (Biến)

Tên biến Kiểu dữ liệu Mô tả chi tiết
id int ID của mẫu mùa vụ
name string Tên của mẫu mùa vụ
description string Mô tả của mẫu mùa vụ
crop_type string Loại cây trồng (có thể để trống/null)
crop_id int ID của cây trồng
crop object Thông tin chi tiết về cây trồng
order int Thứ tự sắp xếp
block_id int ID của khối (có thể để trống/null)
block object Thông tin chi tiết về khối (có thể null)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
        "id": 163,
        "name": "Mẫu mùa vụ tháng 8",
        "description": "",
        "crop_type": null,
        "crop_id": 65,
        "crop": {
            "id": 65,
            "name": "c\u00e0 chua"
        },
        "order": null,
        "block_id": null,
        "block": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Cập nhật thông tin mẫu mùa vụ

Để cập nhật thông tin mẫu mùa vụ, ta sử dụng đoạn code sau:

curl -X 'PUT' \
  'https://api.nextfarm.vn/api/template/season/{id}' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_access_token' \
  -d '{
   "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None
import requests

url = "https://api.nextfarm.vn/api/template/season/{id}"
payload = {
   "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None
}
headers = {
  'Accept': 'application/json',
  'Content-Type': 'application/json'
}

response = requests.put(url, json=payload, headers=headers)
print(response.json())
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/template/season/{id}';
const payload = {
    "name" : "Mẫu mùa vụ tháng 8"
    "crop_id": 5,
    "description": None,

};
const options = {
  method: 'PUT',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify(payload)
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về JSON có cấu trúc như sau:

[
 {
  "status_code": 0,
  "message": "Thành công"
 }
]

Điểm đầu cuối này cho phép cập nhật thông tin chi tiết của một mẫu mùa vụ.

HTTP Request

PUT https://api.nextfarm.vn/api/template/season/{id}

Tham số (Biến)

Tham số đường dẫn

Biến Kiểu dữ liệu Mô tả
id integer ID của công vịệc

Tham số thân

Tên biến Kiểu dữ liệu Mô tả chi tiết
id int ID của mẫu mùa vụ
name string Tên của mẫu mùa vụ
description string Mô tả của mẫu mùa vụ
crop_type string Loại cây trồng (có thể để trống/null)
crop_id int ID của cây trồng
crop object Thông tin chi tiết về cây trồng
order int Thứ tự sắp xếp
block_id int ID của khối (có thể để trống/null)
block object Thông tin chi tiết về khối (có thể null)

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON xác nhận việc cập nhật.

Trả về JSON được cấu trúc như sau:

[
  {
      "data": {
        "id": 163,
        "name": "Mẫu mùa vụ tháng 8",
        "description": "",
        "crop_type": null,
        "crop_id": 65,
        "crop": {
            "id": 65,
            "name": "c\u00e0 chua"
        },
        "order": null,
        "block_id": null,
        "block": null
  }
]

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau: json [ { "meta": { "message": "Token expried", "status_code": 401 }, "data": [] } ]

Báo cáo

Láy báo cáo lịch sử tưới

Để lấy báo cáo lịch sử tưới, sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/report/plc"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/report/plc' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/report/plc';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "pagination": {
            "total": 0,
            "count": 0,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": []      
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách báo cáo lịch sử tưới .

HTTP Request

GET https://api.nextfarm.vn/api/report/plc

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách lịch sử tưới.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Lấy báo cáo tài khoản người dùng

Để lấy báo cáo tài khoản người dùng, sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/ajinomoto/report/account"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/ajinomoto/report/account' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/ajinomoto/report/account';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "id": 858,
            "name": "T2",
            "start_date": "2024-02-19",
            "end_date": "2024-02-29",
            "area": 0,
            "amount": 0,
            "crop_code": "M123",
            "crop_name": "D\u01b0a l\u01b0\u1edbi",
            "user_name": "0973909605",
            "user_full_name": "Le v\u0103n linh "    
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách báo cáo tài khoản người dùng .

HTTP Request

GET https://api.nextfarm.vn/api/ajinomoto/report/account

Query Parameters

Biến kiểu dữ liệu Mô tả
id integer ID của người dùng
name string tên vụ mùa
start_date string ngày bắt đầu báo cáo
end_date string ngày kết thúc báo cáo
area float diện tích phân cho người dùng
amount float sản lượng
crop_code string mã cây trồng
crop_name string tên cây trồng
user_name string tên đăng nhập (Số điện thoại)
user_full_name string tên đầy đủ của người dùng

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách người dùng.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Lấy báo cáo thông tin vụ mùa theo khu vực

Để lấy báo cáo thông tin mùa vụ theo khu vực, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/ajinomoto/report/season-by-zone"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/ajinomoto/report/season-by-zone' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/ajinomoto/report/season-by-zon';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "pagination": {
            "total": 0,
            "count": 0,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": []
        },
        "status_code": 0,
        "message": "Successfully"
    },
    "recordsTotal": 0,
    "recordsFiltered": 0,
    "request": {
        "page": "1",
        "pageLimit": "15",
        "from_date": "",
        "to_date": ""
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách báo cáo thông tin mùa vụ theo khu vực .

HTTP Request

GET https://api.nextfarm.vn/api/ajinomoto/report/season-by-zone

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
from_date string Ngày bắt đầu
to_date strign Ngày kết thúc

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách Báo cáo theo khu vực.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Lấy báo cáo sâu bệnh theo khu vực

Để lấy báo cáo thông tin sâu bệnh theo khu vực, ta sử dụng đoạn code sau:

import requests

url = "https://api.nextfarm.vn/api/ajinomoto/report/pest-by-zone"
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer your_access_token'
}

response = requests.get(url, headers=headers)
print(response.json())
curl -X 'GET' \
  'https://api.nextfarm.vn/api/ajinomoto/report/pest-by-zone' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer your_access_token'
const fetch = require('node-fetch');

const url = 'https://api.nextfarm.vn/api/ajinomoto/report/pest-by-zone';
const options = {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': 'Bearer your_access_token'
  }
};

fetch(url, options)
  .then(response => response.json())
  .then(data => console.log(data));

Lệnh trên trả về một mã JSON có cấu trúc như sau:

[
 {
            "pagination": {
            "total": 0,
            "count": 0,
            "per_page": 15,
            "current_page": 1,
            "total_pages": 1,
            "links": []
        },
        "status_code": 0,
        "message": "Successfully"
    },
    "recordsTotal": 0,
    "recordsFiltered": 0,
    "request": {
        "page": "1",
        "pageLimit": "15",
        "from_date": "",
        "to_date": ""
 }
]

Điểm đầu cuối này cho phép truy xuất danh sách báo cáo thông tin sâu bệnh theo khu vực .

HTTP Request

GET https://api.nextfarm.vn/api/ajinomoto/report/season-by-zone

Query Parameters

Biến kiểu dữ liệu Mô tả
page integer Số trang (Bắt đầu từ 0)
pageLimit integer Số lượng item tối đa cho 1 trang
from_date string Ngày bắt đầu
to_date strign Ngày kết thúc

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ trả về phản hồi JSON danh sách Báo cáo sâu bệnh theo khu vực.

Nếu token đã hết hạn hoặc không hợp lệ, máy chủ sẽ trả về mã trạng thái 401 kèm theo thông báo cho biết token đã hết hạn.

Trả về JSON được cấu trúc như sau:

[
  {
  "meta": {
    "message": "Token expired",
    "status_code": 401
  },
  "data": []
  }
]

Errors

The NextX API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Token is expired or invalid.