Руководство по работе с API сервиса FEDO


Сервис FEDO позволяет генерировать формализованные электронные документы (XML), соответствующие стандартам ФНС, а также их печатные формы (DOCX).

1. Начало работы

Личный кабинет и API-ключ

После регистрации вы попадаете в личный кабинет. На главной панели доступны:

·         Ваш API-ключ: Уникальный токен для доступа к сервису.

·         Баланс: Текущее состояние счета и кнопка пополнения.

·         Документация: Ссылки на техническое описание API.

Важно: API-ключ - это ваш пропуск к системе. Его необходимо передавать в каждом запросе в заголовке Authorization.

Баланс и оплата

Новым пользователям доступно 10 бесплатных запросов для тестирования. Для дальнейшей работы необходимо пополнить баланс. Списание средств происходит за успешную генерацию документа (даже если ваш вебхук не смог принять файл).

Способы пополнения:

1.      Банковской картой (через ЮKassa).

2.      По счету (для юрлиц):

·         Укажите ИНН организации.

·         Выберите способ получения счета: E-mail или ЭДО.

·         Если нужного оператора ЭДО нет в списке, выберите «Другие» и укажите свой идентификатор.

 

2. Как устроен запрос к API

Взаимодействие происходит по протоколу HTTP. Вы отправляете JSON-запрос с данными, а сервис возвращает готовый документ.

Авторизация

В заголовки (Headers) каждого запроса добавьте:

Authorization: Bearer ВАШ_ТОКЕН

 

Основные поля запроса (JSON Body)

Поле

Описание

type_document

   (Обязательно) Тип документа, который нужно создать. Например: "Счет-фактура (информация продавца)" или "Акт выполненных работ".

document_data  

   (Обязательно) Данные для заполнения документа (реквизиты, суммы, товары). Структура зависит от выбранного типа документа (см. раздел "Документация").

send


Способ получения результата:

  - response-body (по умолчанию) - файл придет прямо в ответе на запрос.

  - link - в ответе вернется ссылка на скачивание файла.

 - URL вебхука - файл будет отправлен POST-запросом на указанный вами адрес.

 

query_params

  Дополнительные параметры (используется только при отправке на вебхук). Позволяет передать, например, ID задачи ({"task": 12345}), чтобы ваша система знала, к чему прикрепить файл.

 

Настройки ответа (Поле send)

Как вы хотите получить готовый файл?

"response-body" - (По умолчанию) Файл вернется в ответе на HTTP-запрос. Удобно для простых интеграций.

"link" - В ответе вернется ссылка на скачивание файла.

"https://ваш-вебхук.ru" - Сервис сам отправит готовый файл POST-запросом на указанный URL. Удобно для массовой генерации в фоне.

 

Дополнительные параметры (query_params)

Используется только при работе через Вебхук. Позволяет передать ваши метки, чтобы вы поняли, от кого пришел файл.

Пример: "query_params": { "deal_id": 1055, "manager": "ivanov" } - эти данные вернутся вам вместе с файлом на вебхук.

 

 

Параметр file_back (Формат ответа)

Этот параметр необязателен, но крайне полезен для удобства работы.

Назначение: Позволяет получить визуально понятную печатную форму документа (DOCX) вместе с техническим файлом (XML). Это дает возможность проверить корректность данных «глазами» без загрузки файла в систему ЭДО.

Варианты значений:

·         ["xml"] - (По умолчанию). Если параметр не указан, сервис вернет только XML-файл для отправки в ФНС/ЭДО.

·         ["docx"] - Сервис вернет только печатную форму документа в формате .docx.

·         ["xml", "docx"] - Сервис вернет ZIP-архив, внутри которого будут лежать сразу два файла: и XML, и DOCX.

Примеры использования:

1.      Только XML (стандартный вариант) Используется, если документ сразу пойдет в ЭДО.

json

"file_back": ["xml"]

Результат: Один файл .xml

 

2.      Архив XML + DOCX (для проверки) Используется, чтобы получить и технический файл для налоговой, и читаемую версию для менеджера.

json

"file_back": ["xml", "docx"]

Результат: .zip архив с двумя файлами

 

3.      Только DOCX (печатная форма) Используется, если нужен только черновик для согласования.

json

"file_back": ["docx"]

Результат: Один файл .docx

 

 

4.     Работа с документацией

 

Главная задача при интеграции - правильно сформировать объект document_data.

Откройте техническую документацию Redoc.

В меню слева выберите нужную схему (например, UniversalTransferDocumentSeller для УПД).

Изучите поля:

Поля с пометкой * или required - Обязательные. Без них запрос вернет ошибку 422.

Остальные поля - заполняются при необходимости.

Используйте примеры готовых запросов, чтобы не писать JSON с нуля.

 

4. Ответы сервера

При работе обращайте внимание на HTTP-код ответа:

 200 OK - Документ успешно сгенерирован.

 401 Unauthorized - Ошибка авторизации (неверный токен или его отсутствие).

 402 Payment Required - Недостаточно средств на балансе.

 422 Unprocessable Entity - Ошибка в данных (не заполнены обязательные поля или неверный формат).

 

Пример запроса (для разработчика)

json

{
"type_document": "Акт выполненных работ (информация исполнителя)",
"send": "https://mysite.ru/webhook/receive_file",
"file_back": ["xml", "docx"],
"query_params": {
"order_id": 5566
},
"document_data": {
"number": "123",
"date": "21.10.2025",
... (остальные поля документа)
}
}

В этом примере мы запрашиваем архив с двумя файлами (XML+DOCX) для удобной проверки.


Часть 5. Практические примеры

Сценарий 1: "Хочу проверить документ"

Задача: Получить XML и печатную форму сразу в браузере/Postman.

json

POST /api/generate

{
"type_document": "Акт выполненных работ (информация исполнителя)",
"send": "response-body",
"file_back": ["xml", "docx"],
"document_data": {
"number": "А-105",
"date": "01.12.2025",
"inn_seller": "7700000000",
"items": [
{ "name": "Услуги разработки", "price": 50000, "quantity": 1 }
]
... (остальные поля)
}
}


Ответ сервера: ZIP-архив с файлами.

 

Сценарий 2: "Автоматизация в CRM"

Задача: CRM сама шлет данные, а FEDO возвращает файл обратно в карточку сделки через вебхук.

json

POST /api/generate

{
"type_document": "Счет-фактура (информация продавца)",
"send": "https://crm.mycompany.ru/webhook/catch_file",
"file_back": ["xml"],
"query_params": {
"task_id": 554432
},
"document_data": { ... }
}

 

Результат: FEDO отправит XML-файл на адрес crm.mycompany.ru... и приложит task_id, чтобы CRM знала, к какой задаче прикрепить документ.