Браузерный тест ограничен 30 запросами в час с одного IP. Для интеграции используйте API с токеном.
Сервис определяет по фотографии наличие бланка «Курьер Сервис Экспресс» (в том числе частично видимого, повёрнутого или оборотной стороны) и наличие подписей/печати. Ответ — структурированный JSON.
Почему REST, а не SOAP: JSON-REST проще в интеграции (любой HTTP-клиент, curl, 1С, Python, PHP), не требует WSDL/XML-конвертов, нативно работает с multipart-загрузкой файлов и удобен для мобильных клиентов. SOAP оправдан только при жёстком корпоративном требовании WS-* — при необходимости обёртку можно добавить отдельно.
Базовый URL: https://pics.tikhov.de/api. Аутентификация: заголовок
Authorization: Bearer <токен> (или X-Api-Key).
Токен выпускается на вкладке «API-токены».
GET /v1/health — проверка доступности сервиса. Без аутентификации.
POST /v1/analyze — анализ фотографии.
Три способа передать изображение:
1. multipart/form-data, поле image (+ необязательное поле model):
curl -X POST https://pics.tikhov.de/api/v1/analyze \ -H "Authorization: Bearer kse_ВАШ_ТОКЕН" \ -F "image=@photo.jpg"
2. JSON + base64:
curl -X POST https://pics.tikhov.de/api/v1/analyze \
-H "Authorization: Bearer kse_ВАШ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{"image_base64": "<base64-строка>", "model": "claude-sonnet-4-6"}'
3. JSON + URL: {"image_url": "https://…/photo.jpg"}
{
"status": "ok",
"processing_ms": 8412,
"result": {
"is_kse_form": true, // на фото есть бланк КСЭ (целиком или частично)
"confidence": 0.98, // уверенность 0..1
"form_visibility": "full", // full | partial | none
"form_side": "front", // front | back | both | unknown
"matched_features": ["логотип КСЭ", "www.cse.ru", "номер 497-…", "разделы 1-11"],
"waybill_number": "497-020135258",
"has_signature": true, // есть хоть одна рукописная подпись
"signatures": {
"recipient": true, // подпись получателя (разд. 11 / оборот)
"sender_or_courier": false, // подпись отправителя/курьера
"stamp": true // печать организации
},
"signature_confidence": 0.93,
"image_quality": "ok", // ok | blurry | dark | partial_glare | unreadable
"reason": "Виден полный бланк КСЭ: логотип, номер, разделы…",
"model": "claude-sonnet-4-6",
"usage": {"input_tokens": 2731, "output_tokens": 214}
}
}
| HTTP | code | Описание |
|---|---|---|
| 400 | bad_input / no_image / bad_base64 | Неверные входные данные |
| 401 | unauthorized | Нет или неверный токен |
| 413 | too_large | Файл больше лимита |
| 429 | rate_limited | Превышен лимит запросов в минуту |
| 502/503 | upstream_error | Временный сбой AI-провайдера — повторите с backoff |
POST /v1/tokens · GET /v1/tokens · DELETE /v1/tokens/{id} — управление токенами. Требуют заголовок X-Admin-Key.
GET /v1/stats — статистика использования (X-Admin-Key).
Оптимальный размер фото — до 1600px по длинной стороне (крупнее сервис сожмёт сам).
Модель по умолчанию claude-sonnet-4-6 — точность 24/24 на эталонном наборе; claude-haiku-4-5 — быстрее и дешевле (23/24).
При массовой обработке шлите запросы параллельно (лимит токена по умолчанию 60/мин, настраивается при выпуске).
Решение принимайте по паре полей: is_kse_form && confidence ≥ 0.8, подпись — has_signature && signature_confidence ≥ 0.7; пограничные случаи отправляйте на ручную проверку.