Кейсы О сервисе API
Документация
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-шаблон) на сервер. При загрузке кассового чека можно запросить распознавание.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаОбязательный. Ваш API-токен.
fileform-datafileОбязательный. Файл (DOCX, изображение и т.п.).
processOptionHeaderстрокаНеобязательный. "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
Назначение: обработать ранее загруженный файл через дополнительные обработки (например, распознавание кассовых чеков, счетов и иных документов). На данный момент реализовано распознавание кассовых чеков.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаОбязательный. Ваш API-токен.
file_idBody (JSON)строкаОбязательный. Идентификатор, возвращённый /uploadfile.
processOptionBody (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=...
Назначение: скачать исходный файл или сгенерированный результат по его идентификатору.
ПараметрГдеТип/форматОписание
idQueryстрокаОбязательный. Идентификатор файла (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-шаблона и словаря значений.
ПараметрГдеТип/форматОписание
AuthorizationHeaderстрокаОбязательный. Ваш API-токен.
idBody (JSON)строкаОбязательный. file_id загруженного шаблона (из /uploadfile).
formatBody (JSON)строкаОбязательный. "docx" или "pdf".
valuesBody (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-шаблонах
КодПадеж
nomименительный
genродительный
accвинительный
datдательный
insтворительный
preпредложный
PDF-конвертер поддерживает цвета, шрифты, списки, таблицы, ручные переносы и изображения. Системные шрифты встраиваются автоматически; многостраничные документы конвертируются целиком.