/php-sigep

Integração com Web Service do Correios. Veja o demo online. Consulta preços e prazos, imprime etiquetas e PLP, etc.

Primary LanguagePHPMIT LicenseMIT

###Ajude o projeto a crescer. Envie pull request de suas alterações no código fonte ou na documentação do projeto.

PHP SIGEP - Correios

Implementação do Web Service dos correios SIGEP Web.

Integração com Web Service do Correios. Consulta preços e prazos, imprime etiquetas e PLP, etc. Esta API pode:

  • Calcular preços e prazos de entrega da encomenda.
  • Obter os dados de rastreamento das encomendas.
  • Verificar se um tipo de serviço (Sedex, PAC, ...) é permitido entre dois endereços.
  • Gerar e enviar o XML da pre-lista de postagem (PLP) para o Correios.
  • Gerar novos números de etiquetas de postagem.
  • Criar e/ou verificar validade do dígito verificador das etiquetas (através do web service ou não).
  • Gerar o relatório da PLP no formato PDF.
  • Gerar as etiquetas de postagem no formato PDF.
  • Gerar em PDF as chancelas para cada tipo de serviço (logo de cada tipo de servico).

Requisitos

  • PHP >= 5.1.0
  • Se você precisar imprimir as etiquetas e relatórios, baixe também o FPDF 1.7 www.fpdf.org.
    Não esqueça de configurar o FPDF para ser auto carregado antes de tentar imprimir os relatórios.

Instalação com Composer (recomendado)

  • Nós não controlamos versão através das tags, porem, a branch master só é atualizada quando o código está estável. Portanto, a versão estável mais atual sempre será a branch master.

Adicione as seguintes linha ao seu arquivo composer.json: "stavarengo/php-sigep": "dev-master"
"stavarengo/php-sigep-fpdf": "dev-master"

E então execute composer update via linha de comando.

Instalação manual

  • Nós não controlamos versão através das tags, porem, a branch master só é atualizada quando o código está estável. Portanto, a versão estável mais atual sempre será a branch master.

  • Faça o download da última versão.

  • Para usar as classe do php-sigep, você só precisa carregar o arquivo "php-sigep/src/PhpSigep/Bootstrap.php". Isso fara com que o loader seja registrado.

Funções

Cache

O componente de cache do PhpSigep foi inspirado no componente de cache do Zend Framework.

Por padrão o cache do PhpSigep está desabilitado.
Este cache armazena algumas respostadas do WebService dos correios que podem ser reutilizadas posteriomente. Alem de aumentar a velocidade de respostas das requisições, também evitamos que os usuários fiquem impedidos de continuar mesmo quando o servidor do Correios esteja instavel (acredite: ele fica instável com muita frequencia).

Para habilitar o cache, use a chave "cacheOptions" ao criar a configuração do PhpSigep. Ex: php new \PhpSigep\Config( array( 'cacheOptions' => array( 'storageOptions' => array( 'enabled' => true, 'ttl' => 60*60*24*7,// Uma semana ), ), ... ), ); Dentro do array storageOptions você pode usar o nome de qualquer atributo da classe PhpSigep\Cache\Storage\Adapter\AdapterOptions.

Contribua

Para executar a testsuite, execute ./vendor/bin/phpunit via linha de comando.

  1. Faça um fork
  2. Crie sua branch para a funcionalidade (git checkout -b nova-funcionalidade)
  3. Faça o commit suas modificações (git commit -am 'Adiciona nova funcionalidade')
  4. Faça o push para a branch (git push origin nova-funcionalidade)
  5. Crie um novo Pull Request