viettel-s-invoice
v1.0.10
Published
Viettel S Invoice
Downloads
786
Maintainers
Readme
Viettel S Invoice API Integration
[!NOTE] This is an
UNOFFICIAL
project. It is not affiliated with or endorsed by Viettel.
This project provides a class ViettelSInvoice
that allows interaction with the Viettel S Invoice API.
Table of Contents
Prerequisites
Before using the Viettel S Invoice API, you will need:
- An active Viettel S Invoice account with a valid username and password.
- An API endpoint URL to connect to the Viettel S Invoice API.
- A basic understanding of how to interact with APIs.
Installation
npm install --save viettel-s-invoice
Usage
const viettelSInvoice = new ViettelSInvoice({
username: 'your-username', // required
password: 'your-password', // required
apiEndPoint: 'https://api.viettel.vn', // optional
});
Preview Draft Invoice
To preview a draft invoice, use the previewDraftInvoice
method:
viettelSInvoice.previewDraftInvoice(invoice)
.then(response => console.log(response))
.catch(error => console.error(error));
- invoice: The draft invoice data to preview.
Create Invoice
To create an invoice, use the createInvoice
method:
viettelSInvoice.createInvoice(invoice)
.then(response => console.log(response))
.catch(error => console.error(error));
- invoice: The data for creating the invoice.
Get Invoice by Transaction UUID
To retrieve an invoice by its transaction UUID, use the getInvoiceByTransactionUuid
method:
const transactionUuid = '7a9f9e2a-d28f-4bef-a9d0-d91607453f70';
viettelSInvoice.getInvoiceByTransactionUuid(transactionUuid)
.then(response => console.log(response))
.catch(error => console.error(error));
- transactionUuid: The unique identifier of the transaction associated with the invoice.
Get Invoices by Date Range
To get invoices within a specified date range, use the getInvoicesByDateRange
method:
const fromDate = '01/01/2024';
const toDate = '31/01/2024';
viettelSInvoice.getInvoicesByDateRange(fromDate, toDate)
.then(response => console.log(response))
.catch(error => console.error(error));
- fromDate: The start date of the range (format: DD/MM/YYYY).
- toDate: The end date of the range (format: DD/MM/YYYY).
Get Invoice File
- To retrieve an invoice file, use the getInvoiceFile method:
viettelSInvoice.getInvoiceFile({ invoiceNo, templateCode, fileType })
.then(response => console.log(response))
.catch(error => console.log(error));
- invoiceNo: The invoice number.
- templateCode: The template code for the invoice.
- fileType: The file type (e.g., PDF, ZIP).
Get Invoice Templates
- To retrieve invoice templates code, use the getInvoiceTemplates method:
const invoiceType = '01BLP'
viettelSInvoice.getInvoiceTemplates(invoiceType)
.then(response => console.log(response))
.catch(error => console.log(error));
Exceptions
The following exceptions are handled by the ViettelSInvoice class:
- ViettelSInvoiceLoginException: Thrown if login fails.
- ViettelSInvoiceCreateInvoiceException: Thrown if invoice creation fails.
- ViettelSInvoicePreviewDraftInvoiceException: Thrown if reviewing a draft invoice fails.
- ViettelSInvoiceGetInvoiceException: Thrown if retrieving an invoice fails.
- ViettelSInvoiceGetInvoicesException: Thrown if retrieving invoices by date range fails.
- ViettelSInvoiceGetInvoiceFileException: Thrown if retrieving an invoice file fails.
- ViettelSInvoiceGetTemplatesException: thrown if retrieving invoice templates fails
- Each exception includes a descriptive error message.
License
This project is licensed under the MIT License. See the LICENSE file for details.