tochka

n8n community node for Tochka Bank Open API (JWT)

Package Information

Released: 4 mo ago
Downloads: 23 weekly / 75 monthly
Latest Version: 1.0.6
Author: Kirill Fedoseev

Documentation

n8n-nodes-tochka

n8n community node для Open API банка Точка.

REST-обёртка над https://enter.tochka.com/uapi/....
Авторизация — JWT Bearer-токеном из личного кабинета.

Установка

В self-hosted n8n: Settings → Community Nodes → Install → ввести имя пакета:

n8n-nodes-tochka

(Требуется N8N_COMMUNITY_PACKAGES_ENABLED=true, по умолчанию включено.)

Credentials

Тип Tochka Bank API с двумя полями:

  • JWT Token — токен из личного кабинета Точки (Настройки → API).
  • Sandbox — флаг тестового контура. Если включён, все запросы идут на https://enter.tochka.com/sandbox вместо боевого https://enter.tochka.com/uapi.

Resources & Operations

Нода организована по схеме Resource → Operation (как у официальных n8n-нод).

Account

  • Get Many — GET /open-banking/v1.0/accounts. Все доступные счета.
  • Get — GET /open-banking/v1.0/accounts/{accountId}/{bankCode}. Один счёт.

Balance

  • Get Many — GET /open-banking/v1.0/balances. Балансы всех счетов.
  • Get — GET /open-banking/v1.0/accounts/{accountId}/{bankCode}/balances. Баланс одного счёта.

Statement

  • Create — POST /open-banking/v1.0/statements. Запросить выписку за период (асинхронно). Параметры: accountId, bankCode, dateFrom, dateTo.
  • Get Many — GET /open-banking/v1.0/statements. Список запрошенных выписок (опционально page, limit).
  • Get — GET /open-banking/v1.0/accounts/{accountId}/{bankCode}/statements/{statementId}. Получить готовую выписку с транзакциями.

Customer

  • Get Many — GET /open-banking/v1.0/customers. Список клиентов.
  • Get — GET /open-banking/v1.0/customers/{customerCode}. Один клиент.

Invoice

Полный жизненный цикл счёта на оплату:

  • Create — POST /invoice/v1.0/bills. Все обязательные поля Точки в форме: accountId, customerCode, данные покупателя (SecondSide с taxCode+type), Invoice (number, totalAmount), массив Positions (минимум одна позиция с positionName, unitCode, ndsKind, price, quantity, totalAmount). Опциональные — в группах Invoice Extras и доп. поля покупателя.
  • Get PDF — GET /invoice/v1.0/bills/{customerCode}/{documentId}/file.
  • Get Payment Status — GET /invoice/v1.0/bills/{customerCode}/{documentId}/payment-status.
  • Delete — DELETE /invoice/v1.0/bills/{customerCode}/{documentId}.
  • Send By Email — POST /invoice/v1.0/bills/{customerCode}/{documentId}/email.

Payment

  • Create — POST /payment/v1.0/for-sign. Создание платёжного поручения для подписи. Обязательные: accountCode, bankCode, counterpartyBankBic, counterpartyAccountNumber, counterpartyName, paymentAmount, paymentDate, paymentPurpose. Опциональные сгруппированы: реквизиты получателя (ИНН/КПП/корр.счёт), плательщика (payerINN/payerKPP), доп. поля (номер платежа, приоритет, email и др.), бюджетные поля (101–110).
  • Get Many (For Sign) — GET /payment/v1.0/for-sign. Список платежей, ожидающих подписи (опц. page, limit).
  • Get Status — GET /payment/v1.0/status/{requestId}. Статус платежа.

Custom

  • API Call — произвольный HTTP-запрос (метод/путь/query/body) для эндпоинтов, не покрытых явно.

Формат ответа

Ответы Точки в формате { Data: {...}, Links, Meta } обрабатываются автоматически: если Data содержит массив (например, Data.Account[], Data.Customer[]), нода эмитит по одному n8n-item на каждый элемент. Иначе — весь ответ как один item.

Тест credentials

Custom → API Call с дефолтным GET /open-banking/v1.0/customers подтверждает валидность JWT.

Локальная разработка

npm install
npm run build
npm link
# в директории установки n8n:
npm link n8n-nodes-tochka
# перезапустить n8n

Лицензия

MIT

Discussion