Giter Site home page Giter Site logo

stavarengo / php-sigep Goto Github PK

View Code? Open in Web Editor NEW
362.0 362.0 255.0 15.64 MB

PHP client library for the Brazilian Post Office Web Service. Integração com Web Service do Correios. Consulta preços e prazos, imprime etiquetas e PLP, etc.

Home Page: https://phpsigep.stavarengo.me

License: MIT License

PHP 100.00%
correios etiquetas etiquetas-de-postagem php php-sigep plp

php-sigep's People

Contributors

agenciadeti avatar alyssonajackson avatar andersonls avatar avlima avatar brunorthomaz avatar crisnao2 avatar davidalves1 avatar daviddgm avatar dehdocs avatar endel avatar gersonfs avatar gustavovendramini avatar gustvao avatar jessileyoliveira avatar jonyw4 avatar lhpalacio avatar mauroagr avatar mozgbrasil avatar newtonman avatar odoni avatar rafaelsiqueira avatar rasnwebdev avatar rblaurin avatar rctnet avatar renanzanelato avatar rodrigojob avatar samirortiz avatar stavarengo avatar tiagoa avatar willian-rosa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

php-sigep's Issues

Número da PLP

A função que gera o número da PLP é time(), porém está gerando com 10 dígitos, e com isso não registra no sistema. Os Correios orientaram criar com 8 dígitos, resolvi da seguinte maneira: substr(time(), 0, 8), então gravou com sucesso, mas a plp foi salva como fechada, impossibilitando os correios editar informações de volume e peso. Não encontrei nada sobre esse status.

Erro ao tentar rastrear objeto

Rodei o exemplo de rastreamentoDeObjetos.php, e ocorreu o erro abaixo:

Notice: Trying to get property of non-object in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/RastrearObjeto.php on line 95

Notice: Trying to get property of non-object in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/RastrearObjeto.php on line 96

Notice: Trying to get property of non-object in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/RastrearObjeto.php on line 97

Notice: Trying to get property of non-object in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/RastrearObjeto.php on line 97

Catchable fatal error: Argument 1 passed to PhpSigep\Model\RastrearObjetoEvento::setDataHora() must be an instance of DateTime, boolean given, called in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/RastrearObjeto.php on line 97 and defined in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Model/RastrearObjetoEvento.php on line 93

O mesmo erro está ocorrendo no codigo que escrevi, a etiqueta que usei funciona no rastreamento do site dos correios, logo o problema não é com a etiqueta.

Erro ao rastrear objeto

Quando chamo a classe rastrearObjeto ocorre o erro "String could not be parsed as XML".

Debugando o código parece que quando o curl acessa a pagina dos correios da página Not Found e diz que o documento foi movido, pois a página dos correios mudou o link do rastreio.

Alguém está com este erro também?

Erro nota fiscal no imprimir plp

Gostaria de contribuir para este incrível projeto, mas não consigui resolver o problema.
Ao atribuir a nota fiscal na class ServicoAdicional, para imprimir o plp, o dado esta ficando junto com o cabeçalho da listagem.

Problemas com a integração

Boa tarde pessoal,

Precisei fazer uma integração com o SIGEP para um cliente, e optei por esta plataforma, porém, o correios está apontando vários erros no layout das etiquetas, e da PLP...
Corrigi alguns problemas no layout das etiquetas, porém estou com alguns outros...

O que está acontecendo é que o sistema do cliente é muito antigo, e não possui nem dimensões dos produtos, e me tomaria muito tempo implementando o mesmo.

Gostaria de saber se consigo enviar as informações dos pedidos para o SIGEP do cliente, para que lá ele imprima as etiquetas e as PLPs, pois hoje é enviado direto para o SARA (no qual aponta erro, dizendo que não é informado o tamanho nem o tipo do objeto).

Att,
Rafael

Como conseguir - Login e Senha

Olá,
Gostaria de saber se mais alguém teve dificuldades em conseguir essas informações para o acesso!

Falei com a gerente e ela não sabe absolutamente nada sobre o Web Service, pediu para ligar no 3003-0888 e lá eles dizem que não dão suporte ao Web Service e pedem para falar com o Gerente...

