Auth

Xác thực access token khi đăng nhập vào CSDL POS

POST /people/auth

Xác thực access token khi đăng nhập vào CSDL POS

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

//Yêu cầu "Device-Id" trong header

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 401: Unauthorized
  • 403: Forbidden

Headers

Header Value
Content-Type
application/vnd.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{
    'result' => 'SUCCESS',
    'person_name',
    'pos_name',
    'location_name'
}

//ERROR
- NOT_LOGGED_IN: Chưa đăng nhập.
- NOT_REGISTERED_POS: Tài khoản chưa được đăng ký quản lý POS.
- NOT_VERIFIED_POS: Tài khoản đang chờ xác thực quản lý POS. Gởi kèm pos_name, seller_uuid để yêu cầu xác thực.
- NOT_POS_ACCOUNT: Tài khoản POS liên kết không tồn tại hoặc chưa được kích hoạt.
- EXIST_ACCESS_TOKEN: Access token đã được đăng ký
- ERROR: Lỗi hệ thống khác

People

Quản lý tài khoản nhân viên

POST /people/people

Tạo tài khoản nhân viên

Fields

Field Type Description Required
name

Tên nhân viên

NO
username

Tên đăng nhập của nhân viên

NO
password

Mật khẩu đăng nhập của nhân viên

NO
role_id

Vai trò set cho nhân viên

NO
visible

Tài khoản nhân viên được phép hoạt động hay không

NO
action NO
phone_customer

Số điện thoại customerVuadungcu

NO
location NO

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

{
   "name": "Tên nhân viên",
   "username": "Tên đăng nhập của nhân viên",
   "password": "Mật khẩu đăng nhập của nhân viên",
   "role_id": "Vai trò set cho nhân viên",
   "visible": "Tài khoản nhân viên được phép hoạt động hay không",
   "location": "Danh sách kho quản lý" //String JSON array_location_id
}

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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{"result":"SUCCESS"}

//Các lỗi có thể xảy ra:
- EXIST_USERNAME: username đã tồn tại.
- NOT_EXIST_ROLE: role_id không đúng.
- ERROR: Lỗi hệ thống khác.

GET /people/people

Lấy danh sách nhân viên. Có thể truyền param "name" để tìm kiếm tương đối. Truyền param "visible=Y" để chỉ lấy các nhân viên được phép hoạt động.

Fields

Field Type Description Required
name

Tên nhân viên

NO
username

Tên đăng nhập của nhân viên

NO
password

Mật khẩu đăng nhập của nhân viên

NO
role_id

Vai trò set cho nhân viên

NO
visible

Tài khoản nhân viên được phép hoạt động hay không

NO
action NO
phone_customer

Số điện thoại customerVuadungcu

NO
location NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_embedded": {
       "person": [
           {
               "person_id",
               "person_name",
               "visible":"Y|N",
               "role_id",
               "role_name",
           },
           ...
       ]
   }
}

GET /people/people[/:id]

Lấy thông tin nhân viên

Fields

Field Type Description Required
name

Tên nhân viên

NO
username

Tên đăng nhập của nhân viên

NO
password

Mật khẩu đăng nhập của nhân viên

NO
role_id

Vai trò set cho nhân viên

NO
visible

Tài khoản nhân viên được phép hoạt động hay không

NO
action NO
phone_customer

Số điện thoại customerVuadungcu

NO
location NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
    "result": "SUCCESS",
    "person": {
        "person_id",
        "person_name",
        "username",
        "visible": "Y|N",
        "role_id",
        "role_name",
        "linking_customerVuadungcu":"Y|N|W" trạng thái liên kết customer VDC
        "location": array_location
    }
}

//Lỗi có thể xảy ra:
- NOT_FOUND_PERSON: không tìm thấy nhân viên, $id không đúng.

PUT /people/people[/:id]

Chỉnh sửa thông tin tài khoản nhân viên

Fields

Field Type Description Required
name

Tên nhân viên

NO
username

Tên đăng nhập của nhân viên

NO
password

Mật khẩu đăng nhập của nhân viên

NO
role_id

Vai trò set cho nhân viên

NO
visible

Tài khoản nhân viên được phép hoạt động hay không

NO
action NO
phone_customer

Số điện thoại customerVuadungcu

NO
location NO

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

{
   "action": "editName | editUsername | editPassword | editRole | editVisible | linkCustomerVuadungcu | editLocation"
   "name", // require action editName
   "username", // require action editUsername
   "password", // require action editPassword
   "role_id", // require action editRole
   "visible", // require action editVisible
   "phone_customer", //require action linkCustomerVuadungcu. Truyền giá trị "unlink" để xóa link
   "location",//string JSON array location. Require action editLocation
}

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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{"result":"SUCCESS"}

