# precodahora-api

> Preço da Hora Private API written in JS

Latest version **1.0.3** (published 2020-09-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install precodahora-api
pnpm add precodahora-api
yarn add precodahora-api
bun add precodahora-api
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2020-09-05 |
| First published | 2020-05-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 9.4 KB |
| Known vulnerabilities | 0 (+25 in 1 direct dependencies) |
| Install scripts | no |
| Author | Pedro Neri |
| Maintainers | pedneri1 |
| Keywords | preco da hora, private api, api privada, bahia, node |

## Links

- npm: https://www.npmjs.com/package/precodahora-api
- Repository: https://github.com/Pedneri1/precodahora-api
- Issues: https://github.com/Pedneri1/precodahora-api/issues
- npm.io page: https://npm.io/package/precodahora-api

## Dependencies (6)

- [xo](https://npm.io/package/xo.md) ^0.33.0
- [axios](https://npm.io/package/axios.md) ^0.19.2
- [querystring](https://npm.io/package/querystring.md) ^0.2.0
- [tough-cookie](https://npm.io/package/tough-cookie.md) ^4.0.0
- [node-html-parser](https://npm.io/package/node-html-parser.md) ^1.2.16
- [useragent-from-seed](https://npm.io/package/useragent-from-seed.md) ^1.0.1

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 1.0.3 (latest) — 2020-09-05
- 1.0.2 — 2020-07-23
- 1.0.1 — 2020-05-14

## README

### Uma API Privada para o Preço da Hora Bahia

[![precodahora-api](https://circleci.com/gh/Pedneri1/precodahora-api.svg?style=shield)](https://circleci.com/gh/Pedneri1/precodahora-api)

[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)

Implementação simples, fácil e completa da API Privada para o [Preço da Hora Bahia](https://precodahora.ba.gov.br/)

## Instalação

```bash
npm i precodahora-api
```

## Utilização

Crie uma instância para `PrecoDaHora` execute um dos métodos `sugestao` ou `produto`

```js
const PrecoDaHora = require("precodahora-api");
const client = new PrecoDaHora();

client
	.sugestao({ item: "ABACAXI" })
	.then((res) => {
		if (res.data.codigo == 80) {
			console.log("Sugestões para o termo buscado:");
			console.log(res.data.resultado);
		} else {
			console.log("Ocorreu um erro");
		}
	})
	.catch((error) => console.error(error));

client
	.produto({
		gtin: 7891055317303,
		horas: 72,
		latitude: -12.2733,
		longitude: -38.9556,
		raio: 15,
		precomax: 0,
		precomin: 0,
		ordenar: "preco.asc",
		pagina: 1,
		processo: "carregar",
		totalRegistros: 0,
		totalPaginas: 0,
		pageview: "lista",
	})
	.then((res) => {
		if (res.data.codigo == 80) {
			console.log("Resultado da busca para o produto: ");
			console.log(res.data.resultado);
		} else {
			console.log("Ocorreu um erro");
		}
	});
```

Usando o `async/await` no Node >= 8

```js
const PrecoDaHora = require("precodahora-api");
const client = new PrecoDaHora();

(async () => {
	const res = await client.sugestao("ABACAXI");
	if (res.data.codigo == 80) {
		console.log("Resultado da busca para o produto: ");
		console.log(res.data.resultado);
	} else {
		console.log("Ocorreu um erro");
	}
})();

(async () => {
	const res = await client.produto({
		gtin: 7891055317303,
		horas: 72,
		latitude: -12.2733,
		longitude: -38.9556,
		raio: 15,
		precomax: 0,
		precomin: 0,
		ordenar: "preco.asc",
		pagina: 1,
		processo: "carregar",
		totalRegistros: 0,
		totalPaginas: 0,
		pageview: "lista",
	});
	if (res.data.codigo == 80) {
		console.log("Resultado da busca para o produto: ");
		console.log(res.data.resultado);
	} else {
		console.log("Ocorreu um erro");
	}
})();
```

## Referências da API

- [PrecoDaHora](#precodahora)

  - [new PrecoDaHora()](#precodahora)
  - [.sugestao({ item })](#sugestaoparams)
  - [.produto({ termo, gtin, cnpj, horas, anp, codmun, latitude, longitude, raio, precomax, precomin pagina, ordenar, categorias, processo, totalCategorias, totalRegistros, totalPaginas, pageview })](#produtoparams)

### PrecoDaHora()

```js
const PrecoDaHora = require("precodahora-api");
const client = new PrecoDaHora();
```

> Inicializa o cliente

### sugestao(params)

```js
const sugestoes = await client.sugestao({ item: "ÁGUA" });
```

> Retorna as sugestões produtos a partir de uma entrada. Seja algumas letras, parte do nome ou todo o nome do produto

- `params`
  - `item`: Uma `String` contendo a busca

### produto(params)

```js
const produto = await client.produto({
	gtin: 7891055317303,
	horas: 72,
	latitude: -12.2733,
	longitude: -38.9556,
	raio: 15,
	precomax: 0,
	precomin: 0,
	ordenar: "preco.desc",
	pagina: 1,
	processo: "carregar",
	totalRegistros: 0,
	totalPaginas: 0,
	pageview: "lista",
});
```

- `params`
  - `gtin` Um `number` com o valor do número global do item comercial a ser buscado.
  - `horas` Um `number` com o valor em horas que o sistema fará a busca das notas fiscais.
  - `latitude` Valor `number` com latitude da região a ser buscada no estado da Bahia.
  - `longitude` Valor `number` com longitude da região a ser buscada no estado da Bahia.
  - `raio` Inteiro `number` contendo o raio em kilometros de busca a partir do ponto definido em `latitude` e `longitude`
  - `precomax` Inteiro `number` contendo o preço máximo da busca
  - `precomin` Inteiro `number` contendo o preço mínimo da busca
  - `ordenar` Um `String` que define a ordenação. `preco.desc` para preço descendente, `preco.asc` para preço ascendente.
  - `pagina`
  - `processo`
  - `totalRegistros`
  - `totalPaginas`
  - `pageview`

## License

MIT ©

---
_Source: https://npm.io/package/precodahora-api · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