Ai fico em um loop infinito e não consigo a informação que preciso.
Alguém mais teve este tipo de dificuldade e conseguiu uma solução? Obrigado!

Serviço adicional - Valor Declarado

Hoje tive um problema com os correios e achei interessante compartilhar aqui
Existe uma regra para utilizar o Serviço de Valor Declarado de um produto, ele precisa ter no mínimo: R$15,00.
Acho que seria interessante criar uma condição já no php-sigep para que ele não deixasse utilizar o serviço nesse caso.

Mal formatação na etiqueta

Boa noite,

Parabéns pelo projeto, excelente trabalho, estava testando a versão dev-master, porém quando gero a etiqueta (seguindo o exemplo mesmo), a etiqueta sai conforme abaixo:

screen shot 2015-11-24 at 00 53 42

Alguma idéia do que possa ser?

Problema com ambiente de produção

Olá pessoal, estou fazendo a geração de etiqueta em um sistema de um cliente meu, peguei o exemplo do solicitar etiqueta com o ambiente de homologação, ele retorna perfeitamente os dados, porém quando colocou os dados masters do contrato do cliente, ele me retorna que esta com erro de autenticação, imaginei que o problema existia por que estava tentando achar os dados dela na base de homologação dos correios, porém quando troco para o link de produção dos correios, a página fica carregando eternamente, não sei se eu estou cometendo algum erro na hora de alterar para o ambiente de produção, onde seria exatamente?

Agraçado, desde já qualquer ajuda.

Att,

Gerar varios Etiquetas(PDF)

Olá pessoal, estou tentando gerar varias etiquetas de uma vez, porém consigo gerar varios códigos, mas na hora de imprimir varios PDF's ele só retorna um. Estou alterando a função "$params->setQtdEtiquetas(1)", gostaria de saber se estou alterando no local errado ou esquecendo de alguma coisa.

Obrigado, pela ajuda se possível.
Att,

Configuração

Bom dia pessoal, essa é uma dúvida muito primaria, mas faz tempo que não programo. Espero que compreendam isso.

Preciso pegar a etiqueta gerada no .../exemplos/solicitarEtiquetas.php e envia-lá para ...exemplos/geraDigitoVerificadorEtiquetas.php para depois imprimir a etiqueta e plp, igual segue nesse link: http://stavarengo.github.io/php-sigep/

Só geramos etiquetas c/ DV, por isso tenho que seguir essa sequência.

Eu teria acesso ao código dessa página? Seria ideal pra pegar ideia
http://phpsigep.stavarengo.com/?action=relatorios-pdf

Muito obrigado pela atenção!

(17)981410907 whats
[email protected]

Formato de Etiqueta

No processo de homologação enviaram o formato abaixo, que difere bastante do que fazemos hoje.

Procede? Alguém já fez? Faz sentido?

selection_001

Chancela e-Sedex sai como Sedex

Finalizei o processo de homologação com os Correios, mas eles fizeram uma ressalva:
Ao gerar etiqueta para o serviço e-Sedex a chancela que aparece é a do Sedex.

Verifiquei no método "_render" das classes PhpSigep\Pdf\CartaoDePostagem2016.php e PhpSigep\Pdf\CartaoDePostagem.php e a geração de chancela está:

case ServicoDePostagem::SERVICE_E_SEDEX_STANDARD:
    $tPosChancela = 3;
    if ($this->layoutSedex === CartaoDePostagem::TYPE_CHANCELA_SEDEX) {
        $chancela = new Sedex($lPosChancela, $tPosChancela, $nomeRemetente, Sedex::SERVICE_SEDEX, $accessData);
    } else {
        $chancela = new Sedex2016($lPosChancela, $tPosChancela, $nomeRemetente, Sedex::SERVICE_SEDEX, $accessData);
    }
    break;

acredito que nesse caso deveria ser:

case ServicoDePostagem::SERVICE_E_SEDEX_STANDARD:
    $tPosChancela = 3;
    if ($this->layoutSedex === CartaoDePostagem::TYPE_CHANCELA_SEDEX) {
        $chancela = new Sedex($lPosChancela, $tPosChancela, $nomeRemetente, Sedex::SERVICE_E_SEDEX, $accessData);
    } else {
        $chancela = new Sedex2016($lPosChancela, $tPosChancela, $nomeRemetente, Sedex::SERVICE_E_SEDEX, $accessData);
    }
    break;

