Package Information
Downloads: 2 weekly / 20 monthly
Latest Version: 0.1.6
Author: Woolfi
Available Nodes
Documentation
Nova Poshta Node для n8n
Custom node для интеграции n8n с API Новой Почты
�� Структура проекта
NovaPost/
├── credentials/ # Credentials для n8n
│ └── NovaPoshtaApi.credentials.ts ✅
├── noda/ # Основной код ноды
│ ├── constants.ts ✅ Константы (URLs, timeout, cache config)
│ ├── types.ts ✅ TypeScript типы
│ ├── NovaPoshta.node.ts ⏳ TODO
│ ├── execute.ts ⏳ TODO
│ ├── config/ # Конфигурация
│ ├── helpers/ # Вспомогательные модули
│ │ ├── api/ ⏳ TODO (GenericFunctions, operationMeta)
│ │ ├── cache/ ⏳ TODO (licenseCache, backgroundService)
│ │ ├── license/ ⏳ TODO (api, instanceId, validation)
│ │ ├── validation/ ⏳ TODO (validators)
│ │ └── docs/ # Документация helpers
│ ├── operations/ # Операции по ресурсам
│ │ ├── tracking/ ⏳ TODO
│ │ ├── delivery/ ⏳ TODO
│ │ ├── counterparty/ ⏳ TODO
│ │ ├── address/ ⏳ TODO
│ │ └── license/ ⏳ TODO
│ ├── trigger/ # Webhook триггеры
│ └── UI/ # UI параметры
├── dist/ # Собранные файлы
├── project_info/ # Документация проекта
├── ARCHITECTURE.md ✅ Архитектура
├── LICENSE_SYSTEM.md ✅ Система лицензирования
└── README.md ✅ Этот файл
✅ Что сделано
1. Credentials (NovaPoshtaApi.credentials.ts)
- API Key для Nova Poshta
- Environment (production/sandbox)
- License Key для доступа к ноде
- Автоматическая аутентификация
- Тест credentials через API Nova Poshta
2. Константы (constants.ts)
- NOVAPOSHTA_BASE_URL
- DEFAULT_TIMEOUT_MS
- RETRY_CONFIG
- CACHE_CONFIG (TTL, grace period, check time)
3. Типы (types.ts)
- NovaPoshtaApiResponse - базовый ответ API
- NovaPoshtaApiCredentialData - данные credentials
- NodeParameters - параметры ноды
4. Документация
- ARCHITECTURE.md - полная архитектура n8n custom node
- LICENSE_SYSTEM.md - детальная система лицензирования
- README.md - этот файл
⏳ Следующие шаги
Фаза 1: Лицензирование (в процессе)
- ✅ Создать credentials
- ✅ Создать constants и types
- ⏳ Перенести helpers/license/ из Monobank
- api.ts - API запросы к серверу лицензий
- instanceId.ts - получение instanceId
- validation.ts - валидация лицензий
- index.ts - экспорт
- ⏳ Перенести helpers/cache/ из Monobank
- licenseCache.ts - кеширование лицензий
- backgroundService.ts - фоновое обновление
- ⏳ Перенести helpers/validation/
- validators.ts - валидация входных данных
Фаза 2: Основная нода
- Создать NovaPoshta.node.ts
- Создать execute.ts
- Создать UI/utils.ts
- Создать helpers/api/GenericFunctions.ts
Фаза 3: Операции
- Реализовать operations/license/license.ping.ts
- Реализовать базовые операции Nova Poshta
- Добавить webhook триггер
Фаза 4: Сборка и деплой
- Создать package.json
- Создать tsconfig.json
- Создать gulpfile.js
- Создать deploy.sh
🎯 Архитектура
Проект следует архитектуре Monobank node:
- Модульная структура с разделением по ресурсам
- Система кеширования лицензий (TTL 10 минут)
- Фоновое обновление лицензий
- Централизованная обработка ошибок
- Логирование всех операций
Подробнее см. ARCHITECTURE.md и LICENSE_SYSTEM.md
📝 Примечания
- Все файлы адаптированы под Nova Poshta API
- Сохранена совместимость с системой лицензирования nodiq.dev
- Используется та же архитектура что и в Monobank node
🔧 Переменные окружения
LICENSE_ENV
Определяет какой домен использовать для API лицензий:
TEST- использует https://mylocdev.fun/ (для разработки)PRODUCTION- использует https://admin.nodiq.dev/ (по умолчанию)
Пример использования:
# Для тестирования
export LICENSE_ENV=TEST
# Для продакшн
export LICENSE_ENV=PRODUCTION
# или просто не устанавливать (по умолчанию PRODUCTION)
В Docker:
environment:
- LICENSE_ENV=TEST
В n8n:
Добавить в переменные окружения контейнера n8n.
