Документация
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-конвертер поддерживает цвета, шрифты, списки, таблицы, ручные переносы и изображения. Системные шрифты встраиваются автоматически; многостраничные документы конвертируются целиком.