Então fiz um PR para acertar isso, e também, os serviços Sedex 10, Sedex 12 e Sedex Hoje

[OFF] Diversas vagas para desenvolvedores PHP na Celebryts - Remoto ou Alocado - São Paulo

Venha trabalhar em um ou mais dos nossos projetos: engine de busca, RESTful, crawlers, etc.

Descrição da vaga

Estamos em busca de desenvolvedores FODAS para trabalhar em nossa Startup. Não importa a formação, o que importa é o talento e a vontade de fazer parte de um time para desenvolver uma plataforma super inovadora para o mercado. Estamos desenvolvendo uma plataforma completa para agências e grandes anunciantes encontrarem e contratarem influenciadores. Hoje, entre os nossos leads, estão as principais agências do Brasil, além de termos saído em grandes veículos da área, como meio&mensagem, mundo do marketing, globo news, etc.

Estamos crescendo e acabamos de levantar uma rodada de investimento para montar um time muito foda de tecnologia.

Veja mais sobre a startup: www.celebryts.com

Local

Pode ser home office ou alocado.
Nosso escritório fica no co-work da IMasters, do lado do metro Sumaré.
Como estamos no mesmo prédio da IMasters, temos acesso a todos os eventos que eles fazem sem contar o networking com as outras startup do co-work e com a galera que frequenta aqui.
Rua Oscar Freire, 2379 - Pinheiros

Benefícios

  • Vale refeição
  • Vale transporte
  • Em alguns casos, você pode entrar no modelo de stock option da empresa
  • A nosso office, é da hora!

Diferenciais

  • Você faz o seu horário
  • Máquinas de fliperama espalhados por todo o prédio \o/
  • Linux, PC ou MAC, é só escolher ou se preferir pode trazer o seu ;)
  • Todos os nossos robôs de busca tem nomes de personagens do Tolkien hahaha
  • Trabalhar no prédio da IMasters é tesão.
  • Frigobar, máquina de expresso, etc, etc, etc...

Requisitos

Obrigatórios:

  • Experiência com ZF2 e APIs RESTful:

Desejáveis:

  • Experiência com Zend Expressive.
  • Que já tenha feito projetos bacanas, queremos ver portfólio, projetos...

Contratação

CLT ou PJ (você escolhe)

Nossa empresa

O Celebryt's é uma plataforma que ajuda as empresas/agências a encontrar influenciadores (Youtubers, instagrammers, snaps...) para suas campanhas de marketing. Tudo é "self service", o cliente faz as buscas, os planos e a contratação. Nossos robôs de buscas analisam constantemente uma grande quantidade de informação de cada perfil das redes sociais mais populares para conseguir encontrar os melhores influenciadores, entregando relatórios muito mais completos do que as redes socais onde os influenciadores atuam. E o mais legal: Todas essas informações são coletadas organicamente. É um projeto muito desafiador.

Como se candidatar

Envie um email com o assunto Job PHP - phpdevbr para [email protected].

Autorizacao de Postagem

Quem ja utiliza essa lib em producao ja deve ter percebido que o Pedido nao aparece no sistema de correios pois nao tem a parte de Autorizacao de Postagem.

@stavarengo vc pretende colocar esse modulo na lib? Seria muito util.

Acredito que deva ser relativamente simples, uma vez que ja existe o model imprimirPlp com todas as infos necessarias para gerar a Autorizacao de Postagem dentro dos correios..

Novas regras para Valor Declarado

Os correios alteraram o código do serviço adicional de valor declarado. Segue o texto enviado pelos correios com as novas regras:

“Prezados colegas, boa noite.

Segunda-Feira, dia 19 de setembro de 2016, será disponibilizada a versão 1.1.22 do Sigep Web.

Contará com as seguintes correções:

  1. Correção da perda do endereço WSDL, Banco Compartilhado e do Proxy;

  2. Correção (desmembramento) da Tabela de Valor Declarado, que ficará assim:

