Skip to main content

Staff User

This endpoint is designed for listing and updating staff users, with updates restricted to the is_superuser field. Superusers have access to view all divisions and quotations, while non-superuser staff users are limited to viewing only their associated divisions and quotations.

Note that only superusers are authorized to use this endpoint.

List Staff User

Retrieve a list of staff users.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/staff-users/' \
--header 'Authorization: Token {token}'

Example Response (200 OK)

{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 859,
"email": "example@example.com",
"first_name": "John",
"last_name": "Doe",
"phone_number": "",
"division": null,
"is_active": true,
"is_staff": true,
"is_superuser": true,
"shop_token": "",
"remote_id": null,
"date_joined": "2024-12-12T12:57:07.517766Z",
"last_login": null
}
]
}

Get Staff User Detail

Retrieve details of a specific staff user.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/staff-users/{user_id}' \
--header 'Authorization: Token {token}'

Example Response (200 OK)

{
"id": 859,
"email": "example@example.com",
"first_name": "John",
"last_name": "Doe",
"phone_number": "",
"division": null,
"is_active": true,
"is_staff": true,
"is_superuser": true,
"shop_token": "",
"remote_id": null,
"date_joined": "2024-12-12T12:57:07.517766Z",
"last_login": null
}

Update Staff User

Update the is_superuser status of a staff user.

Example Request

curl --location --request PATCH '{B2B_Backend_URL}/api/v1/staff-users/{user_id}' \
--header 'Authorization: Token {token}\
--header 'Content-Type: application/json' \
--data '{
"is_superuser": false
}'

Example Response (200 OK)

{
"is_superuser": false
}

Export Staff User

Export staff user data in the specified fields and format. Returns a cache key to track the export status.

Request Parameters

ParameterDescription
fieldsSpecifies the fields to be included in the export file. Available fields: id, email, first_name, last_name, phone_number, division, is_active, shop_token, remote_id, date_joined, language, last_login, division__name, division__id, division__division_type
formatSpecifies the file format for the export. Acceptable values are csv and xls. The default is xls.
status_cache_keyA query parameter to track the status of the file export using the cache key returned from the initial request.

Example Request

curl --location --request GET '{B2B_Backend_URL}/api/v1/staff-users/?fields=first_name&fields=division__name \
--header 'Authorization: Token {token} \
--header 'Content-Type: application/json'

Example Response (200 OK)

{
"cache_key": "beacaa8ba65571e3840e28a11f17481e"
}

Export File Status

Checks the status of an export file using the cache key obtained from the export request. Provides information on whether the file is ready for download.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/staff-users/?status_cache_key=beacaa8ba65571e3840e28a11f17481e' \
--header 'Authorization: Token {token}'

Example Response

{
"is_ready": true,
"url": "{url}/export_file/beacaa8ba65571e3840e28a11f17481e.xls",
"status": "completed"
}

Response Parameters

FieldDescription
is_readyIndicates whether the file is ready for download (true or false).
urlThe URL to download the exported file once it is ready.
statusProvides the current status of the export process (e.g., waiting, completed).