fns-receipt-service/README.MD
romantarkin f24543d50c fix
2026-05-30 22:52:18 +05:00

90 lines
2.0 KiB
Markdown
Raw 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.

# FNS Receipt Service
Express-сервис на Node.js 22 для создания чеков через ФНС и отправки ссылки на чек по email.
## Локальный запуск
```bash
npm install
cp .env.example .env
npm start
```
Сервис запустится на порту из `PORT` или на `4000` по умолчанию.
## Docker
Сборка образа:
```bash
docker build -t fns-receipt-service .
```
Запуск контейнера:
```bash
docker run --env-file .env -p 3000:3000 fns-receipt-service
```
## Переменные окружения
Заполните эти переменные в Timeweb Cloud в разделе переменных окружения:
```env
INN=123456789012
PASSWORD=your_fns_password
APPNAME=Название проекта
ADMIN_EMAIL=admin@example.com
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=noreply@example.com
SMTP_PASS=email_app_password
SMTP_MAIL_FROM=noreply@example.com
API_PASS=strong_api_password
PORT=3000
HOST=0.0.0.0
```
`API_PASS` должен совпадать с `api_pass` в запросах к `POST /api/v1/create-receipt`.
## Timeweb Cloud
Что заполнить при Docker-деплое:
| Поле | Значение |
| --- | --- |
| Dockerfile | `Dockerfile` |
| Порт | `3000` |
| Путь до директории проекта | `/fns-receipt-service` |
| Путь проверки состояния | `/health` |
Команду запуска для Docker-деплоя отдельно указывать не нужно: она уже задана в `Dockerfile` как `CMD ["node", "/app/server.js"]`.
## API
Проверка состояния:
```http
GET /health
```
Создание чека:
```http
POST /api/v1/create-receipt
Content-Type: application/json
{
"api_pass": "strong_api_password",
"email": "client@example.com",
"items": [
{
"id": "order-1",
"name": "Услуга",
"price": 1000,
"quantity": 1
}
]
}
```