Para os serviços PAC, de acordo com a Regra de Negócio, conforme a seguir:

è O valor declarado para os serviços 4106-8, 4107-6, 4108-4, 4109-2, 4110-6, 4120-3, 4121-1, 4122-0, 4123-8, 4124-6, 4125-4, 4126-2, 4130-0, 4145-9, 4149-1, 4153-0, 4160-2, 4166-1, 4172-6, 4173-4, 4176-9, 4161-0, 4162-9, 4139-4.

Terão como limite mínimo R$17,00 (dezessete Reais) e máximo R$3.000,00 (Três mil Reais).

Para esta regra o serviço adicional ?Valor Declarado? deverá ser identificado pelo código ?064.

Para os demais serviços o valor declarado de um objeto deverá estar compreendido entre R$17,00 (dezessete Reais) e R$ 10.000,00 (dez mil Reais).

Para esta regra o serviço adicional ?Valor Declarado? deverá ser identificado pelo código ?019.

Fatal error: Class 'FPDF'

Estamos tentando usar o sigep porém estamos obtendo erros em relação ao FPDF.

Já baixei a versão 1.7 do FPDF, porém como fazemos para configurar o carregamento automático da classe?

Obrigado.

Correios não encontra código da PLP e da Etiqueta

Olá pessoal,

Estou enfrentando um problema já tem algumas semanas, eu gero a etiqueta e posteriormente fecho a PLP porém algumas vezes a agência dos Correios aqui informa que não encontra a PLP e em outras informa que não encontra o código da etiqueta.

Alguém já passou por isso? Em nenhum dos casos o sistema apresentou erros, ele gerou normalmente o cóigo da etiqueta e o ID da Plp;

Aviso de recebimento

Olá, bom dia. Talvez não tenha procura muito bem no código, mas em que parte do sistema tenho a impressão de aviso de recebimento(AR)???

Além da etiqueta e plp, também preciso do aviso, aí sim o sistema ficaria completo aqui pra mim.

Muito obrigado!

Erro ao tentar criar a PLP em PDF.

Seguir os exemplos do projeto e escrevi o codigo abaixo:

$plp = new \PhpSigep\Model\PreListaDePostagem();
$plp->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
$plp->setEncomendas(array($encomenda));
$plp->setRemetente($remetente);

$pdf = new \PhpSigep\Pdf\ListaDePostagem($plp, time());
$pdf->render($plp);

Porem ele retorna o seguinte erro:

Warning: strtoupper() expects parameter 1 to be string, object given in /opt/lampp/htdocs/SigepIntegration/php-sigep-fpdf-master/fpdf.php on line 988
FPDF error: Some data has already been output, can't send PDF file

Vamos compartilhar nossas alterações com a comunidade do PHP Sigep

Pessoal, marquei aqui todos que já fizeram fork do nosso projeto.
Gostaria de convidar vcs a compartilhar suas alterações e melhorias com a comunidade.
Façam pull request das suas alterações. Se todos colaborarem todos vão ganhar :)
Fiquem à vontade tbm para cadastrar issues sugerindo alterações ou reportando bugs mesmo.

Aqueles que quiserem tbm podem ajudar melhorando a documentação ou a nossa página demo.

@viebig @alezubokoff @rafaelsiqueira @michelaugustoap @1carimflex @prhost @danizord @erikfig @kenowlee @hjfigueira @Hospeed @DanielFGomes @renatoaleksander @saulo-silva @sidneydeus @brunobrasilweb @chiquitto @felipemarques @ilson-nobrega @luiztelles @freesurf0 @base16soft @fcordeiro @VictorTomaz @jayveloper @raulbcs @codigosecafe @betooliveira79 @dimaspante @edenoscherer @daviddgm @leopucci @megaclic @pedro-santiago @fabiosvm @edisoncosta @febpetroni @CassianoCarraro @szagot @tiagocardosos @natansouza @skaisser @marcelofecchio @renatomorenocz @luizwbr @newpecas @jmurowaniecki @weusder @n49agencia @williangringo @michelkommers @thiagolima-bm @deivisonarthur @endel

Criação de AR (Aviso de Recebimento)

Boa tarde pessoal,

