Files
aiform_prod/docs/N8N_FLIGHTS_COMPLETE_WORKFLOW.md
AI Assistant 2e45786e46 feat: Telegram Mini App integration and UX improvements
- Добавлена полная интеграция с Telegram Mini App (динамическая загрузка SDK)
- Отдельный компактный дизайн для Telegram Mini App
- Добавлен loader при инициализации (предотвращает мелькание SMS-авторизации)
- Улучшена навигация: кнопки "Назад" и "К списку заявок" теперь сохраняют авторизацию
- Telegram Mini App: кнопка "Выход" просто закрывает приложение
- Telegram Mini App: заявки "В работе" скрыты из списка
- Веб-версия: для заявок "В работе" добавлена кнопка "Просмотреть в Telegram" (ссылка на @klientprav_bot)
- Telegram Mini App: кнопки действий в черновиках расположены вертикально
- Веб-версия: убрано отображение номера телефона в приветствии
- Исправлена проблема с возвратом к списку черновиков (не требует повторной SMS-авторизации)
- Заблокировано удаление и редактирование заявок со статусом "В работе"
- Добавлена документация по Telegram Mini App интеграции
2026-01-29 16:12:48 +03:00

113 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Полный Workflow: HTML → Base64 PDF
## Структура
```
[HTTP Request: FlightAware]
[HTTP Request: FlightRadar24]
[Code: Process Flights Data] ← Генерирует HTML + подготавливает запрос для PDF
[HTTP Request: Convert to PDF] ← Конвертирует HTML в base64 PDF
[Code: Extract Base64 PDF] ← Извлекает base64 из ответа
[Использование base64 PDF]
```
## Настройка нод
### 1. Code: Process Flights Data
**Код:** Используйте обновлённый `N8N_CODE_PROCESS_FLIGHTS_DATA.js`
**Выходные данные:**
```json
{
"html": "<!DOCTYPE html>...",
"flights": [...],
"pdf_request_method": "POST",
"pdf_request_url": "https://api.htmlpdfapi.com/v1/pdf",
"pdf_request_headers": {...},
"pdf_request_body": "{...}"
}
```
### 2. HTTP Request: Convert to PDF
**Название:** `HTTP Request: Convert to PDF`
**Настройка:**
- **Method:** `{{ $json.pdf_request_method }}`
- **URL:** `{{ $json.pdf_request_url }}`
- **Authentication:** None (или по необходимости)
- **Headers:**
```json
{{ $json.pdf_request_headers }}
```
- **Body:**
```json
{{ $json.pdf_request_body }}
```
- **Response Format:** `JSON`
### 3. Code: Extract Base64 PDF
**Название:** `Code: Extract Base64 PDF`
**Код:** Используйте `N8N_EXTRACT_BASE64_FROM_RESPONSE.js`
**Выходные данные:**
```json
{
"pdf_base64": "JVBERi0xLjQKJeLjz9MK...",
"pdf_size_mb": "0.12",
"filename": "flights-report-2026-01-16.pdf",
"success": true
}
```
## Альтернатива: Использование Convert to File
Если вы хотите использовать ноду **Convert to File** для создания HTML файла, а затем конвертировать его в PDF:
### Вариант A: HTML файл → PDF через сервис
```
[Code: Process Flights Data]
[Convert to File] ← Operation: "html", Put Output File in Field: {{ $json.html }}
[HTTP Request: Convert to PDF] ← Отправьте binary HTML файл в сервис конвертации
[Code: Extract Base64 PDF]
```
### Вариант B: Прямая конвертация HTML → Base64 PDF
Пропустите ноду Convert to File и используйте HTML напрямую:
```
[Code: Process Flights Data]
[HTTP Request: Convert to PDF] ← Используйте {{ $json.html }} в body
[Code: Extract Base64 PDF]
```
## Настройка API ключа
В файле `N8N_CODE_PROCESS_FLIGHTS_DATA.js` найдите строку:
```javascript
const PDF_API_KEY = 'YOUR_API_KEY';
```
Замените `YOUR_API_KEY` на ваш реальный API ключ от сервиса конвертации.
## Популярные сервисы
1. **htmlpdfapi.com** - 100 PDF/месяц бесплатно
2. **pdfshift.io** - 100 PDF/месяц бесплатно
3. **api2pdf.com** - 50 PDF/месяц бесплатно