# hourlyprice-api

> Preço da Hora Private API written in JS

Latest version **1.0.0** (published 2021-04-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install hourlyprice-api
pnpm add hourlyprice-api
yarn add hourlyprice-api
bun add hourlyprice-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.0 |
| Published | 2021-04-16 |
| First published | 2021-04-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 9.4 KB |
| Known vulnerabilities | 0 (+23 in 1 direct dependencies) |
| Install scripts | no |
| Author | Lucas Nunes |
| Maintainers | luk4smn |
| Keywords | hourly price, private api, api privada, pb, node |

## Links

- npm: https://www.npmjs.com/package/hourlyprice-api
- Repository: https://gitlab.com/luk4smn/hourlyprice-api
- Issues: https://gitlab.com/luk4smn/hourlyprice-api/issues
- npm.io page: https://npm.io/package/hourlyprice-api

## Dependencies (6)

- [xo](https://npm.io/package/xo.md) ^0.33.0
- [axios](https://npm.io/package/axios.md) ^0.21.1
- [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

- [base64url](https://npm.io/package/base64url.md) — 6.1M weekly downloads
- [get-installed-path](https://npm.io/package/get-installed-path.md) — 502.9K weekly downloads
- [@uppy/url](https://npm.io/package/@uppy/url.md) — 185.8K weekly downloads
- [@d3fc/d3fc-shape](https://npm.io/package/@d3fc/d3fc-shape.md) — 16.2K weekly downloads
- [localizer](https://npm.io/package/localizer.md) — 226 weekly downloads

## Recent versions

- 1.0.0 (latest) — 2021-04-16

## README

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

[![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 ](https://precodahora.pb.gov.br/)

## 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, //obrigatório
		horas: 72,
		latitude: -12.2733, //obrigatório
		longitude: -38.9556, //obrigatório
		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({ item: "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, //obrigatório
		horas: 72,
		latitude: -12.2733, //obrigatório
		longitude: -38.9556, //obrigatório
		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, //obrigatório
	horas: 72,
	latitude: -12.2733, //obrigatório
	longitude: -38.9556, //obrigatório
	raio: 15,
	precomax: 0,
	precomin: 0,
	ordenar: "preco.desc",
	pagina: 1,
	processo: "carregar",
	totalRegistros: 0,
	totalPaginas: 0,
	pageview: "lista",
});
```

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

## License

MIT ©

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