nessa API existe a criação da AR? Por que minha cliente tem essa necessidade, se caso não existir estarei criando e irei subir para ajudar a comunidade.

Att,

Impossibilidade de conectar ao ambiente de homologação.

Primeiramente gostaria de agradecer pelo projeto e dizer que vou ajudar na medida da minha possibilidade.

Estou estando uma integração conforme código abaixo, mas aos setar o env como DEVELOPMENT, recebo "Could not connect to host". Estou fazendo algo de errado? Qual a melhor forma de depurar?

Obrigado!

            $accessData = new \PhpSigep\Model\AccessData();
            $accessData->setUsuario($this->container->getParameter('sigep.usuario'));
            $accessData->setSenha($this->container->getParameter('sigep.senha'));
            $accessData->setCnpjEmpresa($this->container->getParameter('sigep.cnpjEmpresa'));

            $config = new \PhpSigep\Config();
            $config->setAccessData($accessData);
            $config->setEnv(\PhpSigep\Config::ENV_PRODUCTION);
            $config->setCacheOptions(
                array(
                    'storageOptions' => array(
                        // Qualquer valor setado neste atributo será mesclado ao atributos das classes 
                        // "\PhpSigep\Cache\Storage\Adapter\AdapterOptions" e "\PhpSigep\Cache\Storage\Adapter\FileSystemOptions".
                        // Por tanto as chaves devem ser o nome de um dos atributos dessas classes.
                        'enabled' => false,
                        'ttl' => 10,// "time to live" de 10 segundos
                        'cacheDir' => sys_get_temp_dir(), // Opcional. Quando não inforado é usado o valor retornado de "sys_get_temp_dir()"
                    ),
                )
            );

            \PhpSigep\Bootstrap::start($config);

            $params = new \PhpSigep\Model\SolicitaEtiquetas();
            $params->setQtdEtiquetas(sizeof($etiquetas));
            $params->setServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_PAC_41068);
            $params->setAccessData($accessData);

            $phpSigep = new Real();
            $response = $phpSigep->solicitaEtiquetas($params);

ENV_PRODUCTION

class PhpSigep\Services\Result#948 (6) {
  protected $isSoapFault =>
  bool(true)
  protected $errorCode =>
  int(0)
  protected $errorMsg =>
  string(53) "Resposta do Correios: A autenticacao de sigep falhou!"
  protected $result =>
  NULL
  protected $soapFault =>
  NULL
  protected $_failIfAtributeNotExiste =>
  bool(true)
}

ENV_DEVELOPMENT

class PhpSigep\Services\Result#948 (6) {
  protected $isSoapFault =>
  bool(true)
  protected $errorCode =>
  int(0)
  protected $errorMsg =>
  string(47) "Resposta do Correios: Could not connect to host"
  protected $result =>
  NULL
  protected $soapFault =>
  NULL
  protected $_failIfAtributeNotExiste =>
  bool(true)
}

Warning: include(StaLib/Logger.php)

Eae galera,
Então... Estou fazendo integração com o sigep, utilizando o Magento como framework... Fiz alguns testes com os métodos do php-sigep e notei que apenas os métodos que não fazem referência ao "StaLib" estão funcionando, qualquer outro gera o seguinte erro:
Warning: include(StaLib/Logger.php): failed to open stream: No such file or directory in /var/www/html/projeto/lib/Varien/Autoload.php on line 93
A causa pode ser alguma configuração que não estou fazendo?

Erro ao executar o projeto no xampp.

Acabei de baixar o projeto, descompactei ele na pasta htdocs do meu servidor local xampp, executei o exemplo calcPrecoPrazo.php, e ocorreu o seguinte erro:

Fatal error: Call to a member function calcPrecoPrazo() on null in /opt/lampp/htdocs/php-sigep-master/src/PhpSigep/Services/Real/CalcPrecoPrazo.php on line 111

Tenho que fazer alguma coisa antes?

BUG: Fatal error SERVICE_VALOR_DECLARADO()

Prezados estou relatando um BUG e forma de corrigí-lo.

Quando solicitamos o método fechaPlpVariosServicos() com o serviço adicional Valor Declarado dentro do objeto, está retornando o seguinte erro:

