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
  • 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

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