Методы API¶
Base URL: https://ocrbot.ru/api/v1/
Во всех примерах токен сокращён до YOUR_API_KEY
.
Аутентификация¶
Каждый HTTP‑запрос обязан содержать заголовок
X-Api-Key: YOUR_API_KEY
Структура ответа¶
Поле | Тип | Описание |
---|---|---|
status |
string | "success" или "error" |
code |
int | Код ошибки/успеха. Легенда – см. Ошибки |
… | — | Остальные поля зависят от конкретного метода |
Содержание¶
- /tasks
- /tasks/{task_id}/status
- /tasks/{task_id}/result
- /account/balance
- /account/subscription
- /webhook
1. /tasks
¶
Создать задачу¶
POST /tasks
Параметры¶
{
"image": "<base64-строка>" | ["<base64-строка>", ...],
"return_type": "json" | "xml"
}
Требуемые типы полей:
Поле | Тип | Обяз. | Описание |
---|---|---|---|
image |
string | string[] |
✓ | Base64-файл(ы) |
return_type |
string |
✓ | Формат ответа |
Успешный ответ¶
{
"status": "success",
"code": 0,
"task_id": "c4d1c7b6-89e5-48d2-bfae-01b61e2c68da"
}
Примечание: одновременно в обработке может находиться только одна задача, если отправить еще одну, пока не обработалась предыдущая, запрос вернет code 11
Получить список задач¶
GET /tasks
Успешный ответ¶
{
"status": "success",
"code": 0,
"tasks": [
{
"task_id": "c4d1c7b6-89e5-48d2-bfae-01b61e2c68da",
"created_at": "2025-06-05T12:44:10.418931",
"task_status": "success" | "pending" | "error" | "failure"
}
]
}
2. /tasks/{task_id}/status
¶
GET /tasks/{task_id}/status
Успешный ответ¶
{
"status": "success",
"code": 0,
"task_status": "success" | "pending" | "error" | "failure"
}
3. /tasks/{task_id}/result
¶
GET /tasks/{task_id}/result
⚠️ Результат хранится 24 часа после окончания распознавания.
Успешный ответ¶
{
"status": "success",
"code": 0,
"return_type": "json" | "xml",
"recognition_result": {
data
}
}
4. /account/balance
¶
GET /account/balance
Успешный ответ¶
{
"status": "success",
"code": 0,
"user_pages_count": 120
}
5. /account/subscription
¶
GET /account/subscription
Успешный ответ¶
{
"status": "success",
"code": 0,
"subscription_type": "start_subscription",
"allowed_pages_count_to_process_per_day": 100,
"left_pages_count_to_process_per_day": 34,
"allowed_pages_count_to_process_per_request": 10,
"subscription_end_timestamp": "1751633768" // в секундах
}
либо
{
"status": "success",
"code": 0,
"subscription_type": "no_subscription",
}
6. /webhook
¶
Установить URL вебхука¶
POST /webhook
Параметры¶
{
"webhook_url": "https://your-domain.com/webhook"
}
Поле | Тип | Обяз. | Описание |
---|---|---|---|
webhook_url |
string |
✓ | Формат ответа |
Успешный ответ¶
{
"status": "success",
"code": 0
}
Удалить вебхук¶
DELETE /webhook
Успешный ответ¶
{
"status": "success",
"code": 0
}
🛡️ Используйте только HTTPS. Ваш endpoint должен отвечать HTTP 200 на тестовый пинг. Подробнее см. webhook
Примечания¶
- Все даты и времена возвращаются в UTC.
- Ограничение размера изображения: ≤ 3 МБ (если изображений несколько, суммарный размер не более 16 МБ), формат – PNG/JPEG.
- Для всех методов существует ограничение в 3 запроса в секунду, для методов
POST
- 1 запрос в секунду. - Одновременно в обработке может находиться только одна задача, если отправить еще одну, пока не обработалась предыдущая, запрос вернет code 11