Fatal error: Call to undefined method PhpSigep\Model\ServicoAdicional::SERVICE_VALOR_DECLARADO() in /Applications/XAMPP/xamppfiles/htdocs/sigep/src/PhpSigep/Services/Real/FecharPreListaDePostagem.php on line 267

No arquivo FecharPreListaDePostagem.php linha 267 o código está assim:

                if ($servicoAdicional->getCodigoServicoAdicional() == ServicoAdicional::SERVICE_VALOR_DECLARADO()) {

Deve ser alterado para:

                if ($servicoAdicional->getCodigoServicoAdicional() == ServicoAdicional::SERVICE_VALOR_DECLARADO) {

Com esta correção o serviço adicional AR funcional perfeitamente, mas o Valor declarado continua gerando problema. Segue o array de resposta quando o serviço de valor declarado é passado para no objeto:

Array
(
    [*isSoapFault] => 1
    [*errorCode] => 0
    [*errorMsg] => Ocorreu um erro ao interpretar os dados do XML gerado pelo Cliente.
    [*result] => 
    [*soapFault] => 
    [*_failIfAtributeNotExiste] => 1
)

Problema em servidor compartilhado

Fatal error: Aborting! The New Relic imposed maximum PHP function nesting level of '500' has been reached. This limit is to prevent the PHP execution from catastrophically running out of C-stack frames. If you think this limit is too small, adjust the value of the setting newrelic.special.max_nesting_level in the newrelic.ini file, and restart php. Please file a ticket at https://support.newrelic.com if you need further assistance. in /home/warfare/www/modules/sigep/models/PhpSigep/Model/Etiqueta.php on line 65

SOAP-ERROR no buscaCliente()

Estou tentando executar o exemplo do buscaCliente()
http://127.0.0.1:8080/php-sigep/exemplos/buscaCliente.php

e estou recebendo o erro SOAP-ERROR

object(PhpSigep\Services\Result)#10 (6) {
["isSoapFault":protected]=>
bool(true)
["errorCode":protected]=>
int(0)
["errorMsg":protected]=>
string(254) "SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl' : failed to load external entity "https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl"
"
["result":protected]=>
NULL
["soapFault":protected]=>
NULL
["_failIfAtributeNotExiste":protected]=>
bool(true)
}

Sistema Validador de Postagens.

Pessoal, estou com um outro problema, estou gerando os códigos das etiquetas, minha cliente foi testar em um programa dos proprios correios, "Sistema Validador de Postagens", quando ela coloca a etiqueta ele retorna que o "Objeto postal não pertence ao SIGEPWEB", alguém saberia me dizer o motivo?

Att,

Prefixo do Código Gerado

Boa noite pessoal,

gostaria de tirar uma dúvida, minha cliente alegou que cade tipo de entrega tem um prefixo diferente, gostaria de saber se isto é verdade? Por que não consegui achar nada na documentação e se for se esse sistema já esta implementado na API.

Obrigado.

Att,

Problema no processamento da PLP na agência dos Correios

Pessoal, estou com um problema na validação da PLP na agência dos Correios. A PLP é gerada normalmente via Webservice, mas quando levo na agência para a efetivação da postagem, é exibido o erro no sistema Sara "Não é possível interpretar o conteúdo do arquivo. Verifique se o arquivo está correto".

Verifiquei todos os campos do XML, e os dados estão seguindo o padrão exigido pelo manual de integração.

Alguém já passou por esse tipo de problema ou tem ideia do que pode ser? Pois nem mesmo o pessoal dos Correios sabem dizer qual o problema.

Obrigado!

Imprimir 4 etiquetas na mesma pagina

Olá.
No exemplo do site http://phpsigep.stavarengo.com/, a impressão de etiquetas divide a página em 4, para que sejam impressas 4 etiquetas na mesma folha, porém ao baixar o projeto, os testes imprimem somente uma etiqueta por página.
Gostaria de imprimir 4 etiquetas por página....
Perdi algo? Alguem pode me dar alguma dica?

Desde já muito obrigado.
José Luís

Layout Etiquetas e Gerar Código etiqueta.

Fala pessoal beleza?

Fiz a instalação via Composer, o Layout das etiquetas está diferente do que está na versão atual. E quanto ao gerar o código da etiqueta alguém poderia me ajudar acabei não entendendo a documentação.

Impressão em impressora de etiqueta Elgin L42

Vocês já imprimiram as etiquetas nessa impressora Elgin L42 (recomendada pelos correios)? Foi tudo normal?

Eu fiz alguns testes, mas não rolou.

Os seguintes ajustes foram necessários:

  1. Mudar o formato da página - Ao invés de usar uma folha A4 divida em 4 partes, precisei informar as dimensões corretas da impressora (no caso é 102mm por 152mm).

  2. Reposicionar os elementos por conta da modificação do tamanho do papel

  3. Fazer ajustes de posicionamento na chancela do Sedex.

Sugiro criar implementações diferentes da classe Chancela de acordo a impressora/papel a ser utilizado. O que acham?

Alguém passou por algum problema desse?

Abraços!

WSDL de produção não funciona em PHP 5.3+

ola,

O meu sistema parou de funcionar sem prévios motivos, depois de vários testes constatei que o webservice de desenvolvimento funciona em todas as versões do PHP, porem o webservice em produção só funciona no PHP 5.2, no 5.3 + da um looping infinito.

Alguém está com o mesmo problema?

Problemas com rastreio de objeto

Alguém está conseguindo usar ?

Aqui nem no exemplo faz.

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 1: parser error : Space required after the Public Identifier in ***/php-sigep/src/PhpSigep/Services/Real/RastrearObjeto.php on line 117

Erro na impressão de etiqueta

Estou rodando o script de exemplo imprimirEtiquetas.php e recebendo o seguinte erro:

Warning: strtoupper() expects parameter 1 to be string, object given in /Applications/MAMP/htdocs/php-sigep/vendor/stavarengo/php-sigep-fpdf/fpdf.php on line 988
FPDF error: Some data has already been output, can't send PDF file (output started at /Applications/MAMP/htdocs/php-sigep/vendor/stavarengo/php-sigep-fpdf/fpdf.php:988)

Alguém teve o mesmo problema?

PLP sendo criada com serviço indisponível para determinados CEPs

Um cliente me disse que a PLP não consegue ser processada na agencia (apesar de ja ter sido fechada) para determinados envios e-sedex para alguns CEPs.

NA prática, alguns CEPs são incompatíveis com modalidade/destino. Ex. e-sedex para localidades que não fazem o serviço.

O problema é que a PLP é criada com sucesso, com a modalidade e destino nos servidores dos correios e somente na hora da postagem que o problema é verificado.

Alguém já passou por isso?

Alguma ideia de como resolver esse tipo de situação?

Se dá pau em 1 envio da PLP de 10 envios, por exemplo, nenhum dos outros 9 funciona também, tem que refazer a PLP inteira.

Melhoria na classe AccessData

@stavarengo cometi um erro básico quando estava setando a classe AccessData para o ambiente de produção:

$accessData = new AccessData();
$accessData->setDiretoria(Diretoria::DIRETORIA_DR_SAO_PAULO);

Ai quando tentava gerar etiqueta dava o erro:
Fatal error: Call to a member function getSigla() on a non-object in /var/www/html/vendor/stavarengo/php-sigep/src/PhpSigep/Pdf/Chancela/Sedex2016.php on line 94

Dá para resolver isso fazendo:

public function setDiretoria(\PhpSigep\Model\Diretoria $diretoria)

Posso fazer um PR, a não ser que haja alguma objeção

Meu primeiro codigo não funciona

Baixei o projeto php-sigep-master aqui no github, descompactei o projeto dentro da pasta '/opt/lampp/htdocs/SigepIntegration' no no servidor local 'xampp' e escrevi a seguinte classe:

setAccessData($accessDataParaAmbienteDeHomologacao); /* $config->setEnv(\PhpSigep\Config::ENV_PRODUCTION); */ $config->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT); /* $config->setWsdlAtendeCliente('AtendeCliente'); */ $config->setCacheOptions( array( 'storageOptions' => array( 'enabled' => false, 'ttl' => 10, 'cacheDir' => sys_get_temp_dir(), ), ) ); \PhpSigep\Bootstrap::start($config); } public function calcPrecoPrazo($sCepOrigem, $sCepDestino, $nVlPeso, $nVlAltura, $nVlComprimento, $nVlLargura) { $dimensao = new \PhpSigep\Model\Dimensao(); $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA); $dimensao->setAltura($nVlAltura); $dimensao->setComprimento($nVlComprimento); $dimensao->setLargura($nVlLargura); $params = new \PhpSigep\Model\CalcPrecoPrazo(); $params->setAccessData(new \PhpSigep\Model\AccessDataHomologacao()); $params->setCepOrigem($sCepOrigem); $params->setCepDestino($sCepDestino); $params->setServicosPostagem(\PhpSigep\Model\ServicoDePostagem::getAll()); $params->setAjustarDimensaoMinima(true); $params->setDimensao($dimensao); $params->setPeso($nVlPeso); $phpSigep = new PhpSigep\Services\SoapClient\Real(); $result = $phpSigep->calcPrecoPrazo($params); var_dump((array)$result); } } depois testei ela com o seguinte arquivo: calcPrecoPrazo($sCepOrigem, $sCepDestino, $nVlPeso, $nVlAltura, $nVlComprimento, $nVlLargura); ?>

