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

Интегрируйте анализ документов в ваши системы

Начать работу с API

Обзор

DocScan AI предоставляет REST API для интеграции с внешними системами. API позволяет автоматизировать анализ юридических документов без использования веб-интерфейса.

📌 Базовый URL: https://docscan-ai.ru/api/v1
📌 Версия API: 1.0
📌 Формат данных: JSON

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

API использует систему API-ключей для аутентификации. API-ключи доступны только для пользователей с бизнес-тарифами (Бизнес Старт, Бизнес Про, Бизнес Макс, Бизнес Безлимит).

Получение API-ключа

  1. Войдите в личный кабинет
  2. Перейдите в раздел "🔑 API-ключи"
  3. Создайте новый API-ключ
  4. ВАЖНО: Сохраните ключ сразу после создания, он больше не будет показан!
⚠️ Внимание: API-ключи доступны только для бизнес-тарифов. Если у вас нет бизнес-тарифа, выберите подходящий тариф.

Использование API-ключа

API-ключ можно передать двумя способами:

Вариант 1: Заголовок X-API-Key

X-API-Key: ваш-api-ключ

Вариант 2: Заголовок Authorization (Bearer)

Authorization: Bearer ваш-api-ключ

📋 Эндпоинты

POST /api/v1/analyze

Анализирует загруженный документ и возвращает результаты анализа.

Параметры запроса

Поддерживаются два формата:

Формат 1: multipart/form-data
  • file (обязательно) - файл документа (PDF, DOCX, DOC, TXT, JPG, PNG)
Формат 2: application/json
{ "file": "base64-encoded-file-content", "filename": "document.pdf", "mimeType": "application/pdf" }

Пример запроса (multipart/form-data)

curl -X POST https://docscan-ai.ru/api/v1/analyze \ -H "X-API-Key: ваш-api-ключ" \ -F "file=@document.pdf"

Пример запроса (JSON с base64)

curl -X POST https://docscan-ai.ru/api/v1/analyze \ -H "X-API-Key: ваш-api-ключ" \ -H "Content-Type: application/json" \ -d '{ "file": "JVBERi0xLjQKJeLjz9MKMy...", "filename": "document.pdf", "mimeType": "application/pdf" }'

Пример ответа (успех)

{ "success": true, "analysis": { "document_type": "rental", "document_type_name": "Договор аренды", "risk_level": "MEDIUM", "summary": "Документ содержит основные условия аренды...", "expert_analysis": { "legal": "Юридическая экспертиза: ...", "financial": "Финансовый анализ: ...", "operational": "Операционные риски: ...", "strategic": "Стратегическая оценка: ..." }, "recommendations": [ "Рекомендация 1: ...", "Рекомендация 2: ..." ], "pages_count": 4, "text_length": 4102 }, "metadata": { "filename": "document.pdf", "analyzed_at": "2024-02-17T22:14:13.123456", "user_id": "40fef7e4" } }

Коды ответов

Код Описание
200 OK Анализ выполнен успешно
400 Bad Request Неверный формат запроса или файла
401 Unauthorized Неверный или отсутствующий API-ключ
429 Too Many Requests Достигнут лимит анализов для вашего тарифа
500 Internal Server Error Внутренняя ошибка сервера
GET /api/v1/usage

Возвращает статистику использования API для текущего пользователя.

Пример запроса

curl -X GET https://docscan-ai.ru/api/v1/usage \ -H "X-API-Key: ваш-api-ключ"

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

{ "success": true, "usage": { "used_today": 5, "total_used": 127, "daily_limit": 50, "plan": "business_pro", "plan_expires": "2024-03-17" } }
GET /api/v1/health

Проверяет работоспособность API. Не требует аутентификации.

Пример запроса

curl -X GET https://docscan-ai.ru/api/v1/health

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

{ "success": true, "status": "ok", "version": "1.0", "timestamp": "2024-02-17T22:14:13.123456" }

📝 Примеры интеграции

Python

