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": "[email protected]",
  	"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": "[email protected]",
  "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

Parameter
Description

fields

Specifies 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

format

Specifies the file format for the export. Acceptable values are csv and xls. The default is xls.

status_cache_key

A 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

Field
Description

is_ready

Indicates whether the file is ready for download (true or false).

url

The URL to download the exported file once it is ready.

status

Provides the current status of the export process (e.g., waiting, completed).

Last updated

Was this helpful?