//ERROR
- NOT_FOUND_PERSON: Không tìm thấy nhân viên bởi $id
- ERROR: Lỗi hệ thống khác.
- EXIST_USERNAME: username đã tồn tại. //Đối với action editUsername
- NOT_EXIST_ROLE: role_id không đúng. //Đối với action editRole
////Đối với action linkCustomerVuadungcu
//////với phone_customer=unlink
- NOT_EXIST_LINK_CUSTOMERVUADUNGCU: Không tồn tại liên kết. 
//////Với phone_customer!=unlink
- EXIST_LINK_CUSTOMERVUADUNGCU: Đã tồn tại liên kết với customer VDC
- NOT_FOUND_CUSTOMERVUADUNGCU: Không tìm thấy customer VDC by phone
- NOT_YET_CONFIRM_PHONE_CUSTOMERVUADUNGCU: customer VDC chưa xác thực SDT
- EXIST_LINK_CUSTOMERVUADUNGCU_BYPHONE: customer VDC by phone đã tồn tại liên kết với tài khoản nhân viên POS khác.

DELETE /people/people[/:id]

Xóa tài khoản nhân viên. Các lỗi có thể xảy ra: - NOT_FOUND_PERSON: Không tìm thấy nhân viên bởi $id; - PERSON_LINKING_CUSTOMERVUADUNGCU: Tài khoản nhân viên đang liên kết customer vuadungcu

Fields

Field Type Description Required
name

Tên nhân viên

NO
username

Tên đăng nhập của nhân viên

NO
password

Mật khẩu đăng nhập của nhân viên

NO
role_id

Vai trò set cho nhân viên

NO
visible

Tài khoản nhân viên được phép hoạt động hay không

NO
action NO
phone_customer

Số điện thoại customerVuadungcu

NO
location NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Permissions

Quản lý quyền

GET /people/permissions[/:permission]

Lấy danh sách quyền dành cho nhân viên quản lý (Đã sắp xếp theo group và thứ tự permission)

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
    "_embedded": {
        "permissions": [
            {
                "permission",
                "group",
                "label",
            },
            ...
        ]
    }
}

Person

Quản lý tài khoản cá nhân nhân viên đang đăng nhập

GET /people/person[/:type]

Lấy thông tin nhân viên: - /info: Lấy thông tin nhân viên (name); - /permissions: Lấy danh sách quyền api của nhân viên

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

// Thông tin nhân viên
{
    "info": {
        "name"
    },
}

//Danh sách quyền
{
    "permissions": [
        "[permission1]",
        "[permission2]",
        ...
    ],
}

Roles

Quản lý vai trò nhân viên

GET /people/roles

Lấy danh sách vai trò nhân viên

Fields

Field Type Description Required
name

Tên vai trò nhân viên

NO
permissions NO
action NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_embedded": {
        "roles": [
            {
                "role_id",
                "role_name",
            },
            ...
        ]
   }
}

POST /people/roles

Thêm vai trò

Fields

Field Type Description Required
name

Tên vai trò nhân viên

NO
permissions NO
action NO

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

{
   "name",
   "permissions": STRING_JSON,
}

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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{"result":"SUCCESS"}

//ERROR
- EXIST_NAME: Tên vai trò đã tồn tại
- ERROR: Lỗi khác

GET /people/roles[/:role_id]

Lấy thông tin vai trò

Fields

Field Type Description Required
name

Tên vai trò nhân viên

NO
permissions NO
action NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
    "result": "SUCCESS",
    "role": {
        "role_id",
        "role_name",
        "permission": [
            "[permission_1]",
            "[permission_2]",
            ...
        ],
        "people": [
            [
                "person_id",
                "person_name"
            ],
            ...
        ]
    }
}

PUT /people/roles[/:role_id]

Chỉnh sửa tên, quyền của vai trò

Fields

Field Type Description Required
name

Tên vai trò nhân viên

NO
permissions NO
action NO

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

{
   "action": "editName | editPermissions"
   "name", // require by action editName
   "permissions", // require by action editPermissions
  
}

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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{"result": "SUCCESS"}

//ERROR
- NOT_FOUND_ROLE: Không tìm thấy role;
- EXIST_NAME: Tên vai trò đã tồn tại (action editName)
- ERROR: Lỗi khác

DELETE /people/roles[/:role_id]

Xóa vai trò. Các lỗi có thể xảy ra: - NOT_FOUND_ROLE: Không tìm thấy role; - EXIST_PERSON_IN_ROLE: Có nhân viên thuộc vai trò này; - ERROR: Lỗi khác

Fields

Field Type Description Required
name

Tên vai trò nhân viên

NO
permissions NO
action NO

Request

Headers

Header Value
Accept
application/vnd.people.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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Verify

Xác thực đồng ý quản lý POS

POST /people/verify

Xác thực đồng ý quản lý POS

Fields

Field Type Description Required
seller_uuid YES
verify YES

Request

Headers

Header Value
Accept
application/vnd.people.v1+json
application/hal+json
application/json
Content-Type
application/vnd.people.v1+json
application/json
Authorization HTTP Basic, HTTP Digest, or OAuth2 Bearer token (check API provider for details)

Body

{
   "seller_uuid",
   "verify": "Y|N"
}

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.people.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

//SUCCESS
{
    "result" => "SUCCESS"
}

//ERROR
- NOT_LOGGED_IN: Chưa đăng nhập
- NOT_REGISTERED_POS: Tài khoản chưa được đăng ký quản lý POS.
- VERIFIED_POS: Tài khoản đã xác thực quản lý POS.
- INVALID_SELLER_UUID: seller_uuid yêu cầu không đúng với seller_uuid đã đăng ký quản lý POS.
- ERROR: Lỗi hệ thống khác