correios

package
v0.0.0-...-c9bc0ef Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2021 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CodigosVigentes = map[string]string{
	"SEDEX à vista":      "04014",
	"PAC à vista":        "04510",
	"SEDEX 12 (à vista)": "04782",
	"SEDEX 10 (à vista)": "04790",
	"SEDEX Hoje à vista": "04804",
}

CodigosVigentes implementa um map[string]string Atenção! Os códigos abaixo podem não estar mais válidos. Dados obtidos do "Manual técnico de integração web services ao Sistema Calculador de Preço e Prazo - SCPP.pdf" na versão 2.2 de 25/09/2019. Clientes com contrato devem consultar os códigos vigentes no contrato.

View Source
var CodigosVigentesPorCodigo = maptricks.ReverseMap(CodigosVigentes)
View Source
var Formatos = map[int]string{
	1: "Formato caixa/pacote",
	2: "Formato rolo/prisma",
	3: "Envelope",
}
View Source
var (
	URL string = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx"
)

Functions

This section is empty.

Types

type CalcPrecoPrazo

type CalcPrecoPrazo struct {
	NCdEmpresa          string  // Sem contrato, enviar vazio.
	SDsSenha            string  // Sem contrato, enviar vazio.
	NCdServico          string  // Consultar códigos vigentes.
	SCepOrigem          string  // Sem hífen.
	SCepDestino         string  // Sem hífen.
	NVlPeso             string  // Quilogramas.
	NCdFormato          int     // 1-Caixa/Pcte; 2-Rolo/prisma. 3-Envel.
	NVlComprimento      float64 // Cm.
	NVlAltura           float64 // Cm. Se envelope, informar 0.
	NVlLargura          float64 // Cm
	NVlDiametro         float64 // Cm
	SCdMaoPropria       string  // S ou N (Sim ou Não).
	NVlValorDeclarado   float64 // Se não quiser, informar zero.
	SCdAvisoRecebimento string  // S ou N (Sim ou Não).
}

CalcPrecoPrazo encapsula os parâmetros de uma requisição para o WebService dos Correios que informa o preço, prazo e outras opção de uma encomenda a ser entregue pelos Correios.

func (*CalcPrecoPrazo) PrecoPrazo

func (params *CalcPrecoPrazo) PrecoPrazo() (*Servicos, error)

PrecoPrazo é o método que monta o HTTP GET Request, conecta a URL dos Correios, baixa o XML de resposta e faz o unmarshalling do XML de retorno para um objeto Servicos.

type Servicos

type Servicos struct {
	XMLName  xml.Name `xml:"Servicos"`
	Text     string   `xml:",chardata"`
	CServico []struct {
		Text                  string `xml:",chardata"`
		Codigo                string `xml:"Codigo"`
		Valor                 string `xml:"Valor"`
		PrazoEntrega          string `xml:"PrazoEntrega"`
		ValorSemAdicionais    string `xml:"ValorSemAdicionais"`
		ValorMaoPropria       string `xml:"ValorMaoPropria"`
		ValorAvisoRecebimento string `xml:"ValorAvisoRecebimento"`
		ValorValorDeclarado   string `xml:"ValorValorDeclarado"`
		EntregaDomiciliar     string `xml:"EntregaDomiciliar"`
		EntregaSabado         string `xml:"EntregaSabado"`
		ObsFim                string `xml:"obsFim"`
		Erro                  string `xml:"Erro"`
		MsgErro               string `xml:"MsgErro"`
	} `xml:"cServico"`
}

Servicos representa o XML de retorno dos correios.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL