Skip to content

tiaguinho/correios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Correios

Integração com webservice dos correios feito em Go.

Build Status GoDocGo Report Card codecov

Para entender melhor o funcionamento da integração com os correios, quais campos são obrigatórios e como eles devem ser preenchidos acesse o link a baixo:

http://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/calculador-remoto-de-precos-e-prazos/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazos

Instalação

go get github.com/tiaguinho/correios

Struct da consulta

A estrutura abaixo mostra os campos que devem ser preenchidos para executar a requisição para o webservice dos correios.

type Params struct {
	CodigoEmpresa    string  `url:"nCdEmpresa"`
	Senha            string  `url:"sDsSenha"`
	CodigoServico    string  `url:"nCdServico"`
	CepOrigem        string  `url:"sCepOrigem"`
	CepDestino       string  `url:"sCepDestino"`
	Peso             string  `url:"nVlPeso"`
	CodigoFormato    int     `url:"nCdFormato"`
	Comprimento      float64 `url:"nVlComprimento"`
	Altura           float64 `url:"nVlAltura"`
	Largura          float64 `url:"nVlLargura"`
	Diametro         float64 `url:"nVlDiametro"`
	MaoPropria       string  `url:"sCdMaoPropria"`
	ValorDeclarado   float64 `url:"nVlValorDeclarado"`
	AvisoRecebimento string  `url:"sCdAvisoRecebimento"`
}

Utilização

Abaixo um exemplo de como utilizar o package dos correios

package main

import (
	"fmt"
	"github.com/tiaguinho/correios"
)

func main() {
	params := correios.Params{
		CodigoServico: "40010,40045,40215,40290,41106",
		CepOrigem:     "05311900",
		CepDestino:    "86600280",
		Peso:          "300",
		CodigoFormato: 1,
		Comprimento:   20,
		Altura:        20,
		Largura:       20,
		Diametro:      0,
		MaoPropria:    "N",
	}

	results, _ := correios.CalcPrecoPrazo(params)
	for _, result := range results {
		fmt.Println("Código => ", result.Codigo)
		fmt.Println("Valor => ", result.Valor)
		fmt.Println("Prazo => ", result.Prazo)
		fmt.Println("Valor Mão Própria => ", result.ValorMaoPropria)
		fmt.Println("Valor Aviso Recebimento => ", result.ValorAvisoRecebimento)
		fmt.Println("Valor Declado => ", result.ValorDeclado)
		fmt.Println("Entrega Domiciliar => ", result.EntregaDomiciliar)
		fmt.Println("Entrega Sábado => ", result.EntregaSabado)
		fmt.Println("Erro => ", result.Erro)
		fmt.Println("MsgErro => ", result.MsgErro)

		fmt.Println("...")
	}
}

Licença

The MIT License (MIT) Copyright (c) 2013

About

Integração com webservice dos correios feito em Go

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages