StockCrossing
Xác nhận giao nhau
GET /stockcrossing
Lấy danh sách nhóm giao dịch giao nhau:
- Param: location (id kho, lấy theo người dùng), location_out (id kho xuất), confirm=Y|N (xác nhận), start_date, end_date (Ngày thực hiện giao dịch)
- Order: group_id, datenew, person_name, location_out_name, is_confirm, note
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | NO | ||
| is_correct | NO | ||
| note_confirm | NO | ||
| diary_error | NO | ||
| is_processed | NO | ||
| note_process | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stock_crossing": [
{
"uuid", //uuid group stockdiary
"group_id", // id group stockdiary
"datenew", //Ngày giao nhau
"person_name", //Nhân viên giao nhau
"location_out_name", //Kho xuất
"first_product_name", //Tên sản phẩm đại diện
"num_other_diary", //Số sản phẩm còn lại trong group
"note", //Ghi chú của giao dịch
"is_confirm", //Trạng thái xác nhận giao nhau
},
...
]
}
}
GET /stockcrossing[/:group_uuid]
Lấy thông tin chi tiết giao dịch giao nhau
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | NO | ||
| is_correct | NO | ||
| note_confirm | NO | ||
| diary_error | NO | ||
| is_processed | NO | ||
| note_process | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"result": "OK",
"group_diary": {
"group_id", //id group diary
"datenew", //Ngày giao dịch
"person_name", //Nhân viên giao dịch
"location_in", //Kho nhập
"location_out", //Kho xuất
"note_diary", // Ghi chú của giao dịch
"is_correct": "Y|N|null", // Xác nhận đúng hay sai
"person_confirm", //Người xác nhận (chỉ nên hiển thị khi is_correct!=null)
"date_confirm", //Ngày xác nhận (chỉ nên hiển thị khi is_correct!=null)
"note_confirm", //Ghi chú xác nhận (chỉ nên hiển thị khi is_correct!=null)
"diary": [ //Danh sách sản phẩm giao dịch
{
"id", //id diary
"reference", //Mã SP
"product_name", //Tên SP
"units" // Số lượng
},
...
],
"diary_error", //Mảng id diary lỗi (Hiển thị kèm danh sách SP giao dịch trên, chỉ hiển thị khi is_correct=N)
"is_processed": "Y|N|null", //Đã xử lý giao dịch sai (chỉ hiển thị khi is_correct=N)
"person_process", //Người xử lý sai (chỉ hiển thị khi is_correct=N và is_processed!=null)
"date_process", //Ngày xử lý sai (chỉ hiển thị khi is_correct=N và is_processed!=null)
"note_process"// Ghi chú xử lý sai (chỉ hiển thị khi is_correct=N và is_processed!=null)
},
}
//Mã lỗi:
- NOT_FOUND_GROUP_DIARY: Không tìm thấy giao dịch
- ERROR: Lỗi khác
PUT /stockcrossing[/:group_uuid]
Xác nhận giao nhau (confirm) và xác nhận xử lý giao nhau sai (processing)
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | NO | ||
| is_correct | NO | ||
| note_confirm | NO | ||
| diary_error | NO | ||
| is_processed | NO | ||
| note_process | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"action": "confirm" | "processing (chỉ thực hiện khi is_correct=N)",
"is_correct": "Y|N", //Xác nhận giao nhau. Với action confirm. Required
"note_confirm", //Ghi chú xác nhận. Với action confirm
"diary_error", // mảng JSON stockdiary id trong group bị sai. Với action confirm. Required khi is_correct=N
"is_processed": "Y|N", //Xác nhận đã xử lý giao nhau sai. Với action confirm (not requiqred, hiển thị khi correct=N), processing (required)
"note_process" //Ghi chú xử lý giao nhau sai. Với action confirm (hiển thị khi correct=N), processing
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{result: "SUCCESS|ERROR"}
//Mã lỗi:
- confirm:
+ NOT_FOUND_GROUP_DIARY: Không tìm thấy nhóm giao nhau
+ NOT_PERMISSION_ON_LOCATION: Không có quyền thực hiện xác nhận này
+ GROUP_DIARY_CONFIRMED: Giao nhau đã được xác nhận
+ DIARY_ERROR_NOT_FOUND: diary error không tìm thấy có trong group
+ ERROR: Lỗi khác
- processing:
+ NOT_FOUND_GROUP_DIARY: Không tìm thấy nhóm giao nhau
+ NOT_PERMISSION_ON_LOCATION: Không có quyền thực hiện xác nhận này
+ GROUP_DIARY_NOT_CONFIRMED: Giao nhau chưa được xác nhận (confirm)
+ GROUP_DIARY_CORRECT: Giao nhau đã được xác nhận đúng
+ GROUP_DIARY_PROCESSED: Giao nhau đã được xác nhận xử lý
+ ERROR: Lỗi khác
StockExpiries
Quản lý hạn sử dụng
GET /stockexpiries
- Lấy danh sách thời hạn sử dụng
- Param: reference, name (tên SP), start_date_expired (Ngày hết hạn), end_date_expired, is_active (set mặc định Y)
Order: name, manufacture_date, expired_date, warning_date, created_at
Lấy danh sách HSD của tất cả SP: truyền param get_product_expiry=Y&page_size=-1
Truyền thêm param name để lọc tương đối theo tên và mã SP
Lấy danh sách sản phẩm nhập mua có HSD: truyền param get_product_buy=Y&page_size=-1
- Truyền param start_date, end_date để lọc ngày mua (tối đa 32 ngày)
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| expiry | Hạn sử dụng: 0 (không có hạn sử dụng), number (tháng) |
NO | |
| warning | Số ngày trước ngày hết hạn để cảnh báo |
NO | |
| manufacture_date | NO | ||
| expired_date | NO | ||
| action | NO | ||
| location_id | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
- Danh sách HSD
{
"_embedded": {
"stock_expiries": [
{
"id", //id stock expiry
"reference",
"product_name",
"manufacture_date", //Ngày sản xuất
"expiry", // Số tháng hết hạn từ ngày sản xuất
"expired_date", //Ngày hết hạn
"expired", //Số ngày còn lại trước khi hết hạn (nếu giá trị = 0 => hết hạn)
"warning", //Số ngày trước khi hết hạn để cảnh báo
"warning_date", //Ngày cảnh báo
"created_at", //Ngày tạo
"person_create", //Người tạo
"location": "[{"is_check": "Y|N", "check_date" (ngày kiểm tra), "location_id", "person_check" (người kiểm tra), "location_name"},...]"
},
...
]
},
}
- Danh sách HSD theo SP:
{
"_embedded": {
"stock_expiries": [
{
"id", //product id
"reference",
"product_name", //ten SP
"expiry", // HSD (tháng)
"warning", // Số ngày cảnh báo
}
]
},
}
- Danh sách sản phẩm mua:
{
"_embedded": {
"stock_expiries": [
{
"id",
"reference",
"product_name",
"expiry",
"warning",
}
]
},
}
PUT /stockexpiries
Thêm thời hạn sử dụng
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| expiry | Hạn sử dụng: 0 (không có hạn sử dụng), number (tháng) |
NO | |
| warning | Số ngày trước ngày hết hạn để cảnh báo |
NO | |
| manufacture_date | NO | ||
| expired_date | NO | ||
| action | NO | ||
| location_id | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
Body
[{
"reference",
"expiry", //Hạn sử dụng (tháng) (số tháng hết hạn kể từ ngày sản xuất)
"warning", //Cảnh báo (ngày) Số ngày trước ngày hết hạn để cảnh báo
"manufacture_date", //yyyy-mm-dd
"expired_date" //yyyy-mm-dd
},...]
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 400: Client Error
- 422: Unprocessable Entity
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{"result: "SUCCESS|ERROR"}
Các lỗi:
- INVALID_VALUE: bao gồm các lỗi nhập sai dữ liệu
- WARNING_NOT_SAME: Ngày cảnh báo các dòng cùng sản phẩm không giống nhau
- EXPIRY_DUPLICATE: Trùng dòng
- REFERENCE_NOT_EXIST: Mã SP không tồn tại
- EXPIRY_EXIST: Thời hạn sử dụng đã tồn tại
- ERROR: Lỗi lưu dữ liệu
PUT /stockexpiries[/:expiry_id]
- Chỉnh sửa thời hạn sử dụng
- Xác nhận đã xử lý kho
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| expiry | Hạn sử dụng: 0 (không có hạn sử dụng), number (tháng) |
NO | |
| warning | Số ngày trước ngày hết hạn để cảnh báo |
NO | |
| manufacture_date | NO | ||
| expired_date | NO | ||
| action | NO | ||
| location_id | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"action": "editExpiry | checkLocation",
"reference", //Với action editExpiry
"expiry", //Với action editExpiry
"warning", //Với action editExpiry
"manufacture_date", //Với action editExpiry
"expired_date", //Với action editExpiry
"location_id", //Với action checkLocation
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{result: "SUCCESS | ERROR"}
Các lỗi:
- NOT_FOUND_EXPIRY: Không tìm thấy HSD
- NOT_ACTIVE_EXPIRY: HSD đã không còn hoạt động
- ERROR: Lỗi lữu trữ
- Với editExpiry
+ EXPIRY_EXIST: HSD đã tồn tại
+ EXPIRY_CHECKED: HSD đã có kho check
- Với checkLocation
+ NOT_EXIST_LOCATION: Không tồn tại kho hoặc không có quyền trên kho này
+ LOCATION_CHECKED: HSD đã check trên kho này
DELETE /stockexpiries[/:expiry_id]
Xóa HSD Các lỗi: - NOT_FOUND_EXPIRY: Không tìm thấy HSD - NOT_ACTIVE_EXPIRY: HSD đã không còn hoạt động
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| expiry | Hạn sử dụng: 0 (không có hạn sử dụng), number (tháng) |
NO | |
| warning | Số ngày trước ngày hết hạn để cảnh báo |
NO | |
| manufacture_date | NO | ||
| expired_date | NO | ||
| action | NO | ||
| location_id | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 204: No Content
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
StockMapLevels
Quản lý thứ bậc kho
GET /stockmaps/levels
Lấy danh sách thứ bậc kho
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| code | NO | ||
| label | NO | ||
| order | NO | ||
| prefix | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stock_map_levels": [
{
"uuid", //level uuid
"code",
"label",
"prefix", //Tiền tố
"order", //Thứ tự
"background_color", //Màu nền
"border_color" //Màu border
}
]
},
}
POST /stockmaps/levels
Thêm thứ bậc
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| code | NO | ||
| label | NO | ||
| order | NO | ||
| prefix | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"code", //required
"label", //required
"prefix": "/.-",
"order",
"background_color",
"border_color"
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 201: Created
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{"result":"SUCCESS | ERROR"}
Mã lỗi:
- ERROR: Lỗi lưu trữ
PUT /stockmaps/levels[/:level_id]
Chỉnh sửa thứ bậc
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| code | NO | ||
| label | NO | ||
| order | NO | ||
| prefix | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"code",
"label",
"prefix": "/.-",
"order",
"background_color",
"border_color"
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{"resuilt":"SUCCESS | ERROR"}
Mã lỗi:
- NOT_FOUND_LEVEL: Không tìm thấy thứ bậc
- EXIST_MAP_USE_LEVEL: Thứ bậc đã được sử dụng trong 1 sơ đồ kho
- ERROR: Lỗi lưu trữ
DELETE /stockmaps/levels[/:level_id]
Xóa thứ bậc. Result: {"resuilt":"SUCCESS | ERROR"} Mã lỗi: - NOT_FOUND_LEVEL: Không tìm thấy thứ bậc - EXIST_MAP_USE_LEVEL: Thứ bậc đã được sử dụng trong 1 sơ đồ kho - ERROR: Lỗi lưu trữ
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| code | NO | ||
| label | NO | ||
| order | NO | ||
| prefix | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 204: No Content
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
StockMapProducts
GET /stockmaps/products/:location[/:map/:product_id]
Lấy danh sách sản phẩm thuộc map: /stockmaps/products/[:location] - Filter: map (map id), product_code, product_name, reference - Order: reference, product_name, map, min, max, stock, reality, deviation, flag_type, person_name, date Quyền: stock.map.view_list
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| map | NO | ||
| product | NO | ||
| code | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stock_map_products": [
{
"id", //product id
"reference",
"product_name",
"maps", //Mảng json map mà sản phẩm thuộc: [{"uuid","code"},...]
"min",
"max",
"stock",
"reality",
"deviation",
"flag_type",
"person_name",
"date"
},...
]
}
}
POST /stockmaps/products/:location[/:map/:product_id]
Thêm sản phẩm vào map: /stockmaps/products/[:location] Quyền: stock.map.add_product
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| map | NO | ||
| product | NO | ||
| code | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"map", //map id
"product", //product id.
"code" //product code. Mặc định thêm bằng product nếu không có code
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 201: Created
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{result: "SUCCESS | ERROR"}
Các lỗi:
- NOT_FOUND_LOCATION
- NOT_FOUND_MAP
- MAP_NOT_SET_SAVE_PRODUCT
- NOT_FOUND_PRODUCT
- EXIST_MAP_PRODUCT
- ERROR
DELETE /stockmaps/products/:location[/:map/:product_id]
Xóa map: /stockmaps/products/[:location]/[:map]/[:product_id]; Quyền: stock.map.delete; Các lỗi: - NOT_FOUND_LOCATION; - NOT_FOUND_MAP_PRODUCT; - ERROR;
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| map | NO | ||
| product | NO | ||
| code | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 204: No Content
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
StockMaps
GET /stockmaps/maps/:location
Xem danh sách map: /stockmaps/maps/[:location_id]. - Filter: parent (id, khu vực cha), code (code khu vực), name (tên khu vực), reference (mã SP), product_name (Tên SP) Quyền: stock.map.view_list
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| parent | NO | ||
| code | NO | ||
| name | NO | ||
| map_level | NO | ||
| length | NO | ||
| width | NO | ||
| coord_l1 | NO | ||
| coord_l2 | NO | ||
| coord_w1 | NO | ||
| coord_w2 | NO | ||
| is_save_product | NO | ||
| order | NO | ||
| action | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stock_maps": [
{
"uuid", //map id
"parent", //parent id
"code", //map code, đã kèm code map cha
"name", //map name
"length", //Chiều dài map (m)
"width", //Chiều rộng map (m)
"coord_l1", // Tọa độ 1 của map theo chiều dài của map cha (m)
"coord_l2", // Tọa độ 2 của map theo chiều dài của map cha (m)
"coord_w1", // Tọa độ 1 của map theo chiều rộng của map cha (m)
"coord_w2", // Tọa độ 2 của map theo chiều rộng của map cha (m)
"is_save_product": "Y|N", // map chứa sản phẩm
"order" //Thứ tự map trong map cha,
"background_color",
"border_color"
}
]
},
}
POST /stockmaps/maps/:location
Thêm map mới. Quyền: stock.map.add
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| parent | NO | ||
| code | NO | ||
| name | NO | ||
| map_level | NO | ||
| length | NO | ||
| width | NO | ||
| coord_l1 | NO | ||
| coord_l2 | NO | ||
| coord_w1 | NO | ||
| coord_w2 | NO | ||
| is_save_product | NO | ||
| order | NO | ||
| action | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"parent", //parent id. Not required
"code",
"name",
"map_level", //map level id
"length",
"width",
"coord_l1",
"coord_l2",
"coord_w1",
"coord_w2",
"is_save_product": "Y|N",
"background_color",
"border_color"
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 201: Created
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{result:"SUCCESS | ERROR"}
Các lỗi:
- NOT_FOUND_LOCATION
- NOT_FOUND_PARENT
- PARENT_SAVE_PRODUCT: Khu vực cha được cài đặt chứa sản phẩm
- ERROR
GET /stockmaps/maps/:location[/:map_id]
Lấy thông tin map: /stockmaps/maps/[:location]/[:map_id] Quyền: stock.map.view_detail
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| parent | NO | ||
| code | NO | ||
| name | NO | ||
| map_level | NO | ||
| length | NO | ||
| width | NO | ||
| coord_l1 | NO | ||
| coord_l2 | NO | ||
| coord_w1 | NO | ||
| coord_w2 | NO | ||
| is_save_product | NO | ||
| order | NO | ||
| action | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"result": "OK",
"map": {
"uuid",
"parent",
"code",
"name",
"map_level",
"length",
"width",
"coord_l1",
"coord_l2",
"coord_w1",
"coord_w2",
"is_save_product",
"order",
"background_color",
"border_color"
},
}
PUT /stockmaps/maps/:location[/:map_id]
- Chỉnh sửa thông tin map. Quyền: stock.map.edit_info
- Chỉnh sửa thứ tự map. Quyền: stock.map.edit_order
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| parent | NO | ||
| code | NO | ||
| name | NO | ||
| map_level | NO | ||
| length | NO | ||
| width | NO | ||
| coord_l1 | NO | ||
| coord_l2 | NO | ||
| coord_w1 | NO | ||
| coord_w2 | NO | ||
| is_save_product | NO | ||
| order | NO | ||
| action | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"action": "editInfo | editOrder",
"code", //Với action editInfo
"name", //Với action editInfo
"map_level", //Với action editInfo
"length", //Với action editInfo
"width", //Với action editInfo
"coord_l1", //Với action editInfo
"coord_l2", //Với action editInfo
"coord_w1", //Với action editInfo
"coord_w2", //Với action editInfo
"is_save_product", //Với action editInfo
"parent", //Với action editOrder
"order", //Với action editOrder
"background_color", //Với action editOrder
"border_color" //Với action editOrder
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{result:"SUCCESS | ERROR"}
Các lỗi:
- Lỗi chung
+ NOT_FOUND_LOCATION
+ NOT_FOUND_MAP
+ ERROR
- editInfo
+ MAP_HAS_MAP_CHILDREN: Khu vực có khu vực con không thể set is_save_product = Y
+ MAP_HAS_PRODUCTS: Đã có sản phẩm thuộc khu vực không thể set is_save_product = N
- editOrder
+ NOT_FOUND_PARENT
- PARENT_SAVE_PRODUCT: Khu vực cha được cài đặt chứa sản phẩm
DELETE /stockmaps/maps/:location[/:map_id]
Xóa map. Quyền: stock.map.delete Các lỗi: - Lỗi chung + NOT_FOUND_LOCATION + NOT_FOUND_MAP + MAP_HAS_MAP_CHILDREN + MAP_HAS_PRODUCTS + ERROR
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| parent | NO | ||
| code | NO | ||
| name | NO | ||
| map_level | NO | ||
| length | NO | ||
| width | NO | ||
| coord_l1 | NO | ||
| coord_l2 | NO | ||
| coord_w1 | NO | ||
| coord_w2 | NO | ||
| is_save_product | NO | ||
| order | NO | ||
| action | NO | ||
| background_color | NO | ||
| border_color | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 204: No Content
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Stockdeviation
GET /stockdeviation/:location[/:id]
Lấy danh sách tồn lệch: /stockdeviation/[:location].
- Filter: product_name, reference, code, stock, reality, deviation, flag_type, person, position, start_date_deviation, end_date_deviation, start_date_transaction, end_date_transaction
- Order: reference, product_name, position, stock, reality, deviation, flag_type, person, date
- Filter: product_name, reference, code, stock, reality, deviation, flag_type, person, position, start_date_deviation, end_date_deviation, start_date_transaction, end_date_transaction
Lấy danh sách lịch sử tồn lệch: /stockdeviation/[:location]?view_history=Y.
- Filter: product_name, reference, code, stock, reality, deviation, flag_type, person, start_date_deviation, end_date_deviation
- Order: reference, product_name, stock, reality, deviation, flag_type, person, date
- Filter: product_name, reference, code, stock, reality, deviation, flag_type, person, start_date_deviation, end_date_deviation
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| stock | NO | ||
| reality | NO | ||
| deviation | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
- Danh sách tồn lệch:
{
"_embedded": {
"stockdeviation": [
{
"product_id", //ID sản phẩm
"reference", //Mã SP
"product_name", //Tên SP
"position", //Vị trí
"stock", //Tồn máy
"reality", //Tồn thực
"deviation", //Tồn lệch
"flag_type": "D|R|P", //Cờ: D: Draft (nháp); R: Right (đúng); P: Periodic (định kỳ)
"person_name", //Người chỉnh lệch
"date" // Ngày chỉnh lệch
},
...
]
}
}
- Danh sách lịch sử tồn lệch:
{
"_embedded": {
"stockdeviation": [
{
"product_id", //ID sản phẩm
"reference", //Mã SP
"product_name", //Tên SP
"stock", //Tồn máy
"reality", //Tồn thực
"deviation", //Tồn lệch
"flag_type", //Cờ
"edited": "Y|N", //Đã chỉnh tồn
"person_name", //Người chỉnh lệch
"date" // Ngày chỉnh lệch
},
...
]
}
}
PUT /stockdeviation/:location[/:id]
- Check dữ liệu chỉnh sửa tồn lệch: /stockdeviation/:location?check_deviation=Y
- Chỉnh sửa tồn lệch: /stockdeviation/:location, cần truyền param: edited (đã chỉnh sửa, yêu cầu quyền show_edited), flag_type (cờ).
- Quy tắt nhập xử lý tồn lệch:
- Yêu cầu phải có data reality hoặc deviation.
- Lúc nào reality cũng phải >=0.
- Nếu có đồng thời stock, reality, deviation thì kiểm tra deviation dựa trên stock, reality theo công thức tồn lệch deviation = reality - stock
- Nếu không có stock: Nếu tồn tại cả reality và deviation thì stock bằng reality - deviation, còn chỉ tồn tại reality hoặc deviation thì stock = stock_current, giá trị reality hoặc deviation còn lại sẽ tính dựa theo công thức tồn lệch và kiểm tra reality (nếu không có truyền reality)
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | NO | ||
| stock | NO | ||
| reality | NO | ||
| deviation | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
[
{
"reference", //Mã SP. Required
"stock", //Tồn máy
"reality", //Tồn thực
"deviation" //Tồn lệch
},
...
]
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
- Check data chỉnh sửa tồn lệch: return lại mảng data đã truyền vào kèm result và các attribute cần thiết
{
"_embedded": {
"stockdeviation": [
{
"reference", //Mã SP truyền
"stock", //Tồn máy truyền
"reality", //Tồn thực truyền
"deviation", //Tồn lệch truyền
"result": "ERROR|OK", //Kết quả check
"result_code" // Chỉ có khi result ERROR, theo bảng mã lỗi bên dưới
"product_name", //Tên SP
"deviation_old", // Tồn lệch cũ
"stock_current" // Tồn máy hiện tại
},
...
]
}
}
- Chỉnh sửa tồn lệch:
{"result: "SUCCESS|ERROR"}
Các lỗi xảy ra:
- NOT_FOUND_LOCATION: Không tìm thấy location.
- INCORRECT_FLAG_TYPE: param flag_type không đúng. Chỉ ở action chỉnh sửa tồn lệch
- DUPLICATE_PRODUCT: Trùng mã SP
- INCORRECT_DEVIATION: giá trị tồn lệch, tồn thực không đúng
- NOT_FOUND_PRODUCT: Không tìm thấy sản phẩm hoặc sản phẩm không thuộc kho
StockdiaryTemp
GET /stockdiary/temp
Lấy danh sách phiếu tạm
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | YES | ||
| stockdiary_id | YES | ||
| product_id | NO | ||
| product_code | NO | ||
| line_id | NO | ||
| units | NO | ||
| person_id | NO | ||
| reason | NO | ||
| location_id | NO | ||
| location_transfer | NO | ||
| supplier_id | NO | ||
| note | NO | ||
| products | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stockdiary_temp": [
{
"id", //id stockdiary temp
"label", //label stockdiary temp
"person_name",
"location_name",
"person_share",
"first_product_name",
"num_other_line",
"created_at",
"updated_at",
}
]
},
"page_count",
"page_size",
"total_items",
"page"
}
GET /stockdiary/temp[/:stockdiary_id]
- Lấy danh sách lý do theo người dùng: /reason;
- Lấy danh sách kho theo người dùng: /location-person;
- Lấy thông tin phiếu hiện tại: /current. Thêm param set_current_access_token=Y để set quyền truy cập stockdiary hiện tại.
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | YES | ||
| stockdiary_id | YES | ||
| product_id | NO | ||
| product_code | NO | ||
| line_id | NO | ||
| units | NO | ||
| person_id | NO | ||
| reason | NO | ||
| location_id | NO | ||
| location_transfer | NO | ||
| supplier_id | NO | ||
| note | NO | ||
| products | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
//REASON
{
"reason": {
[reason_id]: [reason_label],
...
}
}
//LOCATION-PERSON
{
"location_person": {
[location_id]: [location_name],
...
},
}
//CURRENT
{
"result": "SUCCESS",
"current_stockdiary": {
"stockdiary_info": {
"stockdiary_id",
"stockdiary_label",
"person_name",
"reason",
"reason_name",
"location_id"",
"location_name",
"location_transfer",
"location_transfer_name",
"supplier_id",
"supplier_name",
"note"
},
"stockdiary_lines": [
{
"line_id",
"product_id",
"product_name",
"reference",
"units",
"units_package"
},
...
]
}
}
//Lỗi CURRENT có thể xảy ra:
- NOT_CURRENT_ACCESS_TOKEN
- ERROR
PUT /stockdiary/temp[/:stockdiary_id]
Xử lý các hành động: addLine (Thêm SP), editStockdiary (Sửa các thông tin chung của phiếu: Lý do, kho, NCC, ghi chú,...), editUnit (Chỉnh sửa số lượng dòng), deleteLine (Xóa dòng), activeStockdiary (kích hoạt phiếu chờ), forwardStockdiary (chuyển tiếp phiếu), createNewStockdiary (Tạo phiếu mới), importProduct (import từ danh sách sản phẩm)
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | YES | ||
| stockdiary_id | YES | ||
| product_id | NO | ||
| product_code | NO | ||
| line_id | NO | ||
| units | NO | ||
| person_id | NO | ||
| reason | NO | ||
| location_id | NO | ||
| location_transfer | NO | ||
| supplier_id | NO | ||
| note | NO | ||
| products | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
{
"action": "addLine | editStockdiary | editUnit | deleteLine | activeStockdiary | forwardStockdiary | createNewStockdiary",
"stockdiary_id": "Phiếu đang xử lý hoặc phiếu đang chờ cho action activeStockdiary",
"product_id|product_code": "Áp dụng với action addLine",
"line_id": "Áp dụng với các action: editUnit, deleteLine",
"units": "Áp dụng với action addLine, editUnit. Chỉ có thể mang giá trị âm với lý do chỉnh sửa tồn (từ tồn lệch). Chỉ có thể giá trị 0 với lý lý chỉnh sửa tồn (từ tồn thực)",
"person_id" : "Áp dụng với action forwardStockdiary"
"reason": "Áp dụng với action editStockdiary",
"location_id": "Áp dụng với action editStockdiary",
"location_transfer": "Áp dụng với action editStockdiary. Required với reason giao nhau",
"supplier_id": "Áp dụng với action editStockdiary. Required với reason mua hàng và trả NCC",
"note": "Áp dụng với action editStockdiary",
"products": "Áp dụng với action importProduct. Là 1 mảng string JSON theo cấu trúc [{"reference":"[reference]","units":"[units]"},...]"
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 404: Not Found
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
//SUCCESS
Đa số các action trả về dạng {"result":"SUCCESS"}
Riêng:
- Action addLine:
{
"result": "SUCCESS",
"line": {
"line_id",
"product_id",
"product_name",
"units"
},
"is_update": "Y|N" // Cập nhật SL line sản phẩm đã tồn tại hay tạo line mới
}
- Action editStockdiary:
{
"result": "SUCCESS",
"stockdiary_info": {
"reason",
"reason_name",
"location_id",
"location_name",
"location_transfer",
"location_transfer_name",
"supplier_id",
"supplier_name",
"note",
},
}
- Action activeStockdiary, forwardStockdiary, createNewStockdiary: Trả về cấu trúc giống GET /current
Các lỗi có thể xảy ra:
Lỗi chung:
+ STOCKDIARY_NOT_CURRENT: Giá trị stockdiary_id không phải stockdiary hiện tại. (Trừ action activeStockdiary)
+ NOT_CURRENT_ACCESS_TOKEN: Chưa set truy cập phiếu tạm cho access_token hiện tại.
+ ERROR: Lỗi khác.
Lỗi riêng:
- addLine:
+ PRODUCT_NOT_FOUND: Không tìm thấy SP
- editStockdiary:
+ NOT_FOUND_REASON: Lý do không đúng
+ NOT_PERMISSION_SELECT_THIS_REASON: Không có quyền chọn lý do
+ REQUIRED_LOCATION_ID: Yêu cầu location_id
+ NOT_PERMISSION_SELECT_THIS_LOCATION: Không có quyền chọn kho
+ REQUIRED_LOCATION_TRANSFER: Yêu cầu kho giao nhau
+ NOT_FOUND_LOCATION_TRANSFER: Không tìm thấy kho giao nhau
+ LOCATION_TRANSFER_DIFFERENT_LOCATION: Kho giao nhau phải khác kho chính
+ REQUIRED_SUPPLIER_ID: Yêu cầu NCC
+ NOT_FOUND_SUPPLIER: Không tìm thấy NCC
- editUnits, deleteLine:
+ LINE_NOT_FOUND: Không tìm thấy line để chỉnh sửa
- activeStockdiary:
+ STOCKDIARY_NOT_FOUND: Không tìm thấy phiếu
- forwardStockdiary:
+ PERSON_NOT_FOUND: Nhân viên không tìm thấy
+ NOT_FORWARD_YOURSELF: Không được chuyển tiếp cho chính mình
+ STOCKDIARY_NOT_ITEM: Phiếu không có item nào
- createNewStockdiary: không có
- importProduct:
+ DUPLICATE_REFERENCE: Trùng mã trên dữ liệu import
+ INCORRECT_UNITS: Số lượng không đúng
+ NOT_FOUND_PRODUCT: Không tìm thấy từ mã SP
DELETE /stockdiary/temp[/:stockdiary_id]
Xóa phiếu hiện tại: /stockdiary/temp/[stockdiary_id]; Và tự động tạo phiếu mới. Trả về thông tin phiếu mới theo cấu trúc trả về GET /tickets/temp/current. Các lỗi có thể xảy ra: - STOCKDIARY_NOT_CURRENT: Không tìm thấy ticket; - NOT_CURRENT_ACCESS_TOKEN: Chưa set truy cập phiếu tạm cho access_token hiện tại; - ERROR: Lỗi khác
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| action | YES | ||
| stockdiary_id | YES | ||
| product_id | NO | ||
| product_code | NO | ||
| line_id | NO | ||
| units | NO | ||
| person_id | NO | ||
| reason | NO | ||
| location_id | NO | ||
| location_transfer | NO | ||
| supplier_id | NO | ||
| note | NO | ||
| products | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 204: No Content
- 404: Not Found
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Stockdiary
POST /stockdiary/stockdiary[/:stockdiary_id]
- Thực hiện giao dịch kho từ phiếu tạm
- Thực hiện giao dịch chuyển đổi tồn sản phẩm
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| stockdiary_temp_id | NO | ||
| action | NO | ||
| location | NO | ||
| product_out_id | NO | ||
| units_out | NO | ||
| product_in | Array | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
Body
{
"stockdiary_temp_id", // required với việc thực hiện giao dịch kho từ phiếu tạm
"action": "convert", // Convert: chuyển đổi tồn sản phẩm
"location", //location id. Required with action convert
"product_out_id", // ID sản phẩm xuất. Required with action convert
"units_out", // Số lượng sản phẩm xuất. Required with action convert
"product_in":'[{"product_id":[:product_id],"units":[:units]},...]' // String JSON, mảng id, số lượng sản phẩm nhập. Required with action convert
}
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 201: Created
- 400: Client Error
- 422: Unprocessable Entity
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
//SUCCESS
{"result": "SUCCESS"}
//ERROR
- Giao dịch từ kho tạm:
+ STOCKDIARY_TEMP_INVALID: Giá trị stockdiary_temp_id không hợp lệ.
+ NOT_CURRENT_ACCESS_TOKEN: Chưa set truy cập phiếu tạm cho access_token hiện tại.
+ REQUIRED_REASON: Chưa chọn "lý do"
+ NOT_PERMISSION_SELECT_THIS_REASON: Không có quyền với "lý do" này.
+ REQUIRED_LOCATION_ID: Chưa chọn kho.
+ NOT_PERMISSION_SELECT_THIS_LOCATION: Không có quyền với kho này.
+ REQUIRED_LOCATION_TRANSFER: Chưa chọn kho giao nhau.
+ NOT_FOUND_LOCATION_TRANSFER: Không tìm thấy kho giao nhau.
+ LOCATION_TRANSFER_DIFFERENT_LOCATION: Kho giao nhau phải khác kho chính.
+ REQUIRED_SUPPLIER_ID: Chưa chọn NCC.
+ NOT_FOUND_SUPPLIER: Không tìm thấy NCC.
+ STOCKDIARY_TEMP_NOT_ITEM: Phiếu tạm chưa có SP nào.
+ REQUEST_UNITS_GREATER_EQUAL_0: Số lượng phải lớn hơn hoặc bằng 0.
+ REQUEST_UNITS_GREATER_0: Số lượng phải lớn hơn 0.
+ ERROR: Lỗi khác
- Giao dịch chuyển đổi tồn sản phẩm:
+ NOT_PERMISSION_SELECT_THIS_LOCATION: Không có quyền trên kho này.
+ NOT_FOUND_PRODUCT_OUT: Không tìm thấy sản phẩm xuất.
+ INCORRECT_UNITS_IN: Số lượng nhập không đúng.
+ NOT_FOUND_PRODUCT_IN: Không tìm thấy sản phẩm nhập.
+ INCORRECT_UNITS_CONVERT: Số lượng SP nhập không phù hợp với số lượng SP xuất.
+ ERROR: Lỗi khác.
Stocklevel
Quản lý định mức kho
GET /stocklevel[/:location[/:id]]
Xem danh sách định mức kho: /stocklevel/[:location_id]. - Filter: in_stock=Y (Thuộc kho), product_name (tên SP), reference (mã SP), code (mã vạch), units (Tồn), min (tồn min), max (tồn max), position (vị trí) - Order: product_name, reference, units, min, max, position
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | YES | ||
| min | NO | ||
| max | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
{
"_embedded": {
"stocklevel": [
{
"product_id",
"reference",
"product_name",
"units",
"min",
"max",
"position"
},
...
]
}
}
PUT /stocklevel[/:location[/:id]]
Sửa định mức kho: /stocklevel/[:location_id]
Fields
| Field | Type | Description | Required |
|---|---|---|---|
| reference | YES | ||
| min | NO | ||
| max | NO |
Request
Headers
| Header | Value |
|---|---|
| Accept | application/vnd.stock.v1+json
application/hal+json
application/json |
| Content-Type | application/vnd.stock.v1+json
application/json |
| Authorization | HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details) |
Body
[
{
"reference", //Mã SP. Required
"min",
"max",
},...
]
Response
Status Codes
- 406: Not Acceptable
- 415: Unsupported Media Type
- 200: OK
- 400: Client Error
- 422: Unprocessable Entity
- 401: Unauthorized
- 403: Forbidden
Headers
| Header | Value |
|---|---|
| Content-Type | application/vnd.stock.v1+json
application/hal+json
application/json |
| Allow | Comma-separated list of all HTTP methods allowed |
Body
//SUCCESS
{"result": "SUCCESS"}
//ERROR
- NOT_FOUND_LOCATION: Không tìm thấy kho
- DUPLICATE_PRODUCT: Trùng mã SP (kèm danh sách mã trùng)
- NOT_FOUND_PRODUCT: Không tìm thấy sản phẩm (kèm danh sách mã không tìm thấy)
- ERROR: Lỗi khác