Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tayron/go-frete-correios
Projeto em Golang para buscar dados do CEP e armazenar em cache
https://github.com/tayron/go-frete-correios
api-rest frete-correios go-frete
Last synced: about 1 month ago
JSON representation
Projeto em Golang para buscar dados do CEP e armazenar em cache
- Host: GitHub
- URL: https://github.com/tayron/go-frete-correios
- Owner: tayron
- License: bsd-2-clause
- Created: 2020-09-04T20:36:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-26T11:53:30.000Z (about 4 years ago)
- Last Synced: 2023-03-01T20:26:01.009Z (almost 2 years ago)
- Topics: api-rest, frete-correios, go-frete
- Language: Go
- Homepage:
- Size: 12.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# GO FRETE CORREIOS
API em Golang para consulta de valor de frete pelos correios## Configuração
É possível configurar em qual porta o serviço irá ser executado alterando arquivo *.env*## Compilar
Além de ter o Go instalado no sistema operacional é necessário executar o comando ```go build -ldflags "-s -w" -o go-frete-correios main.go```
e um binário com nome de *go-cep* será criado na raiz do projeto.## Executar
Basta executar, execute o comando```env AMBIENTE=desenvolvimento go run main.go```
e a seguinte mensagem irá aparecer no console
informando onde a aplicação estará sendo executada:
```Servidor executando no endereço: http://127.0.0.1:3000```## Testando
Para rodar os tests, execute o comando: ```env AMBIENTE=desenvolvimento go test```## Uso
Basta enviar uma requisição POST para a url ```http://localhost:3000/frete```
com as seguintes informações, exemplo:
* codigo_servido_desejado: 41106
* cep_origem: 11680000
* cep_destino: 82220000
* peso: 1
* altura: 15
* largura: 22
* comprimento: 32
* valor_produto: 0O retorno será:
```
{
"frete": {
"codigo": "41106",
"valor": "29,40",
"prazoEntrega": "14",
"valorSemAdicionais": "29,40",
"valorNaoPropria": "0,00",
"valorAvisoRecebimento": "0,00",
"valorDeclarado": "0,00",
"entregaDomicializar": "S",
"entregaSabado": "N"
}
}
```## Código do serviço desejado
### Código comuns utilizados em loja virtual
* 40215 = SEDEX 10
* 40045 = SEDEX À COBRAR
* 40010 = SEDEX
* 41106 = PAC### Todos os códigos disponíveis pelos nos Correrios
* 84050 = FAC Registrado
* 82031 = FAC Simples
* 20010 = Impresso Normal
* 14036 = Mala Direta Domiciliária
* 14010 = Mala Direta Básica e Especial
* 44105 = Malote
* 04510 = PAC
* 04693 = PAC Grandes Formatos
* 04707 = PAC Pagamento na Entrega
* 43010 = Reembolso Postal
* 36200 = Remessa Econômica
* 40355 = Remessa Expressa - CRLV/CRV/CNH
* 40622 = Remessa Expressa Talão/Cartão
* 75043 = Remessa Local com Comprovação de Entrega
* 04014 = SEDEX
* 40215 = SEDEX 10
* 40169 = SEDEX 12
* 04138 = SEDEX Contrato Grandes Formatos
* 40290 = SEDEX HOJE
* 03662 = SEDEX HOJE COLABORAT A FATURAR
* 03670 = SEDEX HOJE DESVIO COLAB A FATURAR
* 04065 = SEDEX Pagamento na EntregaExempĺo da requisição:
![Alt text](./exemplo_requisicao.png?raw=true "Exemplo requisição")## Instalação da aplicação em sistema linux baseado em debian
Para colocar a aplicação para ser executada em produção em um servidor ubuntu server,
basta executar o arquivo *install.sh* como root, exemplo: ```sudo ./install```Feito isso a seguinte mensagem deve aparecer:
```
GO-FRETE - Serviço de consulta de endereço por FRETE[√] Removido instalação antiga
[√] Arquivos da aplicação copiado para /usr/local/gofrete/
[√] Permissões setadas
[√] Arquivo go-frete-correios.service copiado para /etc/systemd/system/go-frete-correios.service
[√] Atualizando lista de serviços do sistema operacional
[√] Executando serviço● go-frete-correios.service
Loaded: loaded (/etc/systemd/system/go-frete-correios.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2020-09-07 17:36:14 BRT; 38ms ago
Main PID: 1365 (go-frete-correi)
Tasks: 6
Memory: 6.6M
CPU: 8ms
CGroup: /system.slice/go-frete-correios.service
└─1365 /usr/local/gofrete/go-frete-correiosSep 07 17:36:14 tayron-ThinkPad-T420 systemd[1]: Started go-frete-correios.service.
Sep 07 17:36:14 tayron-ThinkPad-T420 go-frete-correios[1365]: Arquivo de configuração: /usr/local/gofrete/.env
Sep 07 17:36:14 tayron-ThinkPad-T420 go-frete-correios[1365]: Servidor executando no endereço: http://127.0.0.1:3003Fim da instalação, em caso de problema execute o comando: [ journalctl -u go-frete-correios -f ] para mais detalhes
```
Ao executar o comando *journalctl -u go-cep -f* verá em qual endereço e porta a aplicação está acessível```
Sep 07 17:48:12 tayron-ThinkPad-T420 systemd[1]: Started go-frete-correios.service.
Sep 07 17:48:12 tayron-ThinkPad-T420 go-frete-correios[5437]: Arquivo de configuração: /usr/local/gofrete/.env
Sep 07 17:48:12 tayron-ThinkPad-T420 go-frete-correios[5437]: Servidor executando no endereço: http://127.0.0.1:3003
```Conforme o log a aplicação está sendo executada no endereço: ```http://127.0.0.1:3003```
## Desinstalação da aplicação em sistema linux baseado em debian
Para desinstalar basta executar o comando: ```sudo ./uninstall.sh```Feito isso a seguinte mensagem deve aparecer:
```
Desinstalando GO-FRETE - Serviço de consulta de endereço por FRETE[√] Parando serviço
[√] Removendo serviço antigo
[√] Atualizando lista de serviços do sistema operacionalDesinstalação concluída
```## Exemplos de uso
Dentro da pasta *exemplos-uso* você encontrará exemplo de utilização da API nas linguagens JAVA, Javascript, PHP e Python.