Управление API ключами и пользователями интеграция с внешними сервисами

🔑

0

Всего API ключей

0

Активных ключей

👤

0

Пользователей

📊

0

С API ключами

Загрузка API ключей...
Загрузка пользователей...

📚 Документация API

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

Все запросы требуют заголовок X-API-Key с вашим ключом.

Эндпоинты

GET /api/external/tasks

Получение списка задач, назначенных пользователю.

Параметры:

  • status - фильтр по статусу (assigned, in_progress, completed)
  • limit - количество записей (по умолчанию 50)
  • offset - смещение для пагинации

Пример ответа:

{
  "success": true,
  "tasks": [
    {
      "id": 123,
      "title": "Название задачи",
      "description": "Описание задачи",
      "created_at": "2024-01-01T10:00:00Z",
      "due_date": "2024-01-02T19:01:00Z",
      "task_type": "document",
      "creator_name": "Иванов И.И.",
      "files": []
    }
  ]
}
PUT /api/external/tasks/{taskId}/status

Изменение статуса задачи.

Тело запроса:

{
  "status": "in_progress", // или "completed"
  "comment": "Комментарий к изменению"
}
POST /api/external/tasks/{taskId}/files

Загрузка файла к задаче.

Формат:

multipart/form-data с полем file

GET /api/external/tasks/{taskId}/files/{fileId}/download

Скачивание файла.

Примеры использования

cURL:

# Получение задач
curl -H "X-API-Key: ваш_ключ" https://ваш-сервер/api/external/tasks

# Изменение статуса
curl -X PUT -H "X-API-Key: ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"status":"in_progress","comment":"Начинаю работу"}' \
  https://ваш-сервер/api/external/tasks/123/status

# Загрузка файла
curl -X POST -H "X-API-Key: ваш_ключ" \
  -F "file=@document.pdf" \
  https://ваш-сервер/api/external/tasks/123/files

JavaScript:

const API_KEY = 'ваш_ключ';

async function getTasks() {
  const response = await fetch('/api/external/tasks', {
    headers: { 'X-API-Key': API_KEY }
  });
  return response.json();
}

async function updateStatus(taskId, status) {
  const response = await fetch(`/api/external/tasks/${taskId}/status`, {
    method: 'PUT',
    headers: {
      'X-API-Key': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ status, comment: 'Комментарий' })
  });
  return response.json();
}