New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nfctron/eet

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nfctron/eet

Node.js library for EET

  • 0.8.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

eet

npm build status eet channel on discord

Node.js library for EET (Electronic Registration of Sales in the Czech Republic) (Elektronickou evidenci tržeb).

Note: this library is still in development (version 0.x). API should stay the same, but there are not enough tests and documentation. Pull requests are welcome!

Differences against the original library

This is fork of JakubMrozek/eet with the following changes:

  • completely rewritten to allow multiple request with the same client (performance improvement)
    + currentDate and uuid moved from options to items and renamed to datOdesl and uuidZpravy to improve consistency
  • fixed LICENSE (to be recognized by GitHub)
  • improved README
  • added yarn.lock
  • improved package.json, upgraded dependencies

Installation

Requirements: Node.js 7+ (it might work under 6.x but it is not tested)

Using npm:

npm install @nfctron/eet --save

or with yarn:

yarn add @nfctron/eet

Example usage

const { createClient } = require('eet');

// privatni klic a certifikat podnikatele
const options = {
	privateKey: '...',
	certificate: '...',
	playground: true
};

// polozky, ktere se posilaji do EET 
const items = {
	dicPopl: 'CZ1212121218',
	idPokl: '/5546/RO24',
	poradCis: '0/6460/ZQ42',
	datTrzby: new Date(),
	celkTrzba: 34113,
	idProvoz: '273'
};

// ziskani FIK (kod uctenky) pomoci async/await (Node.js 8+ / Babel)

const client = await createClient(options);

try {
	const { fik } = await client.request(items);
}


// ziskani FIK v Node.js 6+
createClient(options)
	.then(client => client.request(items))
	.then(response => {
		// response.fik
	});

Convert .p12 to .pem

TODO example using command line with OpenSSL

This library works only with certificates and keys in string format .pem. From the binary .p12 you can convert them for example by package pem:

npm install pem --save
const pem = require('pem');

const file = require('fs').readFileSync('cesta/k/souboru.p12');
const password = ''; //pro testovací certifikáty EET je heslo 'eet'

pem.readPkcs12(file, {p12Password: password}, (err, result) => {
	if (err) ...
	// result.key je privátní klíč
	// result.cert je certifikát
});

API

createClient(options)

nametyperequireddefaultdescription
privateKeystringyesprivate key for the certificate
certificatestringyescertificate
offlinebooleannofalseif true, includes PKP and BKB in response on unsuccessful request to EET
playgroundbooleannofalseuse Playground EET endpoint instead of production
timeoutnumberno2000 msmaximal time to wait in milliseconds
measureResponseTimebooleannofalsemeasure response time using node-soap's client.lastElapsedTime
httpClientobjectnosee soap options, just for testing

EETClient.request(items)

  • items - data to send in EET request, same name as in EET specification but in camel case (so instead of dic_popl use dicPopl)

    TODO add table of items (required, data type, and description)

TODO document whole API

Frequent errors

Neplatny podpis SOAP zpravy (4)

Na 99% půjde o problém s certifikátem, více je popsáno v issue #1.

Roadmap

Changelog

see description of each release in Releases

License

MIT

Keywords

FAQs

Package last updated on 30 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc