ntn-backup-larkbase

n8n node to connect to larkbase scripts

Package Information

Released: 8/9/2025
Downloads: 2 weekly / 48 monthly
Latest Version: 2.0.7
Author: Nguyen Ngo Thuong

Documentation

[2.0.7] - 2025-08-09

Changed

  • Giữ cấu trúc build và entry chuẩn (main: dist/index.js + n8n.nodes trỏ dist/src/*.node.js) cho tương thích các môi trường n8n.

Larkbase Node for n8n

Node tích hợp Larkbase (Larksuite Base) với n8n, cho phép thực hiện các thao tác CRUD, tìm kiếm và upsert dữ liệu.

Tính năng chính

  • Batch Insert: Tạo hàng loạt bản ghi mới một cách hiệu quả
  • Batch Update: Cập nhật đồng thời nhiều bản ghi
  • Search: Tìm kiếm bản ghi với nhiều điều kiện lọc
  • Upsert Tự Động: Tự động nhận diện và xử lý việc tạo mới hoặc cập nhật bản ghi
  • Xử lý Dữ Liệu Lớn: Hỗ trợ xử lý hàng nghìn bản ghi với phân trang tự động
  • Debug Mode: Hiển thị chi tiết quá trình xử lý và giao tiếp API
  • Không cần License: Sử dụng trực tiếp mà không cần license key
  • Không cần Credentials: Nhập trực tiếp thông tin vào node

Cài đặt

npm install n8n-nodes-ntn-backup-larkbase

Cách sử dụng

Nhập trực tiếp các thông tin sau vào node:

  1. Base ID / App Token: ID của Base Larkbase (bắt đầu bằng "YXL...")
  2. Table ID: ID của bảng cần thao tác (bắt đầu bằng "tbl...")
  3. Access Token: Token xác thực API Larkbase (bắt đầu bằng "t-g..." hoặc "u-...")

Hoặc sử dụng Larkbase Get Token node để lấy token từ App ID và App Secret.

Các Node Có Sẵn

  • Larkbase: Node chính cho các thao tác CRUD (Create, Search, Update)
  • LarkbaseGetToken: Lấy access token từ App ID và App Secret
  • LarkbaseUpsert: Thực hiện upsert (tự động tạo mới hoặc cập nhật)

Phiên bản 2.0.0 đã được publish lên npm vào ngày 09/01/2025

License

MIT

Changelog

[2.0.6] - 2025-08-09

Changed

  • Trả về tên node tĩnh (không lấy từ package.json) cho Larkbase, LarkbaseGetToken, LarkbaseUpsert để tránh rủi ro "Unrecognized node type" do đổi displayName/subtitle theo package.

[2.0.5] - 2025-08-09

Fixed

  • Sửa lỗi "Unrecognized node type" trên production do import tĩnh package.json trong các file node. Chuyển sang require động với fallback an toàn để tránh lỗi khi dist/package.json không tồn tại.

[2.0.4] - 2025-08-08

Changed

  • Sử dụng displayNameauthor.url từ package.json làm tiêu đề hiển thị và watermark của các node.

[2.0.3] - 2025-08-08

Changed

  • Thêm watermark hiển thị trong UI các node: · dev by nguyenngothuong.com vào subtitle của Larkbase, LarkbaseGetToken, LarkbaseUpsert để phân biệt nguồn phát hành.

Hướng dẫn build/publish

Tham khảo docs/how_to_update.txt, tóm tắt:

  1. Build dev (readable, dành cho test local):
npm run build
  1. Tạo artifact .tgz để cài thử local trước khi publish:
npm run build:artifact
# file đầu ra: node_n8n/n8n-nodes-larkbase/build_output/<gói>.tgz
# cài thử: npm i ./build_output/<gói>.tgz
  1. Build bảo mật (obfuscate + minify) cho production/publish:
npm run secure-build
  1. Publish lên npm:
npm publish

Lưu ý: đảm bảo đã đăng nhập npm (npm whoami), bump phiên bản trong package.json trước khi publish.

[2.0.2] - 2025-08-08

Added

  • Hỗ trợ hiển thị chi tiết trong trường message: thời gian hoàn thành, trộn lỗi từ apiCallLogs (mã lỗi, thông điệp, log_id)
  • Tự động tổng hợp errors có cấu trúc { code, msg, detail, log_id } khi result.errors rỗng
  • Tổng hợp requestDetails/responseDetails từ apiCallLogs khi bật các flag hiển thị (kể cả logs con trong chunks/rawResponse)

Changed

  • Điều chỉnh filter thời gian: dùng isGreater/isLess với biên ±1ms để bao gồm ranh giới do API không hỗ trợ equal
  • Chuẩn hóa timestamp milliseconds với normalizeToMilliseconds

DevOps

  • Thêm script tạo artifact .tgz vào build_output/ (npm run build:artifact)
  • Docker Compose thêm TZ=Asia/Ho_Chi_Minh

[2.0.1] - 2025-08-08

Fixed

  • Chuẩn hóa filter thời gian dùng milliseconds trong upsertexecuteUpsert (thêm normalizeToMilliseconds) để tránh gửi seconds sai chuẩn
  • Bổ sung util src/utils/time.ts
  • Điều chỉnh filter thời gian: thay isGreaterEqual/isLessEqual bằng isGreater/isLess với biên ±1ms để bao gồm ranh giới do API không hỗ trợ equal

[2.0.0] - 2025-08-08

Breaking Changes

  • Bỏ hoàn toàn License Key: Không còn yêu cầu license key để sử dụng
  • Bỏ Credentials: Không còn cần thiết lập credentials, nhập trực tiếp vào node
  • Tối ưu hóa Architecture: Refactor toàn bộ codebase, loại bỏ các dependencies không cần thiết

Removed

  • Xóa file licenseValidator.ts và toàn bộ hệ thống validation license
  • Xóa file types.ts và các interface liên quan đến license
  • Bỏ credentials requirement khỏi tất cả các node
  • Loại bỏ các dependency về license validation

Added

  • Input validation mạnh mẽ hơn cho App Token, Table ID, Access Token
  • Thông báo lỗi chi tiết và dễ hiểu hơn
  • Hỗ trợ direct input cho tất cả thông tin cần thiết

Changed

  • Đơn giản hóa hoàn toàn quy trình sử dụng: Chỉ cần App Token, Table ID, Access Token
  • Tối ưu hóa performance và giảm thiểu overhead
  • Cải thiện user experience với workflow đơn giản hơn
  • Code cleaner, dễ maintain và extend

Technical Improvements

  • Refactor action modules (search, create, update, upsert)
  • Cải thiện error handling và logging
  • Optimize API calls và data processing
  • Better TypeScript types và interfaces

[1.0.40] - 2025-01-08

Removed

  • Bỏ yêu cầu License Key để đơn giản hóa việc sử dụng node
  • Bỏ credentials requirement, nhập trực tiếp thông tin vào node
  • Xóa file licenseValidator.ts và các dependencies liên quan

Added

  • Thêm node LarkbaseGetToken để lấy access token từ App ID và App Secret
  • Tất cả input fields hiện là required và có validation

Changed

  • Đơn giản hóa quy trình sử dụng: chỉ cần App ID, App Secret, Access Token
  • Cải thiện thông báo lỗi và documentation
  • Node hiện hoạt động độc lập không cần credentials

[1.2.4] - 2024-05-12

Fixed

  • Cải thiện xử lý lỗi và logging trong quá trình xác thực license
  • Thêm kiểm tra kiểu dữ liệu cho license key
  • Thêm thông tin debug chi tiết để dễ dàng phát hiện lỗi
  • Cải thiện thông báo lỗi với mô tả chi tiết hơn

Changed

  • Tối ưu hóa logic validation license key
  • Thêm logging cho các bước quan trọng trong quá trình xác thực
  • Cải thiện thông báo lỗi để dễ dàng debug

Discussion