Skip to content

Latest commit

 

History

History
68 lines (54 loc) · 2.37 KB

README.md

File metadata and controls

68 lines (54 loc) · 2.37 KB

This project is no longer being actively developed. If you are interested in this project, welcome to fork.

npm version

node-tw-e-invoice

An unofficial Node.js interface of Taiwan MOF E-Invoice API . 台灣財政部電子發票 API 的 非官方 Node.js 介面。

npm i node-tw-e-invoice --save

Feature

  • Request by action
  • Request parameters schema validation
  • Provide serial number generator
  • Auto convert to Unix timestap
  • Auto generate signature

Not implement :

  • Real HTTP Request

    Retrun Promise contain path,method & param values .

  • Request Individual statistics information

Example

require('dotenv').config();
const {TaiwanEInvoice, InquirerIdentity, CarrierCardType}= require('node-tw-e-invoice');
const {Serial}= require('node-tw-e-invoice').APIUtil;

//Create TaiwanEInvoice instance
const EInvoice = new TaiwanEInvoice(process.env.APP_ID,process.env.API_KEY);

// Create serial number generator
const serial = new Serial();


EInvoice.inquirer(process.env.UUID,InquirerIdentity.Common)//Declare identity
.action('qryCarrierAgg',{//Request by action
  serial:serial.next(),
  cardType: CarrierCardType.Mobile,
  cardNo:'/AB56P5Q',
  timeStamp:new Date(),
  cardEncrypt:'password'
}).then((values)=>{//Return Promise
  let {path,method,param}  = values;
  param.timeStamp += 10;
  console.log(param)
  //start sending a request ...
}).catch((err)=>{
  let {name, details} = err;//Get error if schema validate fail
  console.log(name);
  console.log(details[0].message);
});

Documentation

Official specifications