API
Аутентификация API
Для доступа к tRPC API QBS Автонайм необходимо использовать сессию пользователя. В этом разделе описано, как настроить аутентификацию запросов.
Аутентификация
QBS Автонайм использует tRPC с сессионной аутентификацией. Для доступа к API необходимо:
- Войти в систему — через email/пароль или OAuth
- Получить сессию — сессия создается автоматически при входе
- Использовать сессию — передавать в каждом tRPC запросе
Важно
Сессия пользователя предоставляет доступ ко всем workspace, где пользователь имеет права. Убедитесь, что вы проверяете права доступа для каждого запроса.
Использование сессии
При работе с tRPC сессия передается автоматически через контекст:
import { createTRPCProxyClient, httpBatchLink } from '@trpc/client';
import type { AppRouter } from '@qbs-autonaim/api';
const trpc = createTRPCProxyClient<AppRouter>({
links: [
httpBatchLink({
url: 'http://localhost:3000/api/trpc',
headers: () => ({
// Сессия передается автоматически через cookies
'Content-Type': 'application/json',
}),
}),
],
});
// Получение списка кандидатов
const candidates = await trpc.candidates.list({
workspaceId: 'ws_123',
limit: 20,
});tRPC Client
Рекомендуется использовать официальный tRPC клиент для автоматической обработки сессий и типизации.
Доступ к workspace
Каждый tRPC запрос требует указания workspaceId и проверяет права доступа:
| Роль | Права доступа |
|---|---|
| Owner | Полный доступ ко всем функциям |
| Admin | Управление вакансиями, кандидатами, настройками |
| Recruiter | Работа с кандидатами и вакансиями |
| Viewer | Только чтение данных |