Giới thiệu
@invoice-sdk/api
là thư viện SDK giúp tích hợp hệ thống quản lý hóa đơn điện tử nhanh và hiệu quả vào bất kỳ ứng dụng JavaScript/TypeScript nào (frontend hoặc backend).
SDK này đóng vai trò là lớp trung gian giao tiếp giữa client và hệ thống API hóa đơn. Mục tiêu là giúp developer:
- Truy cập các chức năng hóa đơn bằng các hàm đơn giản, rõ ràng
- Không cần viết lại logic gọi HTTP hoặc xử lý lỗi lặp lại
- Tăng tốc thời gian tích hợp hệ thống hóa đơn vào sản phẩm
Cài đặt
Để bắt đầu sử dụng Hub Invoice SDK
, cài đặt gói @invoice-sdk/api
vào dự án bằng một trong các package-manager
phổ biến:
- npm
- yarn
- pnpm
npm install @invoice-sdk/api
yarn add @invoice-sdk/api
pnpm add @invoice-sdk/api
Khởi tạo SDK
Khởi tạo và cấu hình apiInstance
từ Invoice SDK. apiInstance
này là cầu nối để tương tác với các endpoint của API.
import { InvoiceApi, Configuration } from '@invoice-sdk/api'
const configuration = new Configuration();
const apiInstance = new InvoiceApi(configuration);
Sử dụng Kiểu dữ liệu (Data Type) trong SDK Invoice
Khi làm việc với SDK Invoice
, việc hiểu và sử dụng các kiểu dữ liệu (Data Type) là rất quan trọng để đảm bảo truyền đúng định dạng dữ liệu và nhận được kết quả như mong muốn từ các hàm hoặc phương thức API.
1. Import kiểu dữ liệu
Để sử dụng một kiểu dữ liệu được định nghĩa trong SDK, bạn cần import
nó từ gói thư viện.
Ví dụ:
SDK Invoice
có một kiểu dữ liệu tên là CreateInvoiceRequest
để định nghĩa cấu trúc chi tiết của một hóa đơn. Import nó như sau:
import { CreateInvoiceRequest } from '@invoice-sdk/api';
Đối với các nhà cung cấp hóa đơn điện tử Provider
khác nhau, sẽ cần sử dụng reqData
khác nhau để phù hợp với Provider
đó.
2. Định dạng biến với kiểu dữ liệu
Sau khi đã import kiểu dữ liệu, có thể sử dụng nó để định nghĩa rõ ràng kiểu của một biến. Điều này giúp:
- Biết được các thuộc tính (key) nào có sẵn trong biến đó.
- Biết được kiểu dữ liệu của từng thuộc tính.
- Nhận được sự hỗ trợ từ IDE với tính năng tự động gợi ý (autocompletion) và kiểm tra lỗi (type checking) ngay trong quá trình phát triển.
Ví dụ:
Có một biến myInvoice
và biến này sẽ chứa thông tin chi tiết về một hóa đơn, theo định dạng của CreateInvoiceRequest
. Có thể khai báo nó như sau:
const myInvoice: CreateInvoiceRequest = {
invoiceId: "INV-2025-001",
customerName: "Công ty ABC",
totalAmount: 1000000,
// ... các thuộc tính khác của CreateInvoiceRequest
};