Документация
REST-эндпойнты для загрузки шаблонов, их обработки, скачивания и генерации DOCX/PDF. Ниже — сводка эндпойнтов и подробности по каждому.
Метод | Путь | Назначение | Аутентификация |
---|---|---|---|
POST | /uploadfile | Загрузка файла/шаблона | Authorization (токен) |
POST | /processfile | Доп. обработка (распознавание чеков и др.) | Authorization (токен) |
GET | /get | Скачивание файла по ID | — |
POST | /generatefile | Генерация DOCX/PDF по шаблону | Authorization (токен) |
В заголовке используйте: Authorization: ВАШ_ТОКЕН.
Это требуется для /uploadfile, /processfile и /generatefile.
1) Загрузка файла/шаблона
POST /uploadfile
Назначение: загрузить файл (обычно DOCX-шаблон) на сервер. При загрузке кассового чека можно запросить распознавание.
Параметр | Где | Тип/формат | Описание |
---|---|---|---|
Authorization | Header | строка | Обязательный. Ваш API-токен. |
file | form-data | file | Обязательный. Файл (DOCX, изображение и т.п.). |
processOption | Header | строка | Необязательный. "1" — если загружается кассовый чек и вы хотите получить его данные в JSON. |
Ответ:
{ "message": "OK", "file_id": "NODExxxx..." }
Пример (Python):
import requests headers = { "Authorization": "ВАШ_ТОКЕН", # "processOption": "1", # раскомментируйте, если это чек и нужен JSON } with open("template.docx", "rb") as f: r = requests.post("https://YOUR_HOST/uploadfile", headers=headers, files={"file": f}, timeout=60) print(r.status_code, r.json())
2) Дополнительная обработка
POST /processfile
Назначение: обработать ранее загруженный файл через дополнительные обработки
(например, распознавание кассовых чеков, счетов и иных документов).
На данный момент реализовано распознавание кассовых чеков.
Параметр | Где | Тип/формат | Описание |
---|---|---|---|
Authorization | Header | строка | Обязательный. Ваш API-токен. |
file_id | Body (JSON) | строка | Обязательный. Идентификатор, возвращённый /uploadfile. |
processOption | Body (JSON) | строка | Необязательный. "1" — выполнить распознавание кассового чека и вернуть JSON. |
Ответ:
{ "message": "OK", "details": { ... } # если запрошена обработка }
Пример (Python):
import requests headers = {"Authorization": "ВАШ_ТОКЕН"} payload = {"file_id": "NODExxxx...", "processOption": "1"} # "1" чтобы распознать чек r = requests.post("https://YOUR_HOST/processfile", headers=headers, json=payload, timeout=90) print(r.status_code, r.json())
3) Скачивание файла
GET /get?id=...
Назначение: скачать исходный файл или сгенерированный результат по его идентификатору.
Параметр | Где | Тип/формат | Описание |
---|---|---|---|
id | Query | строка | Обязательный. Идентификатор файла (file_id). |
Ответ: бинарный файл (DOCX/PDF).
Пример (Python):
import requests r = requests.get("https://YOUR_HOST/get", params={"id": "NODExxxx..."}, timeout=120) if r.status_code == 200: with open("downloaded_file", "wb") as f: f.write(r.content) else: print(r.status_code, r.text)
4) Генерация документа по шаблону
POST /generatefile
Назначение: сгенерировать DOCX или PDF из загруженного DOCX-шаблона и словаря значений.
Параметр | Где | Тип/формат | Описание |
---|---|---|---|
Authorization | Header | строка | Обязательный. Ваш API-токен. |
id | Body (JSON) | строка | Обязательный. file_id загруженного шаблона (из /uploadfile). |
format | Body (JSON) | строка | Обязательный. "docx" или "pdf". |
values | Body (JSON) | объект/строка JSON | Обязательный. Ключ-значения для подстановки в шаблоне. |
Ответ:
{ "message": "OK", "file_id": "NODEyyyy..." # новый id сгенерированного результата }
Пример (Python):
import requests headers = {"Authorization": "ВАШ_ТОКЕН"} payload = { "id": "NODExxxx...", # file_id шаблона "format": "pdf", "values": { "firstname": "Иван", "lastname": "Петров", "skills": ["Python", "ML", "Docs"] } } r = requests.post("https://YOUR_HOST/generatefile", headers=headers, json=payload, timeout=120) print(r.status_code, r.json())
Плейсхолдеры в DOCX-шаблонах
- Обычный ключ: {{key}}
- Список по индексу: {{skills[0]}}
- Склонение по падежам: {{firstname['dat']}}, {{lastname['gen']}}
Код | Падеж |
---|---|
nom | именительный |
gen | родительный |
acc | винительный |
dat | дательный |
ins | творительный |
pre | предложный |
PDF-конвертер поддерживает цвета, шрифты, списки, таблицы, ручные переносы и изображения. Системные шрифты встраиваются автоматически; многостраничные документы конвертируются целиком.