dei start no xampp abrir a url 'http://localhost/SigepIntegration/CalcPrecosPrazos.php' e apareceu o seguinte erro:

Fatal error: Call to a member function calcPrecoPrazo() on null in /opt/lampp/htdocs/SigepIntegration/php-sigep-master/src/PhpSigep/Services/Real/CalcPrecoPrazo.php on line 111

executei também o exemplo 'http://localhost/php-sigep-master/exemplos/calcPrecoPrazo.php', e deu o mesmo erro.

Tenho que fazer alguma coisa antes? Me ajudem nessa.

Armazenar PDFs gerados no servidor

Pessoal,
Estou com uma PR pronta para flexibilizar a forma como os PDFs são gerados. Em vez de sempre mostrar o PDF no navegador, se passarmos um parâmetro com o nome do arquivo, o PDF é salvo no servidor.
Não quebra nada (quem não quiser salvar é só não passar nenhum parâmetro para o método render).

Minha dúvida é em relação ao stream_wrapper_register

Para poder gerar 2 PDFs na mesma requisição parece que tem que chamar stream_wrapper_unregister antes de iniciar o segundo PDF.

Isso pode ser feito logo depois de chamar o método render, mas acho que não é "competência" desse trecho de código chamar o unregister.

Já que o register é chamado no construct da classe ImprovedFPDF , eu acho que o ideal seria chamar o unregister ali.

