Список сотрудников
Список сотрудников
POST
https://gptunnel.ru/api/v1/employees/getEmployees Возвращает сотрудников организации с пагинацией (по 25 на страницу) и командой каждого сотрудника. Поддерживает опциональные фильтры по email, логину и команде.
Видимость по ролям: возвращаются только сотрудники строго ниже актора по роли (владелец видит администраторов и участников, администратор — только участников).
Headers
| Параметр | Тип | Описание |
|---|---|---|
Authorization* | string | API ключ |
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
page | number | Номер страницы (с 1, по умолчанию 1) |
email | string | Фильтр по email (частичное совпадение) |
login | string | Фильтр по логину (частичное совпадение) |
teamId | string | Фильтр по id команды. Если команды с таким id нет в организации — 404 |
Схема успешного ответа (200 OK)
Верхний уровень:
Ответ
| Параметр | Тип | Описание |
|---|---|---|
code* | number | Код результата (0 — успех) |
items* | Employee[] | Сотрудники текущей страницы (см. Employee ниже) |
page* | number | Номер текущей страницы |
pageSize* | number | Лимит сотрудников на странице (25) — максимальный размер страницы |
count* | number | Сколько сотрудников реально на текущей странице (≤ pageSize; на последней странице меньше) |
total* | number | Всего сотрудников под фильтр (по всем страницам) |
totalPages* | number | Всего страниц |
Объект Employee (элемент items):
Employee
| Параметр | Тип | Описание |
|---|---|---|
email* | string | Email (может быть пустой строкой) |
login* | string | Логин |
phone* | string | Телефон (может быть пустой строкой) |
firstName* | string | Имя (может быть пустой строкой) |
lastName* | string | Фамилия (может быть пустой строкой) |
team* | Team | null | Команда сотрудника или null, если не состоит ни в одной |
Объект Team (поле team):
Team
| Параметр | Тип | Описание |
|---|---|---|
teamId* | string | id команды |
teamName* | string | Название команды |
Пример запроса
curl --request POST \ --url https://gptunnel.ru/api/v1/employees/getEmployees \ --header 'Authorization: YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data '{ "page": 1, "login": "iv"}'import axios from 'axios'
const response = await axios({ method: 'POST', url: 'https://gptunnel.ru/api/v1/employees/getEmployees', headers: { Authorization: 'YOUR_API_KEY', }, data: { page: 1, login: 'iv', },})
console.log(response.data)import requests
response = requests.post( 'https://gptunnel.ru/api/v1/employees/getEmployees', headers={'Authorization': 'YOUR_API_KEY'}, json={ 'page': 1, 'login': 'iv', },)
print(response.json())Пример ответа
{ "code": 0, "items": [ { "email": "ivanov@example.com", "login": "ivanov", "phone": "+70000000000", "firstName": "Иван", "lastName": "Иванов", "team": { "teamId": "66a346f64dcb57627c03d596", "teamName": "Маркетинг" } } ], "page": 1, "pageSize": 25, "count": 1, "total": 42, "totalPages": 2}{ "code": 3, "message": "Invalid input, check schema issues.", "details": []}{ "error": { "message": "Unauthorized", "type": "unauthorized_request_error", "param": null, "code": null }}{ "code": 7, "message": "Not allowed to perform this action for the organization."}{ "code": 13, "message": "Employee management is not available from a personal account. Use a business organization API key."}{ "code": 11, "message": "Team not found in the organization."}{ "code": 1, "message": "Internal server error.", "trace_id": "66a346f64dcb57627c03d596"}