import requests import base64 API_KEY = "ваш-api-ключ" API_URL = "https://docscan-ai.ru/api/v1" # Загрузка файла with open("document.pdf", "rb") as f: file_content = f.read() file_base64 = base64.b64encode(file_content).decode('utf-8') # Анализ документа response = requests.post( f"{API_URL}/analyze", headers={ "X-API-Key": API_KEY, "Content-Type": "application/json" }, json={ "file": file_base64, "filename": "document.pdf", "mimeType": "application/pdf" } ) if response.status_code == 200: result = response.json() print(f"Тип документа: {result['analysis']['document_type_name']}") print(f"Уровень риска: {result['analysis']['risk_level']}") print(f"Резюме: {result['analysis']['summary']}") else: print(f"Ошибка: {response.json()['error']}")

JavaScript (Node.js)

const axios = require('axios'); const fs = require('fs'); const API_KEY = 'ваш-api-ключ'; const API_URL = 'https://docscan-ai.ru/api/v1'; // Загрузка файла const fileContent = fs.readFileSync('document.pdf'); const fileBase64 = fileContent.toString('base64'); // Анализ документа axios.post(`${API_URL}/analyze`, { file: fileBase64, filename: 'document.pdf', mimeType: 'application/pdf' }, { headers: { 'X-API-Key': API_KEY, 'Content-Type': 'application/json' } }) .then(response => { const result = response.data; console.log(`Тип документа: ${result.analysis.document_type_name}`); console.log(`Уровень риска: ${result.analysis.risk_level}`); console.log(`Резюме: ${result.analysis.summary}`); }) .catch(error => { console.error('Ошибка:', error.response?.data?.error || error.message); });

PHP

<?php $apiKey = 'ваш-api-ключ'; $apiUrl = 'https://docscan-ai.ru/api/v1'; // Загрузка файла $fileContent = file_get_contents('document.pdf'); $fileBase64 = base64_encode($fileContent); // Анализ документа $ch = curl_init($apiUrl . '/analyze'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-API-Key: ' . $apiKey, 'Content-Type: application/json' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ 'file' => $fileBase64, 'filename' => 'document.pdf', 'mimeType' => 'application/pdf' ])); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode === 200) { $result = json_decode($response, true); echo "Тип документа: " . $result['analysis']['document_type_name'] . "\n"; echo "Уровень риска: " . $result['analysis']['risk_level'] . "\n"; echo "Резюме: " . $result['analysis']['summary'] . "\n"; } else { $error = json_decode($response, true); echo "Ошибка: " . $error['error'] . "\n"; } ?>

📊 Лимиты и ограничения

Лимиты по тарифам

Тариф API-ключи Лимит анализов
Бесплатный ❌ Недоступны -
Стандарт ❌ Недоступны -
Премиум ❌ Недоступны -
Бизнес Старт ✅ До 1 ключа 10 анализов/мес
Бизнес Про ✅ До 3 ключей 50 анализов/мес
Бизнес Макс ✅ До 5 ключей 100 анализов/мес
Бизнес Безлимит ✅ Безлимит Безлимит

Технические ограничения

🔒 Безопасность

Рекомендации

  1. Храните API-ключи в безопасности
    • Не коммитьте ключи в репозиторий
    • Используйте переменные окружения
    • Регулярно ротируйте ключи
  2. Используйте HTTPS
    • Все запросы должны идти через HTTPS
    • Не передавайте ключи через незащищенные соединения
  3. Ограничьте доступ
    • Создавайте отдельные ключи для разных систем
    • Деактивируйте неиспользуемые ключи
    • Удаляйте скомпрометированные ключи немедленно
  4. Мониторинг
    • Регулярно проверяйте статистику использования
    • Отслеживайте подозрительную активность

🐛 Обработка ошибок

Код Описание Решение
400 Неверный формат запроса Проверьте формат данных и файла
401 Неверный API-ключ Проверьте правильность ключа
403 Доступ запрещен Проверьте тариф пользователя
404 Ресурс не найден Проверьте URL эндпоинта
429 Превышен лимит Дождитесь сброса лимита или обновите тариф
500 Внутренняя ошибка Повторите запрос позже

📞 Поддержка

Если у вас возникли вопросы или проблемы с API:

  1. Проверьте документацию
  2. Убедитесь, что используете правильный API-ключ
  3. Проверьте лимиты вашего тарифа
  4. Обратитесь в поддержку: docscanhelp@gmail.com

Готовы начать работу с API?

Выберите бизнес-тариф и получите доступ к API!

Выбрать тариф