A minha ideia era sobrescrever o método Output do FPDF da sequinte forma:

  function Output($name='', $dest='')
    {
        $result = parent::Output($name,$dest);
        stream_wrapper_unregister("var");//isso permite que seja gerado dois PDFs na mesma requisição, útil se você quiser gerar a PLP e as etiquetas de uma só vez.
        return $result;
    }

O problema disso é que o método output não está definido no parent do ImprovedFPDF mas sim no "avô" dele.
Para isso funcionar eu teria que criar uma outra pull request no PhpSigepFPDF , o que implicaria que isso só funcionaria para quem atualizasse os dois pacotes.

O que é melhor:

  • chamar stream_wrapper_unregister fora da classe ImprovedFPDF
  • criar uma pull request em cada pacote

Só quero deixar claro que, independente da opção, nada vai mudar para quem não quer usar essa funcionalidade.

abraços!

Problema com input de solicitação de postagem reversa

Boa tarde, tenho um problema com a implementação do método solicitarPostagemReversa. Tenho como retorno:

DADOS DE VALIDAÇÃO DA COLETA INCOMPLETOS . ( coletas_solicitadas.coleta.remetente ) Obrigatório.

Não resolve estruturar o $soapArgs como manda a documentação dos correios ou colocar o remetente dentro de uma array "coleta" por sua vez dentro de "coletas_solicitadas".

Sinto que é um problema mais com a documentação do que com o código em si. Alguém sabe como resolver esse problema?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.