API

Аутентификация API

Для доступа к tRPC API QBS Автонайм необходимо использовать сессию пользователя. В этом разделе описано, как настроить аутентификацию запросов.

Аутентификация

QBS Автонайм использует tRPC с сессионной аутентификацией. Для доступа к API необходимо:

  1. Войти в систему — через email/пароль или OAuth
  2. Получить сессию — сессия создается автоматически при входе
  3. Использовать сессию — передавать в каждом 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Только чтение данных