├── .github
├── stale.yml
└── workflows
│ └── ci.yml
├── .gitignore
├── LICENSE.txt
├── README.md
├── composer.json
├── composer.lock
├── exemplos
├── bootstrap-exemplos.php
├── buscaCliente.php
├── calcPrecoPrazo.php
├── clique-retire.php
├── consultaCep.php
├── consultaColeta.php
├── fechaPlpVariosServicos.php
├── geraChancelas.php
├── geraDigitoVerificadorEtiquetas.php
├── helper-criar-pre-lista-a4.php
├── helper-criar-pre-lista.php
├── imprimirAvisoRecebimento.php
├── imprimirEtiquetas.php
├── imprimirEtiquetas2016.php
├── imprimirEtiquetas2018.php
├── imprimirEtiquetasA4.php
├── imprimirPlp.php
├── listar-agencias-clique-retire.php
├── logo-etiqueta-2016.png
├── logo-etiqueta.png
├── pedido-informacao.php
├── rastreamentoDeObjetos.php
├── solicitarEtiquetas.php
├── solicitarPostagemReversa.php
└── verificaDisponibilidadeServico.php
├── manual
├── 06-08-2019-ID_CORREIOS
│ ├── 1 Cliente - Cadastrar usuario Pessoa Juridica.pdf
│ ├── 2 Cliente - Cadastrar senha em componente.pdf
│ └── 3 Cliente - Conceder_permissao_a_pessoa_fisica.pdf
├── 06-08-2019-Manual_de_Implementacao_do_Web_Service_Logistica_Reversa.pdf
├── 2016-05-Manual_de _Implementacao_do_Web_Service_LR.pdf
├── 2016-06-17-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce_v_1.9.pdf
├── 2017-05-02-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce.pdf
├── 2017-10-05-Manual_de_Implementacao_do_Calculo_Remoto_de_Precos_e_Prazos_versao_2.0.pdf
├── 2018-04-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
├── 2018-04-24-Termo de Condicoes de Prestacao de Servicos de Encomendas Nacionais.pdf
├── 2018-06-20-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
├── 2018-10-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
├── 2020-08-28-Documentação_API_WS_Fale_Conosco_Captação_Registro_Manifestação.pdf
├── Docs Apoio.zip
├── Rastreamento-de-Objetos-SROXML_28fev14.pdf
├── SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf
├── v1-Manual de Implementacao do Web Service SIGEPWEB e Logistica Reversa.pdf
├── v2-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf
└── v3-2014-10-08-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf
├── phpstan-baseline.neon
├── phpstan.neon
├── phpunit.xml
├── src
└── PhpSigep
│ ├── Bootstrap.php
│ ├── BootstrapException.php
│ ├── Cache
│ ├── Factory.php
│ ├── InvalidArgumentException.php
│ ├── Options.php
│ ├── Storage
│ │ └── Adapter
│ │ │ ├── AbstractAdapter.php
│ │ │ ├── AdapterOptions.php
│ │ │ ├── Exception
│ │ │ ├── InvalidArgumentException.php
│ │ │ └── RuntimeException.php
│ │ │ ├── FileSystem.php
│ │ │ └── FileSystemOptions.php
│ └── StorageInterface.php
│ ├── Config.php
│ ├── DefaultStdClass.php
│ ├── ErrorHandler.php
│ ├── Exception.php
│ ├── FactoryInterface.php
│ ├── InvalidArgument.php
│ ├── Loader.php
│ ├── Model
│ ├── AbstractModel.php
│ ├── AccessData.php
│ ├── AccessDataHomologacao.php
│ ├── AccessDataHomologacaoReversa.php
│ ├── BloquearObjetoResposta.php
│ ├── BuscaClienteResult.php
│ ├── CalcPrecoPrazo.php
│ ├── CalcPrecoPrazoResposta.php
│ ├── CalcPrecoPrazoRespostaIterator.php
│ ├── CancelarObjetoResposta.php
│ ├── ColetasSolicitadas.php
│ ├── ConsultaCepResposta.php
│ ├── ConsultarAgenciaResult.php
│ ├── ConsultarColeta.php
│ ├── ConsultarColetaRetorno.php
│ ├── Destinatario.php
│ ├── Destino.php
│ ├── DestinoInternacional.php
│ ├── DestinoNacional.php
│ ├── Dimensao.php
│ ├── Diretoria.php
│ ├── Etiqueta.php
│ ├── Exception.php
│ ├── FechaPlpVariosServicosRetorno.php
│ ├── GeraDigitoVerificadorEtiquetas.php
│ ├── ListarAgenciasCliqueRetireResult.php
│ ├── LogisticaReversa.php
│ ├── LogisticaReversaColeta.php
│ ├── LogisticaReversaDestinatario.php
│ ├── LogisticaReversaObjeto.php
│ ├── LogisticaReversaPedido.php
│ ├── LogisticaReversaPedidoResposta.php
│ ├── LogisticaReversaProduto.php
│ ├── LogisticaReversaRemetente.php
│ ├── ObjCol.php
│ ├── ObjetoPostal.php
│ ├── PedidoInformacao.php
│ ├── PedidoInformacaoResponse.php
│ ├── PreListaDePostagem.php
│ ├── Proxy.php
│ ├── RastrearObjeto.php
│ ├── RastrearObjetoEvento.php
│ ├── RastrearObjetoResultado.php
│ ├── Remetente.php
│ ├── ServicoAdicional.php
│ ├── ServicoDePostagem.php
│ ├── SolicitaEtiquetas.php
│ ├── SolicitaXmlPlpResult.php
│ ├── SolicitarPostagemReversa.php
│ ├── SolicitarPostagemReversaRetorno.php
│ ├── VerificaDisponibilidadeServico.php
│ ├── VerificaDisponibilidadeServicoResposta.php
│ └── VerificarStatusCartaoPostagemResposta.php
│ ├── Pdf
│ ├── AvisoRecebimento.php
│ ├── CartaoDePostagem.php
│ ├── CartaoDePostagem2016.php
│ ├── CartaoDePostagem2018.php
│ ├── Chancela
│ │ ├── AbstractChancela.php
│ │ ├── Carta.php
│ │ ├── Carta2016.php
│ │ ├── Pac.php
│ │ ├── Pac2016.php
│ │ ├── Pac2018.php
│ │ ├── Sedex.php
│ │ └── Sedex2016.php
│ ├── Exception
│ │ └── InvalidChancelaEntry.php
│ ├── ImprovedFPDF.php
│ ├── InvalidArgument.php
│ ├── ListaDePostagem.php
│ ├── Script
│ │ ├── BarCode128.php
│ │ ├── CircularText.php
│ │ ├── Elipse.php
│ │ └── Transform.php
│ ├── Semacode.php
│ ├── correios-logo.png
│ ├── logo-correios.png
│ ├── sema.php
│ ├── simbolo-sedex-expresso.png
│ ├── simbolo-sedex-standard.png
│ └── simbolo-sem-especificacao.png
│ ├── Services
│ ├── Exception.php
│ ├── InvalidArgument.php
│ ├── Real
│ │ ├── BloquearObjeto.php
│ │ ├── BuscaCliente.php
│ │ ├── CadastrarPI.php
│ │ ├── CalcPrecoPrazo.php
│ │ ├── CancelarObjeto.php
│ │ ├── ConsultaCep.php
│ │ ├── ConsultarAgencia.php
│ │ ├── ConsultarColeta.php
│ │ ├── Exception
│ │ │ ├── AgenciaWS
│ │ │ │ ├── FailedConvertToArrayException.php
│ │ │ │ ├── FailedConvertXmlException.php
│ │ │ │ └── FailedResultException.php
│ │ │ ├── RastrearObjeto
│ │ │ │ ├── RastrearObjetoException.php
│ │ │ │ ├── TipoInvalidoException.php
│ │ │ │ └── TipoResultadoInvalidoException.php
│ │ │ ├── SoapExtensionNotInstalled.php
│ │ │ └── SolicitaXmlPlp
│ │ │ │ ├── FailedConvertToArrayException.php
│ │ │ │ ├── FailedConvertXmlException.php
│ │ │ │ └── FailedResultException.php
│ │ ├── FecharPreListaDePostagem.php
│ │ ├── GeraDigitoVerificadorEtiquetas.php
│ │ ├── ListarAgenciasCliqueRetire.php
│ │ ├── LogisticaReversaAcompanharPedidoData.php
│ │ ├── LogisticaReversaAcompanharPedidoNumero.php
│ │ ├── LogisticaReversaCancelarPedido.php
│ │ ├── LogisticaReversaCriarPedido.php
│ │ ├── PreListaDePostagem
│ │ │ └── GerarXmlPreListaDePostagem.php
│ │ ├── RastrearObjeto.php
│ │ ├── RastrearObjetoLista.php
│ │ ├── RealServiceInterface.php
│ │ ├── SoapClientFactory.php
│ │ ├── SolicitaEtiquetas.php
│ │ ├── SolicitaXmlPlp.php
│ │ ├── SolicitarPostagemReversa.php
│ │ ├── VerificaDisponibilidadeServico.php
│ │ └── VerificarStatusCartaoPostagem.php
│ ├── Result.php
│ ├── ResultRowset.php
│ ├── ServiceInterface.php
│ └── SoapClient
│ │ ├── Exception.php
│ │ ├── Real.php
│ │ └── Simulador.php
│ ├── Sigep.php
│ └── Support
│ └── xsd
│ └── plp_schema.xsd
└── tests
├── BootstrapTrait.php
├── Builders
└── PreListaDePostagemBuilder.php
├── Fakes
└── SoapClientFake.php
├── PhpSigep
├── Pdf
│ └── ImprovedFPDFTest.php
└── Services
│ └── Real
│ ├── BuscaClienteTest.php
│ ├── FecharPreListaDePostagemTest.php
│ ├── PreListaDePostagem
│ └── GerarXmlPreListaDePostagemTest.php
│ └── SoapClientFactoryTest.php
├── Services
├── DigitoVerificadorTest.php
└── SolicitaEtiquetasTest.php
├── Xml
└── Util.php
└── resources
└── xml
└── modelo_plp1-utf8.xml
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Configuration for probot-stale - https://github.com/probot/stale
2 |
3 | # Number of days of inactivity before an Issue or Pull Request becomes stale
4 | daysUntilStale: 30
5 |
6 | # Number of days of inactivity before a stale Issue or Pull Request is closed.
7 | # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
8 | daysUntilClose: 5
9 |
10 | # Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
11 | exemptLabels:
12 | - "contributions: claimed"
13 | - "contributions: up for grabs!"
14 | - "good first issue"
15 | - "issue: announcement"
16 | - "issue: bug"
17 | - "issue: proposal"
18 | - "tag: bug fix"
19 | - "tag: needs investigation"
20 |
21 | # Set to true to ignore issues in a project (defaults to false)
22 | #exemptProjects: true
23 |
24 | # Set to true to ignore issues in a milestone (defaults to false)
25 | #exemptMilestones: true
26 |
27 | # Label to use when marking as stale
28 | staleLabel: stale
29 |
30 | # Limit the number of actions per hour, from 1-30. Default is 30
31 | limitPerRun: 30
32 |
33 | issues:
34 | # Comment to post when marking Issues as stale.
35 | markComment: >
36 | This issue has been automatically marked as stale because it has not had any
37 | recent activity. It will be closed in 5 days if no further activity occurs.
38 | # Comment to post when closing a stale Issue.
39 | closeComment: >
40 | This issue has been automatically closed because it has not had any recent
41 | activity. If you have a question or comment, please open a new issue.
42 | pulls:
43 | # Comment to post when marking Pull Request as stale.
44 | markComment: >
45 | This pull request has been automatically marked as stale because it has not
46 | had any recent activity. It will be closed in 5 days if no further activity
47 | occurs.
48 | # Comment to post when closing a stale Pull Request.
49 | closeComment: >
50 | This pull request has been automatically closed because it has not had any
51 | recent activity. If you have a question or comment, please open a new
52 | issue. Thank you for your contribution!
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | on:
3 | push:
4 | branches:
5 | - master
6 |
7 | pull_request:
8 | branches:
9 | - master
10 |
11 | jobs:
12 | analises_estaticas:
13 | name: Análises Estáticas
14 | runs-on: ubuntu-latest
15 | strategy:
16 | matrix:
17 | php-version: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2']
18 | fail-fast: false
19 |
20 | steps:
21 | - name: Setando PHP com soap e mbstring
22 | uses: shivammathur/setup-php@v2
23 | with:
24 | php-version: ${{ matrix.php-version }}
25 | extensions: mbstring, soap
26 |
27 | - name: checkout
28 | uses: actions/checkout@v2
29 |
30 | - name: Instalando dependências PHP 7.2
31 | if: matrix.php-version == '7.2'
32 | run: |
33 | composer require 'phpunit/phpunit:^7.0' -W --dev
34 | composer install --no-progress -o --no-ansi --no-interaction
35 |
36 | - name: Instalando dependências
37 | if: matrix.php-version != '7.2'
38 | run: |
39 | composer require 'phpunit/phpunit:^8.0' -W --dev
40 | composer install --no-progress -o --no-ansi --no-interaction
41 |
42 | - name: PHPStan
43 | run: |
44 | composer stan
45 |
46 | - name: PHPUnit
47 | run: |
48 | composer test
49 |
50 |
51 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | tmp/
2 | vendor/
3 | /.idea
4 | /nbproject/private/
5 | nbproject/
6 | composer.phar
7 | .buildpath
8 | .project
9 | .settings/
10 | .phpunit.result.cache
11 | .DS_Store
12 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013 Rafael Stavarengo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "stavarengo/php-sigep",
3 | "type": "library",
4 | "description": "Integração com Web Service do Correios. Gera etiquetas, consulta preços e prazos, imprime etiquetas e PLP, etc.",
5 | "keywords": ["correios", "sigep"],
6 | "minimum-stability": "stable",
7 | "prefer-stable": true,
8 | "config": {
9 | "sort-packages": true
10 | },
11 | "extra": {
12 | "branch-alias": {
13 | "dev-master": "1.0-dev",
14 | "dev-develop": "1.1-dev"
15 | }
16 | },
17 | "require": {
18 | "php": ">=7.2",
19 | "ext-soap": "*",
20 | "ext-mbstring": "*",
21 | "stavarengo/php-sigep-fpdf": "dev-master",
22 | "vria/nodiacritic": "^0.1.2"
23 | },
24 | "require-dev": {
25 | "phpstan/phpstan": "^1.0",
26 | "phpunit/phpunit": "^8.0"
27 | },
28 | "autoload": {
29 | "psr-0": {
30 | "PhpSigep": "src/"
31 | }
32 | },
33 | "autoload-dev": {
34 | "psr-4": {
35 | "PhpSigep\\Test\\": "tests/"
36 | }
37 | },
38 | "scripts": {
39 | "test": "./vendor/bin/phpunit --verbose --colors=always",
40 | "stan": "./vendor/bin/phpstan analyse src tests exemplos"
41 | },
42 | "license": "MIT",
43 | "authors": [
44 | {
45 | "name": "Rafael Stavarengo",
46 | "email": "faelsta@gmail.com"
47 | }
48 | ]
49 | }
50 |
--------------------------------------------------------------------------------
/exemplos/bootstrap-exemplos.php:
--------------------------------------------------------------------------------
1 | setAccessData($accessDataParaAmbienteDeHomologacao);
33 | $config->setEnv(\PhpSigep\Config::ENV_PRODUCTION);
34 | $config->setCacheOptions(
35 | array(
36 | 'storageOptions' => array(
37 | // Qualquer valor setado neste atributo será mesclado ao atributos das classes
38 | // "\PhpSigep\Cache\Storage\Adapter\AdapterOptions" e "\PhpSigep\Cache\Storage\Adapter\FileSystemOptions".
39 | // Por tanto as chaves devem ser o nome de um dos atributos dessas classes.
40 | 'enabled' => false,
41 | 'ttl' => 10,// "time to live" de 10 segundos
42 | 'cacheDir' => sys_get_temp_dir(), // Opcional. Quando não inforado é usado o valor retornado de "sys_get_temp_dir()"
43 | ),
44 | )
45 | );
46 |
47 | \PhpSigep\Bootstrap::start($config);
--------------------------------------------------------------------------------
/exemplos/buscaCliente.php:
--------------------------------------------------------------------------------
1 | buscaCliente($accessData);
8 |
9 | if (!$result->hasError()) {
10 | /** @var $buscaClienteResult \PhpSigep\Model\BuscaClienteResult */
11 | $buscaClienteResult = $result->getResult();
12 |
13 | // Anula as chancelas antes de imprimir o resultado, porque as chancelas não estão é liguagem humana
14 | $servicos = $buscaClienteResult->getContratos()->cartoesPostagem->servicos;
15 | foreach ($servicos as &$servico) {
16 | $servico->servicoSigep->chancela->chancela = 'Chancelas anulada via código.';
17 | }
18 | }
19 |
20 | echo '
';
21 | var_dump($result);
22 | echo '
';
23 |
--------------------------------------------------------------------------------
/exemplos/calcPrecoPrazo.php:
--------------------------------------------------------------------------------
1 | setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA);
7 | $dimensao->setAltura(15); // em centímetros
8 | $dimensao->setComprimento(17); // em centímetros
9 | $dimensao->setLargura(12); // em centímetros
10 |
11 | $params = new \PhpSigep\Model\CalcPrecoPrazo();
12 | $params->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
13 | $params->setCepOrigem('30170-010');
14 | $params->setCepDestino('04538-132');
15 | $params->setServicosPostagem(\PhpSigep\Model\ServicoDePostagem::getAll());
16 | $params->setAjustarDimensaoMinima(true);
17 | $params->setDimensao($dimensao);
18 | $params->setPeso(0.150);// 150 gramas
19 |
20 |
21 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
22 | $result = $phpSigep->calcPrecoPrazo($params);
23 |
24 | var_dump((array)$result);
--------------------------------------------------------------------------------
/exemplos/clique-retire.php:
--------------------------------------------------------------------------------
1 | setAccessData($accessData);
8 |
9 | \PhpSigep\Bootstrap::start($config);
10 |
11 | $preListaDePostagem = new \PhpSigep\Model\PreListaDePostagem();
12 | $preListaDePostagem->setAccessData($accessData);
13 |
14 | $dimensao_por_cubagem = 1000 ** (1/3);
15 | $dimensao = new \PhpSigep\Model\Dimensao();
16 | $dimensao->setAltura($dimensao_por_cubagem);
17 | $dimensao->setLargura($dimensao_por_cubagem);
18 | $dimensao->setComprimento($dimensao_por_cubagem);
19 | $dimensao->setDiametro(0);
20 | $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA);
21 |
22 | // *** DADOS DO REMETENTE *** //
23 | $remetente = new \PhpSigep\Model\Remetente();
24 | $remetente->setNome('Google São Paulo');
25 | $remetente->setLogradouro('Av. Brigadeiro Faria Lima');
26 | $remetente->setNumero('3900');
27 | $remetente->setComplemento('5º andar');
28 | $remetente->setBairro('Itaim');
29 | $remetente->setCep('04538-132');
30 | $remetente->setUf('SP');
31 | $remetente->setCidade('São Paulo');
32 | // *** FIM DOS DADOS DO REMETENTE *** //
33 |
34 | $destinatario = new \PhpSigep\Model\Destinatario();
35 | $destinatario->setNome('Google Belo Horizonte');
36 | $destinatario->setLogradouro('Av. Bias Fortes');
37 | $destinatario->setNumero('382');
38 | $destinatario->setComplemento('6º andar');
39 | $destinatario->setIsCliqueRetire(true);
40 |
41 | $destino = new \PhpSigep\Model\DestinoNacional();
42 | $destino->setAgencia('Agencia BH');
43 | $destino->setBairro('Lourdes');
44 | $destino->setCep('30170-010');
45 | $destino->setCidade('Belo Horizonte');
46 | $destino->setUf('MG');
47 |
48 | $servicoAdicional = new \PhpSigep\Model\ServicoAdicional();
49 | $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO);
50 | // Se não tiver valor declarado informar 0 (zero)
51 | $servicoAdicional->setValorDeclarado(250);
52 |
53 | $etiqueta = new \PhpSigep\Model\Etiqueta();
54 | $etiqueta->setEtiquetaComDv('EC373812299BR');
55 |
56 | $encomenda = new \PhpSigep\Model\ObjetoPostal();
57 | $encomenda->setServicosAdicionais(array($servicoAdicional));
58 | $encomenda->setDestinatario($destinatario);
59 | $encomenda->setDestino($destino);
60 | $encomenda->setDimensao($dimensao);
61 | $encomenda->setEtiqueta($etiqueta);
62 | $encomenda->setPeso(1.2);
63 | $encomenda->setServicoDePostagem(new \PhpSigep\Model\ServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_PAC_CONTRATO_AGENCIA));
64 |
65 | $preListaDePostagem->setEncomendas(array($encomenda));
66 | $preListaDePostagem->setRemetente($remetente);
67 |
68 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
69 |
70 | $idPlp = 0;
71 | try {
72 | $result = $phpSigep->fechaPlpVariosServicos($preListaDePostagem);
73 | if (!$result->hasError()) {
74 | $idPlp = $result->getResult()->getIdPlp();
75 | } else {
76 | var_dump($result->getErrorMsg());
77 | }
78 | } catch (\Exception $ex) {
79 | var_dump($ex->getMessage());
80 | }
81 |
82 | if ($idPlp) {
83 | $pdf = new \PhpSigep\Pdf\CartaoDePostagem2016($preListaDePostagem, $idPlp, false);
84 | header('Content-Type: application/pdf');
85 | header('Content-Disposition: inline; filename="doc.pdf"');
86 | header('Cache-Control: private, max-age=0, must-revalidate');
87 | header('Pragma: public');
88 | echo $pdf->render();
89 | }
--------------------------------------------------------------------------------
/exemplos/consultaCep.php:
--------------------------------------------------------------------------------
1 | consultaCep($cep);
9 |
10 | var_dump((array)$result);
11 | $dumpResult = ob_get_clean();
12 | ?>
13 |
14 |
15 |
16 |
17 | Exemplo Consulta CEP - PHP Sigep
18 |
19 |
20 |
21 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/exemplos/consultaColeta.php:
--------------------------------------------------------------------------------
1 | setAccessData($accessDataParaAmbienteDeHomologacao);
28 | $config->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT);
29 | $config->setCacheOptions(
30 | array(
31 | 'storageOptions' => array(
32 | 'enabled' => false,
33 | 'ttl' => 10, // "time to live" de 10 segundos
34 | 'cacheDir' => sys_get_temp_dir(), // Opcional. Quando não inforado é usado o valor retornado de "sys_get_temp_dir()"
35 | ),
36 | )
37 |
38 | );
39 |
40 | \PhpSigep\Bootstrap::start($config);
41 |
42 |
43 | $coleta = new \PhpSigep\Model\ConsultarColeta(array(
44 | 'tipoBusca' => \PhpSigep\Model\ConsultarColeta::TIPO_BUSCA_TODOS, //
45 | 'tipoSolicitacao' => \PhpSigep\Model\ConsultarColeta::TIPO_SOLICITACAO_AUTORIZACAO,
46 | 'accessData' => new \PhpSigep\Model\AccessDataHomologacaoReversa(),
47 | 'numeroPedido' => '108516858'
48 | ));
49 | $phpSigep = new \PhpSigep\Services\SoapClient\Real();
50 | $result = $phpSigep->consultaColeta($coleta);
51 |
52 | ?>
53 |
54 |
57 |
--------------------------------------------------------------------------------
/exemplos/fechaPlpVariosServicos.php:
--------------------------------------------------------------------------------
1 | fechaPlpVariosServicos($params);
8 |
9 | echo '';
10 | print_r((array)$result);
11 | echo '
';
12 |
--------------------------------------------------------------------------------
/exemplos/geraChancelas.php:
--------------------------------------------------------------------------------
1 | SetFont('Arial', '', 10);
6 | $pdf->AddPage();
7 |
8 | $accessData = new \PhpSigep\Model\AccessDataHomologacao();
9 |
10 | $carta = new \PhpSigep\Pdf\Chancela\Carta2016(5, 5, 'Layout 2016', $accessData);
11 | $carta->draw($pdf);
12 |
13 | $carta = new \PhpSigep\Pdf\Chancela\Carta(50, 5, 'Layout Antigo', $accessData);
14 | $carta->draw($pdf);
15 |
16 | $sedex = new \PhpSigep\Pdf\Chancela\Sedex2016(5, 50, 'Layout 2016', 2, $accessData);
17 | $sedex->draw($pdf);
18 |
19 | $sedex = new \PhpSigep\Pdf\Chancela\Sedex(50, 50, 'Layout antigo', 2, $accessData);
20 | $sedex->draw($pdf);
21 |
22 | $pac = new \PhpSigep\Pdf\Chancela\Pac2016(5, 100, 'Layout 2016', $accessData);
23 | $pac->draw($pdf);
24 |
25 | $pac = new \PhpSigep\Pdf\Chancela\Pac(50, 100, 'Layout antigo', $accessData);
26 | $pac->draw($pdf);
27 |
28 | $pdf->Output();
29 |
--------------------------------------------------------------------------------
/exemplos/geraDigitoVerificadorEtiquetas.php:
--------------------------------------------------------------------------------
1 | setEtiquetaSemDv('SW99266328BR');
14 |
15 | $etiquetaSemDv_2 = new \PhpSigep\Model\Etiqueta();
16 | $etiquetaSemDv_2->setEtiquetaSemDv('PD73958096BR');
17 |
18 |
19 | $params = new \PhpSigep\Model\GeraDigitoVerificadorEtiquetas();
20 | $params->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
21 | $params->setEtiquetas(array($etiquetaSemDv_1, $etiquetaSemDv_2));
22 |
23 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
24 | $result = $phpSigep->geraDigitoVerificadorEtiquetas($params);
25 |
26 | /** @var $etiquetasComDv \PhpSigep\Model\Etiqueta[] */
27 | $etiquetasComDv = $result->getResult();
28 | foreach ($etiquetasComDv as $etiqueta) {
29 | echo 'Etiqueta ' . $etiqueta->getEtiquetaSemDv() . ' -> DV: ' . $etiqueta->getDv() . ' -> ' .
30 | ' Etiqueta já com DV: ' . $etiqueta->getEtiquetaComDv() . '
';
31 | }
32 |
33 | echo '
';
34 | echo 'Resultado completo';
35 | echo '';
36 | print_r((array)$result);
37 | echo '
';
38 |
--------------------------------------------------------------------------------
/exemplos/helper-criar-pre-lista-a4.php:
--------------------------------------------------------------------------------
1 | setAltura(20);
13 | $dimensao->setLargura(20);
14 | $dimensao->setComprimento(20);
15 | $dimensao->setDiametro(0);
16 | $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA);
17 |
18 | $destinatario = new \PhpSigep\Model\Destinatario();
19 | $destinatario->setNome('Google Belo Horizonte');
20 | $destinatario->setLogradouro('Av. Bias Fortes');
21 | $destinatario->setNumero('382');
22 | $destinatario->setComplemento('6º andar');
23 |
24 | $destino = new \PhpSigep\Model\DestinoNacional();
25 | $destino->setBairro('Lourdes');
26 | $destino->setCep('30170-010');
27 | $destino->setCidade('Belo Horizonte');
28 | $destino->setUf('MG');
29 | $destino->setNumeroNotaFiscal(1234567890);
30 | $destino->setNumeroPedido(1234567890);
31 |
32 | // Estamos criando uma etique falsa, mas em um ambiente real voçê deve usar o método
33 | // {@link \PhpSigep\Services\SoapClient\Real::solicitaEtiquetas() } para gerar o número das etiquetas
34 | $etiqueta = new \PhpSigep\Model\Etiqueta();
35 | $etiqueta->setEtiquetaSemDv('PD73958096BR');
36 |
37 | $servicoAdicional = new \PhpSigep\Model\ServicoAdicional();
38 | $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO);
39 | // Se não tiver valor declarado informar 0 (zero)
40 | $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_AVISO_DE_RECEBIMENTO);
41 |
42 | $servicoAdicional2 = new \PhpSigep\Model\ServicoAdicional();
43 | $servicoAdicional2->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO);
44 | $servicoAdicional2->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_VALOR_DECLARADO_PAC);
45 | $servicoAdicional2->setValorDeclarado(100);
46 |
47 | $encomenda = new \PhpSigep\Model\ObjetoPostal();
48 | $encomenda->setServicosAdicionais(array($servicoAdicional, $servicoAdicional2));
49 | $encomenda->setDestinatario($destinatario);
50 | $encomenda->setDestino($destino);
51 | $encomenda->setDimensao($dimensao);
52 | $encomenda->setEtiqueta($etiqueta);
53 | $encomenda->setPeso(0.500);// 500 gramas
54 | $encomenda->setObservacao('Lorem ipsum dolor sit amet.');
55 | $encomenda->setServicoDePostagem(new \PhpSigep\Model\ServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_PAC_41068));
56 | // *** FIM DOS DADOS DA ENCOMENDA QUE SERÁ DESPACHADA *** //
57 |
58 | // *** DADOS DO REMETENTE *** //
59 | $remetente = new \PhpSigep\Model\Remetente();
60 | $remetente->setNome('Google São Paulo');
61 | $remetente->setLogradouro('Av. Brigadeiro Faria Lima');
62 | $remetente->setNumero('3900');
63 | $remetente->setComplemento('5º andar');
64 | $remetente->setBairro('Itaim');
65 | $remetente->setCep('04538-132');
66 | $remetente->setUf('SP');
67 | $remetente->setCidade('São Paulo');
68 | // *** FIM DOS DADOS DO REMETENTE *** //
69 |
70 |
71 | $plp = new \PhpSigep\Model\PreListaDePostagem();
72 | $plp->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
73 | $plp->setEncomendas([$encomenda,$encomenda,$encomenda,$encomenda]);
74 | $plp->setRemetente($remetente);
75 |
76 | return $plp;
77 |
--------------------------------------------------------------------------------
/exemplos/helper-criar-pre-lista.php:
--------------------------------------------------------------------------------
1 | setAltura(20);
13 | $dimensao->setLargura(20);
14 | $dimensao->setComprimento(20);
15 | $dimensao->setDiametro(0);
16 | $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA);
17 |
18 | $destinatario = new \PhpSigep\Model\Destinatario();
19 | $destinatario->setNome('Google Belo Horizonte');
20 | $destinatario->setLogradouro('Av. Bias Fortes');
21 | $destinatario->setNumero('382');
22 | $destinatario->setComplemento('6º andar');
23 |
24 | $destino = new \PhpSigep\Model\DestinoNacional();
25 | $destino->setBairro('Lourdes');
26 | $destino->setCep('30170-010');
27 | $destino->setCidade('Belo Horizonte');
28 | $destino->setUf('MG');
29 |
30 | // Estamos criando uma etique falsa, mas em um ambiente real voçê deve usar o método
31 | // {@link \PhpSigep\Services\SoapClient\Real::solicitaEtiquetas() } para gerar o número das etiquetas
32 | $etiqueta = new \PhpSigep\Model\Etiqueta();
33 | $etiqueta->setEtiquetaSemDv('PD73958096BR');
34 |
35 | $servicoAdicional = new \PhpSigep\Model\ServicoAdicional();
36 | $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO);
37 | // Se não tiver valor declarado informar 0 (zero)
38 | $servicoAdicional->setValorDeclarado(0);
39 |
40 | $encomenda = new \PhpSigep\Model\ObjetoPostal();
41 | $encomenda->setServicosAdicionais(array($servicoAdicional));
42 | $encomenda->setDestinatario($destinatario);
43 | $encomenda->setDestino($destino);
44 | $encomenda->setDimensao($dimensao);
45 | $encomenda->setEtiqueta($etiqueta);
46 | $encomenda->setPeso(0.500);// 500 gramas
47 | $encomenda->setServicoDePostagem(new \PhpSigep\Model\ServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_SEDEX_41556));
48 | // *** FIM DOS DADOS DA ENCOMENDA QUE SERÁ DESPACHADA *** //
49 |
50 | // *** DADOS DO REMETENTE *** //
51 | $remetente = new \PhpSigep\Model\Remetente();
52 | $remetente->setNome('Google São Paulo');
53 | $remetente->setLogradouro('Av. Brigadeiro Faria Lima');
54 | $remetente->setNumero('3900');
55 | $remetente->setComplemento('5º andar');
56 | $remetente->setBairro('Itaim');
57 | $remetente->setCep('04538-132');
58 | $remetente->setUf('SP');
59 | $remetente->setCidade('São Paulo');
60 | // *** FIM DOS DADOS DO REMETENTE *** //
61 |
62 |
63 | $plp = new \PhpSigep\Model\PreListaDePostagem();
64 | $plp->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
65 | $plp->setEncomendas(array($encomenda));
66 | $plp->setRemetente($remetente);
67 |
68 | return $plp;
69 |
--------------------------------------------------------------------------------
/exemplos/imprimirAvisoRecebimento.php:
--------------------------------------------------------------------------------
1 | render();
9 |
--------------------------------------------------------------------------------
/exemplos/imprimirEtiquetas.php:
--------------------------------------------------------------------------------
1 | render();
15 |
--------------------------------------------------------------------------------
/exemplos/imprimirEtiquetas2016.php:
--------------------------------------------------------------------------------
1 | render();
15 |
--------------------------------------------------------------------------------
/exemplos/imprimirEtiquetas2018.php:
--------------------------------------------------------------------------------
1 | render('F', 'teste.pdf');
12 |
--------------------------------------------------------------------------------
/exemplos/imprimirEtiquetasA4.php:
--------------------------------------------------------------------------------
1 | render('F',$fileName);
16 |
17 | unset($pdf);
18 | $pdf = new \PhpSigep\Pdf\ImprovedFPDF('P', 'mm', 'Letter' );
19 | $pageCount = $pdf->setSourceFile($fileName);
20 |
21 | $pdf->AddPage();
22 | $pdf->SetFillColor(0,0,0);
23 | $pdf->SetFont('Arial','B',16);
24 |
25 | for($i=1;$i<=$pageCount;$i++) {
26 | $tplIdx = $pdf->importPage($i, '/MediaBox');
27 |
28 | $mod = $i % 4;
29 |
30 | switch ($mod) {
31 | case 0:
32 | //A4: 210(x) × 297(y)
33 | //Letter: 216 (x) × 279 (y)
34 | $pdf->useTemplate($tplIdx, 110, 145, 105, 138, true);
35 |
36 | if ($i !== $pageCount) {
37 | $pdf->AddPage();
38 | $pdf->SetFillColor(0,0,0);
39 | $pdf->SetFont('Arial','B',16);
40 | }
41 | break;
42 | case 1:
43 | $pdf->useTemplate($tplIdx, 10, 10, 105, 138, true);
44 | break;
45 | case 2:
46 | $pdf->useTemplate($tplIdx, 110, 10, 105, 138, true);
47 | break;
48 | case 3:
49 | $pdf->useTemplate($tplIdx, 10, 145, 105, 138, true);
50 | break;
51 | }
52 |
53 | }
54 |
55 |
56 | $pdf->Output('teste.pdf', 'F');
57 |
--------------------------------------------------------------------------------
/exemplos/imprimirPlp.php:
--------------------------------------------------------------------------------
1 | render('I');
9 |
--------------------------------------------------------------------------------
/exemplos/listar-agencias-clique-retire.php:
--------------------------------------------------------------------------------
1 | setIdCorreiosUsuario('USUÀRIO'); // Não consegui um de teste
7 | $accessData->setIdCorreiosSenha('SENHA'); // Não consegui um de teste
8 |
9 | $config = new \PhpSigep\Config();
10 | $config->setAccessData($accessData);
11 |
12 | \PhpSigep\Bootstrap::start($config);
13 |
14 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
15 |
16 | $uf = (isset($_GET['uf']) ? $_GET['uf'] : 'RJ');
17 | $municipio = (isset($_GET['municipio']) ? $_GET['municipio'] : 'Rio de Janeiro');
18 | $bairro = (isset($_GET['bairro']) ? $_GET['bairro'] : 'Centro');
19 | $cep = (isset($_GET['cep']) ? $_GET['cep'] : false);
20 |
21 | if ($cep) {
22 | $result = $phpSigep->listarAgenciasCliqueRetireByCep($cep);
23 | } else {
24 | $result = $phpSigep->listarAgenciasCliqueRetire($uf, $municipio, $bairro);
25 | }
26 |
27 | $dumpResult = print_r($result, true);
28 | ?>
29 |
30 |
31 |
32 |
33 | Exemplo Consulta CEP - PHP Sigep
34 |
35 |
36 |
37 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/exemplos/logo-etiqueta-2016.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/exemplos/logo-etiqueta-2016.png
--------------------------------------------------------------------------------
/exemplos/logo-etiqueta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/exemplos/logo-etiqueta.png
--------------------------------------------------------------------------------
/exemplos/pedido-informacao.php:
--------------------------------------------------------------------------------
1 | setIdCorreiosUsuario('usuario do id correios');
11 | $accessData->setIdCorreiosSenha('senha dos componentes no id correios');
12 | $accessData->setNumeroContrato('numero do seu contrato com os correios');
13 | $accessData->setCartaoPostagem('seu cartao de postagem');
14 |
15 | // Configurações
16 | $config = new \PhpSigep\Config();
17 | $config->setAccessData($accessData);
18 | $config->setEnv(\PhpSigep\Config::ENV_PRODUCTION);
19 | // $config->setWsdlPI('pedidoInformacaoWS.xml'); // para acesso local, baixar o wsdl
20 |
21 | // Bootstrap
22 | \PhpSigep\Bootstrap::start($config);
23 |
24 | // Pedido de Informação
25 | $pedidoInformacao = new \PhpSigep\Model\PedidoInformacao();
26 | $pedidoInformacao->setTelefone('telefone do cliente');
27 | $pedidoInformacao->setCodigoObjeto('código de rastreamento');
28 | $pedidoInformacao->setEmailResposta('e-mail do cliente');
29 | $pedidoInformacao->setNomeDestinatario('nome do cliente');
30 |
31 | $phpSigep = new \PhpSigep\Services\SoapClient\Real();
32 | $result = $phpSigep->cadastrarPi($pedidoInformacao);
33 |
34 | $result = $phpSigep->cadastrarPi($pedidoInformacao);
35 |
36 | // Obtem o objeto retornado
37 | $pedidoInformacaoResponse = $result->getResult();
38 |
39 | var_dump($pedidoInformacaoResponse);
40 |
41 | ?>
--------------------------------------------------------------------------------
/exemplos/rastreamentoDeObjetos.php:
--------------------------------------------------------------------------------
1 | setEtiquetaComDv(trim($etiquetaFromQuery));
13 | $etiquetas[] = $etiqueta;
14 | }
15 | }
16 |
17 | if (count($etiquetas)) {
18 | $accessDataDeHomologacao = new \PhpSigep\Model\AccessDataHomologacao();
19 | $accessDataDeHomologacao->setUsuario('ECT');// Usuário e senha para teste passado no manual
20 | $accessDataDeHomologacao->setSenha('SRO');
21 |
22 | $params = new \PhpSigep\Model\RastrearObjeto();
23 | $params->setAccessData($accessDataDeHomologacao);
24 | $params->setEtiquetas($etiquetas);
25 |
26 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
27 | $result = $phpSigep->rastrearObjeto($params);
28 |
29 | var_dump((array)$result);
30 | $dumpResult = ob_get_clean();
31 | }
32 | ?>
33 |
34 |
35 |
36 |
37 | Exemplo Rastrear Objetos - PHP Sigep
38 |
39 |
40 |
48 |
49 |
50 | Resposta
51 |
58 |
59 |
--------------------------------------------------------------------------------
/exemplos/solicitarEtiquetas.php:
--------------------------------------------------------------------------------
1 | getUsuario()));
6 | $senha = trim((isset($_GET['senha']) ? $_GET['senha'] : $accessDataDeHomologacao->getSenha()));
7 | $cnpjEmpresa = $accessDataDeHomologacao->getCnpjEmpresa();
8 |
9 | $accessData = new \PhpSigep\Model\AccessData();
10 | $accessData->setUsuario($usuario);
11 | $accessData->setSenha($senha);
12 | $accessData->setCnpjEmpresa($cnpjEmpresa);
13 |
14 | $params = new \PhpSigep\Model\SolicitaEtiquetas();
15 | $params->setQtdEtiquetas(1);
16 | $params->setServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_CARTA_REGISTRADA);
17 | $params->setAccessData($accessData);
18 |
19 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
20 |
21 | ?>
22 |
23 |
24 |
25 |
26 | Exemplo de Solicitação de Etiquetas - PHP Sigep
27 |
28 |
29 | Resposta
30 |
31 | solicitaEtiquetas($params)); ?>
32 |
33 |
--------------------------------------------------------------------------------
/exemplos/solicitarPostagemReversa.php:
--------------------------------------------------------------------------------
1 | setAccessData($accessDataParaAmbienteDeHomologacao);
28 | $config->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT);
29 | $config->setCacheOptions(
30 | array(
31 | 'storageOptions' => array(
32 | 'enabled' => false,
33 | 'ttl' => 10,// "time to live" de 10 segundos
34 | 'cacheDir' => sys_get_temp_dir(), // Opcional. Quando não inforado é usado o valor retornado de "sys_get_temp_dir()"
35 | ),
36 | )
37 |
38 | );
39 |
40 | \PhpSigep\Bootstrap::start($config);
41 |
42 | //EXEMPLO CAPTURADO DO send4store/php-sigep
43 |
44 | $destinatario = new \PhpSigep\Model\Destinatario();
45 | $destinatario->setNome('Usuário Destinatário');
46 | $destinatario->setLogradouro('Avenida Morumbi');
47 | $destinatario->setNumero('2500');
48 | $destinatario->setComplemento('911');
49 | $destinatario->setReferencia('referencia de teste');
50 | $destinatario->setCidade('São Paulo');
51 | $destinatario->setUf('SP');
52 | $destinatario->setCep('05606200');
53 | $destinatario->setBairro('Morumbi');
54 |
55 | $destinatario->setEmail('teste@teste.com');
56 |
57 | $remetente = new \PhpSigep\Model\Remetente();
58 | $remetente->setNome('Usuário Remetente');
59 | $remetente->setLogradouro('Avenida Vicente Machado');
60 | $remetente->setNumero('15');
61 | $remetente->setComplemento('911');
62 | $remetente->setCidade('Curitiba');
63 | $remetente->setBairro('Centro');
64 | $remetente->setUf('PR');
65 | $remetente->setCep('80420010');
66 |
67 | $remetente->setEmail('teste@teste.com');
68 | $remetente->setIdentificacao('09941751919');
69 | //$produto = new \PhpSigep\Model\Produto();
70 | //$produto->setCodigo(116600403);
71 | //$produto->setTipo(0);
72 | //$produto->setQtd(1);
73 | $objCol = new \PhpSigep\Model\ObjCol;
74 |
75 | $objCol->setId(date('hms'));
76 | $objCol->setNum('');
77 | $objCol->setEntrega('');
78 | $objCol->setItem(1);
79 | $objCol->setDesc('');
80 |
81 | $coletasSolicitadas = new \PhpSigep\Model\ColetasSolicitadas();
82 | $coletasSolicitadas->setTipo('A');
83 | $coletasSolicitadas->setNumero('');
84 | $coletasSolicitadas->setValor_declarado(null);
85 | $coletasSolicitadas->setServico_adicional('');
86 | $coletasSolicitadas->setAr(1);
87 | $coletasSolicitadas->setAg(10);
88 | $coletasSolicitadas->setRemetente($remetente);
89 | $coletasSolicitadas->setObj_col($objCol);
90 |
91 | $postagem = new \PhpSigep\Model\SolicitarPostagemReversa();
92 | $postagem->setAccessData($accessDataParaAmbienteDeHomologacao);
93 | $postagem->setDestinatario($destinatario);
94 | $postagem->setColetas_solicitadas($coletasSolicitadas);
95 | $postagem->setContrato('9992157880');
96 | $postagem->setCodigo_servico('04677');
97 |
98 | $phpSigep = new \PhpSigep\Services\SoapClient\Real();
99 | $result = $phpSigep->solicitarPostagemReversa($postagem);
100 | echo "";
101 | print_r($result);
102 | echo "
";
103 |
--------------------------------------------------------------------------------
/exemplos/verificaDisponibilidadeServico.php:
--------------------------------------------------------------------------------
1 | setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
7 | $params->setCepOrigem('30170-010');
8 | $params->setCepDestino('04538-132');
9 | $params->setServicos(\PhpSigep\Model\ServicoDePostagem::getAll());
10 |
11 | $phpSigep = new PhpSigep\Services\SoapClient\Real();
12 | $result = $phpSigep->verificaDisponibilidadeServico($params);
13 |
14 | var_dump((array)$result);
--------------------------------------------------------------------------------
/manual/06-08-2019-ID_CORREIOS/1 Cliente - Cadastrar usuario Pessoa Juridica.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/06-08-2019-ID_CORREIOS/1 Cliente - Cadastrar usuario Pessoa Juridica.pdf
--------------------------------------------------------------------------------
/manual/06-08-2019-ID_CORREIOS/2 Cliente - Cadastrar senha em componente.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/06-08-2019-ID_CORREIOS/2 Cliente - Cadastrar senha em componente.pdf
--------------------------------------------------------------------------------
/manual/06-08-2019-ID_CORREIOS/3 Cliente - Conceder_permissao_a_pessoa_fisica.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/06-08-2019-ID_CORREIOS/3 Cliente - Conceder_permissao_a_pessoa_fisica.pdf
--------------------------------------------------------------------------------
/manual/06-08-2019-Manual_de_Implementacao_do_Web_Service_Logistica_Reversa.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/06-08-2019-Manual_de_Implementacao_do_Web_Service_Logistica_Reversa.pdf
--------------------------------------------------------------------------------
/manual/2016-05-Manual_de _Implementacao_do_Web_Service_LR.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2016-05-Manual_de _Implementacao_do_Web_Service_LR.pdf
--------------------------------------------------------------------------------
/manual/2016-06-17-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce_v_1.9.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2016-06-17-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce_v_1.9.pdf
--------------------------------------------------------------------------------
/manual/2017-05-02-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2017-05-02-Guia_Tecnico_Rastreamento_XML_Cliente-Versao_e-commerce.pdf
--------------------------------------------------------------------------------
/manual/2017-10-05-Manual_de_Implementacao_do_Calculo_Remoto_de_Precos_e_Prazos_versao_2.0.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2017-10-05-Manual_de_Implementacao_do_Calculo_Remoto_de_Precos_e_Prazos_versao_2.0.pdf
--------------------------------------------------------------------------------
/manual/2018-04-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2018-04-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
--------------------------------------------------------------------------------
/manual/2018-04-24-Termo de Condicoes de Prestacao de Servicos de Encomendas Nacionais.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2018-04-24-Termo de Condicoes de Prestacao de Servicos de Encomendas Nacionais.pdf
--------------------------------------------------------------------------------
/manual/2018-06-20-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2018-06-20-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
--------------------------------------------------------------------------------
/manual/2018-10-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2018-10-24-Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf
--------------------------------------------------------------------------------
/manual/2020-08-28-Documentação_API_WS_Fale_Conosco_Captação_Registro_Manifestação.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/2020-08-28-Documentação_API_WS_Fale_Conosco_Captação_Registro_Manifestação.pdf
--------------------------------------------------------------------------------
/manual/Docs Apoio.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/Docs Apoio.zip
--------------------------------------------------------------------------------
/manual/Rastreamento-de-Objetos-SROXML_28fev14.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/Rastreamento-de-Objetos-SROXML_28fev14.pdf
--------------------------------------------------------------------------------
/manual/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/SCPP_manual_implementacao_calculo_remoto_de_precos_e_prazos.pdf
--------------------------------------------------------------------------------
/manual/v1-Manual de Implementacao do Web Service SIGEPWEB e Logistica Reversa.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/v1-Manual de Implementacao do Web Service SIGEPWEB e Logistica Reversa.pdf
--------------------------------------------------------------------------------
/manual/v2-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/v2-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf
--------------------------------------------------------------------------------
/manual/v3-2014-10-08-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/manual/v3-2014-10-08-Manual_de_Implementacao_do_Web_Service_SIGEPWEB_Logistica_Reversa.pdf
--------------------------------------------------------------------------------
/phpstan-baseline.neon:
--------------------------------------------------------------------------------
1 | parameters:
2 | ignoreErrors:
3 | -
4 | message: "#^Undefined variable\\: \\$ss$#"
5 | count: 1
6 | path: src/PhpSigep/Pdf/Semacode.php
7 |
8 | -
9 | message: "#^Instantiated class PhpSigep\\\\Services\\\\Real\\\\FailedConvertToArrayExceptio not found\\.$#"
10 | count: 1
11 | path: src/PhpSigep/Services/Real/CadastrarPI.php
12 |
13 | -
14 | message: "#^Call to an undefined method PhpSigep\\\\Services\\\\Real\\\\CalcPrecoPrazo\\:\\:calcPrecoPrazo\\(\\)\\.$#"
15 | count: 1
16 | path: src/PhpSigep/Services/Real/CalcPrecoPrazo.php
17 |
18 | -
19 | message: "#^Method PhpSigep\\\\Services\\\\SoapClient\\\\Simulador\\:\\:bloquearObjeto\\(\\) should return PhpSigep\\\\Services\\\\Result\\\\> but return statement is missing\\.$#"
20 | count: 1
21 | path: src/PhpSigep/Services/SoapClient/Simulador.php
22 |
23 | -
24 | message: "#^Method PhpSigep\\\\Services\\\\SoapClient\\\\Simulador\\:\\:cancelarObjeto\\(\\) should return PhpSigep\\\\Services\\\\Result\\\\> but return statement is missing\\.$#"
25 | count: 1
26 | path: src/PhpSigep/Services/SoapClient/Simulador.php
27 |
28 | -
29 | message: "#^Method PhpSigep\\\\Services\\\\SoapClient\\\\Simulador\\:\\:consultaCep\\(\\) should return PhpSigep\\\\Services\\\\Result\\ but return statement is missing\\.$#"
30 | count: 1
31 | path: src/PhpSigep/Services/SoapClient/Simulador.php
32 |
33 | -
34 | message: "#^Method PhpSigep\\\\Services\\\\SoapClient\\\\Simulador\\:\\:rastrearObjeto\\(\\) should return PhpSigep\\\\Services\\\\Result\\\\> but return statement is missing\\.$#"
35 | count: 1
36 | path: src/PhpSigep/Services/SoapClient/Simulador.php
37 |
38 | -
39 | message: "#^Method PhpSigep\\\\Services\\\\SoapClient\\\\Simulador\\:\\:verificarStatusCartaoPostagem\\(\\) should return PhpSigep\\\\Services\\\\Result\\\\> but return statement is missing\\.$#"
40 | count: 1
41 | path: src/PhpSigep/Services/SoapClient/Simulador.php
42 |
43 |
--------------------------------------------------------------------------------
/phpstan.neon:
--------------------------------------------------------------------------------
1 | parameters:
2 | level: 0
3 | paths:
4 | - src
5 | - tests
6 | - exemplos
7 | includes:
8 | - phpstan-baseline.neon
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
14 | ./tests
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/PhpSigep/Bootstrap.php:
--------------------------------------------------------------------------------
1 | getCacheOptions();
28 |
29 | $storage = new FileSystem($options->getStorageOptions());
30 |
31 | return $storage;
32 | }
33 |
34 | /**
35 | * @param Options $options
36 | * @return \PhpSigep\Cache\Storage\Adapter\AdapterOptions
37 | */
38 | public function getStorageOptions(Options $options)
39 | {
40 | $storageOptions = $options->getStorageOptions();
41 |
42 | if (!($storageOptions instanceof AdapterOptions)) {
43 | $storageOptions = new AdapterOptions((array)$storageOptions);
44 | }
45 |
46 | return $storageOptions;
47 | }
48 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Cache/InvalidArgumentException.php:
--------------------------------------------------------------------------------
1 | storageAdapter = $storageAdapter;
31 | }
32 |
33 | /**
34 | * @return \PhpSigep\Cache\StorageInterface
35 | */
36 | public function getStorageAdapter()
37 | {
38 | return $this->storageAdapter;
39 | }
40 |
41 | /**
42 | * @param array|\Traversable|AdapterOptions $storageOptions
43 | * @return $this
44 | */
45 | public function setStorageOptions($storageOptions)
46 | {
47 | $this->storageOptions = $storageOptions;
48 |
49 | return $this;
50 | }
51 |
52 | /**
53 | * @return \PhpSigep\Cache\Storage\Adapter\AdapterOptions
54 | */
55 | public function getStorageOptions()
56 | {
57 | return $this->storageOptions;
58 | }
59 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Cache/Storage/Adapter/Exception/InvalidArgumentException.php:
--------------------------------------------------------------------------------
1 | setFromArray($initialValues);
15 | }
16 |
17 | /**
18 | * @param string $attributeName
19 | * @param $value
20 | * @throws InvalidArgument
21 | */
22 | public function set($attributeName, $value)
23 | {
24 | $method = 'set' . ucfirst($attributeName);
25 | if (is_callable(array($this, $method))) {
26 | $this->$method($value);
27 |
28 | return;
29 | }
30 |
31 | if ($this->_failIfAtributeNotExiste) {
32 | throw new InvalidArgument('Não existe um método para definir o valor do atributo "'
33 | . get_class($this) . '::' . $attributeName . '"');
34 | }
35 |
36 | $this->$attributeName = $value;
37 | }
38 |
39 | /**
40 | * @param $attributeName
41 | * @throws InvalidArgument
42 | * @return mixed
43 | */
44 | public function get($attributeName)
45 | {
46 | $method = 'get' . ucfirst($attributeName);
47 | if (is_callable(array($this, $method))) {
48 | return $this->$method();
49 | }
50 | $method = 'is' . ucfirst($attributeName);
51 | if (is_callable(array($this, $method))) {
52 | return $this->$method();
53 | }
54 |
55 | if ($this->_failIfAtributeNotExiste) {
56 | throw new InvalidArgument('Não existe um método para retornar o valor do atributo: "'
57 | . $attributeName . '"');
58 | }
59 |
60 | return null;
61 | }
62 |
63 | /**
64 | * @return array
65 | */
66 | public function toArray()
67 | {
68 | return $this->_toArray($this);
69 | }
70 |
71 | /**
72 | * @param $value
73 | * @return array
74 | */
75 | private function _toArray($value)
76 | {
77 | $result = array();
78 | $vars = get_object_vars($value);
79 | foreach ($vars as $var => $val) {
80 | try {
81 | if (is_object($value) && $value instanceof DefaultStdClass) {
82 | $val = $value->get($var);
83 | }
84 | } catch (InvalidArgument $e) {
85 | // Ignora essa propiedade se ela não tiver um método get definido.
86 | continue;
87 | }
88 |
89 | if (is_object($val)) {
90 | $val = $value->_toArray($val);
91 | } else {
92 | if (is_array($val)) {
93 | $novoVal = array();
94 | foreach ($val as $k => $v) {
95 | $novoVal[$k] = $value->_toArray($v);
96 | }
97 | $val = $novoVal;
98 | }
99 | }
100 | $result[$var] = $val;
101 | }
102 |
103 | return $result;
104 | }
105 |
106 | /**
107 | * @param array $values
108 | */
109 | public function setFromArray(array $values)
110 | {
111 | foreach ($values as $attr => $value) {
112 | $this->set($attr, $value);
113 | }
114 | }
115 |
116 | }
--------------------------------------------------------------------------------
/src/PhpSigep/ErrorHandler.php:
--------------------------------------------------------------------------------
1 | _loadVendorFile($filePath);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/AbstractModel.php:
--------------------------------------------------------------------------------
1 | 'sigep',
17 | 'senha' => 'n5f9t8',
18 | 'codAdministrativo' => '17000190',
19 | 'numeroContrato' => '9992157880',
20 | 'cartaoPostagem' => '0067599079',
21 | 'cnpjEmpresa' => '34028316000103', // Obtido no método 'buscaCliente'.
22 | 'anoContrato' => null, // Não consta no manual.
23 | 'diretoria' => new Diretoria(Diretoria::DIRETORIA_DR_BRASILIA), // Obtido no método 'buscaCliente'.
24 | )
25 | );
26 | try {\PhpSigep\Bootstrap::getConfig()->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT);} catch (\Exception $e) {}
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/AccessDataHomologacaoReversa.php:
--------------------------------------------------------------------------------
1 |
6 | * @co_author: https://github.com/send4store
7 | */
8 | class AccessDataHomologacaoReversa extends AccessData
9 | {
10 |
11 | /**
12 | * Atalho para criar uma {@link AccessData} com os dados do ambiente de homologação.
13 | */
14 | public function __construct()
15 | {
16 | parent::__construct(
17 | array(
18 | 'idCorreiosUsuario' => 'empresacws',
19 | 'idCorreiosSenha' => '123456',
20 | 'usuario' => 'empresacws',
21 | 'senha' => '123456',
22 | 'codAdministrativo' => '17000190',
23 | 'numeroContrato' => '9992157880',
24 | 'cartaoPostagem' => '0067599079',
25 | 'cnpjEmpresa' => '34028316000103', // Obtido no método 'buscaCliente'.
26 | 'anoContrato' => null, // Não consta no manual.
27 | 'diretoria' => new Diretoria(Diretoria::DIRETORIA_DR_BRASILIA), // Obtido no método 'buscaCliente'.
28 | )
29 | );
30 | try {
31 | \PhpSigep\Bootstrap::getConfig()->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT);
32 | } catch (\Exception $e) {
33 |
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/BloquearObjetoResposta.php:
--------------------------------------------------------------------------------
1 | return = $return;
22 |
23 | return $this;
24 | }
25 |
26 | /**
27 | * @return string
28 | */
29 | public function getReturn()
30 | {
31 | return $this->return;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/BuscaClienteResult.php:
--------------------------------------------------------------------------------
1 | _failIfAtributeNotExiste = false;
26 | parent::__construct($initialValues);
27 | }
28 |
29 | /**
30 | * @param string $cnpj
31 | * @return $this;
32 | */
33 | public function setCnpj($cnpj)
34 | {
35 | $this->cnpj = $cnpj;
36 |
37 | return $this;
38 | }
39 |
40 | /**
41 | * @return string
42 | */
43 | public function getCnpj()
44 | {
45 | return $this->cnpj;
46 | }
47 |
48 | /**
49 | * @param \stdClass $contratos
50 | * @return $this;
51 | */
52 | public function setContratos(\stdClass $contratos)
53 | {
54 | $this->contratos = $contratos;
55 |
56 | return $this;
57 | }
58 |
59 | /**
60 | * @return \stdClass
61 | */
62 | public function getContratos()
63 | {
64 | return $this->contratos;
65 | }
66 |
67 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/CalcPrecoPrazoRespostaIterator.php:
--------------------------------------------------------------------------------
1 | todosTemErro === null) {
24 | $this->todosTemErro = $this->count() > 0;
25 | /** @var $item \PhpSigep\Model\CalcPrecoPrazoResposta */
26 | foreach ($this as $item) {
27 | if (!$item->hasError()) {
28 | $this->todosTemErro = false;
29 | break;
30 | }
31 | }
32 | }
33 |
34 | return $this->todosTemErro;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/CancelarObjetoResposta.php:
--------------------------------------------------------------------------------
1 | return = $return;
22 |
23 | return $this;
24 | }
25 |
26 | /**
27 | * @return string
28 | */
29 | public function getReturn()
30 | {
31 | return $this->return;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ConsultaCepResposta.php:
--------------------------------------------------------------------------------
1 | bairro = $bairro;
52 |
53 | return $this;
54 | }
55 |
56 | /**
57 | * @return string
58 | */
59 | public function getBairro()
60 | {
61 | return $this->bairro;
62 | }
63 |
64 | /**
65 | * @param string $cep
66 | * @return $this;
67 | */
68 | public function setCep($cep)
69 | {
70 | $this->cep = $cep;
71 |
72 | return $this;
73 | }
74 |
75 | /**
76 | * @return string
77 | */
78 | public function getCep()
79 | {
80 | return $this->cep;
81 | }
82 |
83 | /**
84 | * @param string $cidade
85 | * @return $this;
86 | */
87 | public function setCidade($cidade)
88 | {
89 | $this->cidade = $cidade;
90 |
91 | return $this;
92 | }
93 |
94 | /**
95 | * @return string
96 | */
97 | public function getCidade()
98 | {
99 | return $this->cidade;
100 | }
101 |
102 | /**
103 | * @param string $complemento1
104 | * @return $this;
105 | */
106 | public function setComplemento1($complemento1)
107 | {
108 | $this->complemento1 = $complemento1;
109 |
110 | return $this;
111 | }
112 |
113 | /**
114 | * @return string
115 | */
116 | public function getComplemento1()
117 | {
118 | return $this->complemento1;
119 | }
120 |
121 | /**
122 | * @param string $complemento2
123 | * @return $this;
124 | */
125 | public function setComplemento2($complemento2)
126 | {
127 | $this->complemento2 = $complemento2;
128 |
129 | return $this;
130 | }
131 |
132 | /**
133 | * @return string
134 | */
135 | public function getComplemento2()
136 | {
137 | return $this->complemento2;
138 | }
139 |
140 | /**
141 | * @param string $endereco
142 | * @return $this;
143 | */
144 | public function setEndereco($endereco)
145 | {
146 | $this->endereco = $endereco;
147 |
148 | return $this;
149 | }
150 |
151 | /**
152 | * @return string
153 | */
154 | public function getEndereco()
155 | {
156 | return $this->endereco;
157 | }
158 |
159 | /**
160 | * @param int $id
161 | * @return $this;
162 | */
163 | public function setId($id)
164 | {
165 | $this->id = $id;
166 |
167 | return $this;
168 | }
169 |
170 | /**
171 | * @return int
172 | */
173 | public function getId()
174 | {
175 | return $this->id;
176 | }
177 |
178 | /**
179 | * @param string $uf
180 | * @return $this;
181 | */
182 | public function setUf($uf)
183 | {
184 | $this->uf = $uf;
185 |
186 | return $this;
187 | }
188 |
189 | /**
190 | * @return string
191 | */
192 | public function getUf()
193 | {
194 | return $this->uf;
195 | }
196 |
197 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ConsultarAgenciaResult.php:
--------------------------------------------------------------------------------
1 | resultArray = $initialValues;
43 |
44 | $this->_failIfAtributeNotExiste = false;
45 | parent::__construct($initialValues);
46 | }
47 |
48 | /**
49 | * @return array
50 | */
51 | public function getCodigoRetorno()
52 | {
53 | return $this->codigoRetorno;
54 | }
55 |
56 | /**
57 | * @return array
58 | */
59 | public function getDescricaoRetorno()
60 | {
61 | return $this->descricaoRetorno;
62 | }
63 |
64 | /**
65 | * @return array
66 | */
67 | public function getVersao()
68 | {
69 | return $this->versao;
70 | }
71 |
72 | /**
73 | * @return array
74 | */
75 | public function getDataHoraRetorno()
76 | {
77 | return $this->dataHoraRetorno;
78 | }
79 |
80 | /**
81 | * @return array
82 | */
83 | public function getAgencia()
84 | {
85 | return $this->agencia;
86 | }
87 |
88 | /**
89 | * @return array
90 | */
91 | public function getResultArray()
92 | {
93 | return $this->resultArray;
94 | }
95 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ConsultarColeta.php:
--------------------------------------------------------------------------------
1 | accessData = $accessData;
31 | }
32 |
33 | /**
34 | * @return \PhpSigep\Model\AccessData
35 | */
36 | public function getAccessData()
37 | {
38 | return $this->accessData;
39 | }
40 |
41 | /**
42 | * @param String $tipoSolicitacao
43 | * @return $this;
44 | */
45 | public function setTipoSolicitacao($tipoSolicitacao)
46 | {
47 | $this->tipoSolicitacao = $tipoSolicitacao;
48 |
49 | return $this;
50 | }
51 |
52 | /**
53 | * @return mixed
54 | */
55 | public function getTipoSolicitacao()
56 | {
57 | return $this->tipoSolicitacao;
58 | }
59 |
60 |
61 | /**
62 | * @param String $tipoBusca
63 | * @return $this;
64 | */
65 | public function setTipoBusca($tipoBusca)
66 | {
67 | $this->tipoBusca = $tipoBusca;
68 |
69 | return $this;
70 | }
71 |
72 | /**
73 | * @return mixed
74 | */
75 | public function getTipoBusca()
76 | {
77 | return $this->tipoBusca;
78 | }
79 |
80 | /**
81 | * @param String $numeroPedido
82 | * @return $this;
83 | */
84 | public function setNumeroPedido($numeroPedido)
85 | {
86 | $this->numeroPedido = $numeroPedido;
87 |
88 | return $this;
89 | }
90 |
91 | /**
92 | * @return mixed
93 | */
94 | public function getNumeroPedido()
95 | {
96 | return $this->numeroPedido;
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ConsultarColetaRetorno.php:
--------------------------------------------------------------------------------
1 | tipo = $tipo;
18 | return $this;
19 | }
20 | public function getTipo()
21 | {
22 | return $this->tipo;
23 | }
24 | public function setHistorico($historico)
25 | {
26 | $this->historico = $historico;
27 | return $this;
28 | }
29 | public function getHistorico()
30 | {
31 | return $this->historico;
32 | }
33 | public function setObjeto($objeto)
34 | {
35 | $this->objeto = $objeto;
36 | return $this;
37 | }
38 | public function getObjeto()
39 | {
40 | return $this->objeto;
41 | }
42 | public function setNumeroPedido($numeroPedido)
43 | {
44 | $this->numeroPedido = $numeroPedido;
45 | return $this;
46 | }
47 | public function getNumeroPedido()
48 | {
49 | return $this->numeroPedido;
50 | }
51 | public function setControleCliente($controleCliente)
52 | {
53 | $this->controleCliente = $controleCliente;
54 | return $this;
55 | }
56 | public function getControleCliente()
57 | {
58 | return $this->controleCliente;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/Destino.php:
--------------------------------------------------------------------------------
1 | altura = (float)$altura;
46 | }
47 |
48 | /**
49 | * @return float
50 | * Em centímetros
51 | */
52 | public function getAltura()
53 | {
54 | return $this->altura;
55 | }
56 |
57 | /**
58 | * @param float $comprimento
59 | * Em centímetros
60 | */
61 | public function setComprimento($comprimento)
62 | {
63 | $this->comprimento = (float)$comprimento;
64 | }
65 |
66 | /**
67 | * @return float
68 | * Em centímetros
69 | */
70 | public function getComprimento()
71 | {
72 | return $this->comprimento;
73 | }
74 |
75 | /**
76 | * @param float $diametro
77 | * Em centímetros
78 | */
79 | public function setDiametro($diametro)
80 | {
81 | $this->diametro = (float)$diametro;
82 | }
83 |
84 | /**
85 | * @return float
86 | * Em centímetros
87 | */
88 | public function getDiametro()
89 | {
90 | return $this->diametro;
91 | }
92 |
93 | /**
94 | * @param float $largura
95 | * Em centímetros
96 | */
97 | public function setLargura($largura)
98 | {
99 | $this->largura = (float)$largura;
100 | }
101 |
102 | /**
103 | * @return float
104 | * Em centímetros
105 | */
106 | public function getLargura()
107 | {
108 | return $this->largura;
109 | }
110 |
111 | /**
112 | * @param int $tipo
113 | */
114 | public function setTipo($tipo)
115 | {
116 | $this->tipo = $tipo;
117 | }
118 |
119 | /**
120 | * @return int
121 | */
122 | public function getTipo()
123 | {
124 | return $this->tipo;
125 | }
126 |
127 | }
128 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/Etiqueta.php:
--------------------------------------------------------------------------------
1 | dv === null) {
29 | $numero = substr($this->getEtiquetaSemDv(), 2, 8);
30 | $fatoresDePonderacao = array(8, 6, 4, 2, 3, 5, 9, 7);
31 | $soma = 0;
32 | for ($i = 0; $i < 8; $i++) {
33 | $soma += ($numero[$i] * $fatoresDePonderacao[$i]);
34 | }
35 |
36 | $modulo = $soma % 11;
37 | if ($modulo == 0) {
38 | $this->dv = 5;
39 | } else {
40 | if ($modulo == 1) {
41 | $this->dv = 0;
42 | } else {
43 | $this->dv = 11 - $modulo;
44 | }
45 | }
46 | }
47 |
48 | return $this->dv;
49 | }
50 |
51 | /**
52 | * @param int $dv
53 | */
54 | public function setDv($dv)
55 | {
56 | $this->dv = $dv;
57 | }
58 |
59 | /**
60 | * @return string
61 | */
62 | public function getEtiquetaSemDv()
63 | {
64 | if (!$this->etiquetaSemDv) {
65 | $comDv = $this->getEtiquetaComDv();
66 | $this->etiquetaSemDv = substr($comDv, 0, 10) . substr($comDv, 11);
67 | }
68 |
69 | return $this->etiquetaSemDv;
70 | }
71 |
72 | /**
73 | * @param string $etiquetaSemDv
74 | */
75 | public function setEtiquetaSemDv($etiquetaSemDv)
76 | {
77 | $etiquetaSemDv = str_replace(' ', '', $etiquetaSemDv);
78 | $this->etiquetaSemDv = $etiquetaSemDv;
79 | }
80 |
81 | /**
82 | * @return string
83 | */
84 | public function getEtiquetaComDv()
85 | {
86 | if (!$this->etiquetaComDv) {
87 | $semDv = $this->getEtiquetaSemDv();
88 | $this->etiquetaComDv = substr($semDv, 0, 10) . $this->getDv() . substr($semDv, 10);
89 | }
90 |
91 | return $this->etiquetaComDv;
92 | }
93 |
94 | /**
95 | * @param string $etiquetaComDv
96 | */
97 | public function setEtiquetaComDv($etiquetaComDv)
98 | {
99 | $this->etiquetaComDv = $etiquetaComDv;
100 | }
101 |
102 | /**
103 | * @return string
104 | */
105 | public function getNumeroSemDv()
106 | {
107 | return substr($this->getEtiquetaSemDv(), 2, 8);
108 | }
109 |
110 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/Exception.php:
--------------------------------------------------------------------------------
1 | idPlp = $idPlp;
24 |
25 | return $this;
26 | }
27 |
28 | /**
29 | * @return int
30 | */
31 | public function getIdPlp()
32 | {
33 | return (int)$this->idPlp;
34 | }
35 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/GeraDigitoVerificadorEtiquetas.php:
--------------------------------------------------------------------------------
1 | accessData = $accessData;
29 | }
30 |
31 | /**
32 | * @return \PhpSigep\Model\AccessData
33 | */
34 | public function getAccessData()
35 | {
36 | return $this->accessData;
37 | }
38 |
39 | /**
40 | * @param Etiqueta $etiqueta
41 | */
42 | public function addEtiqueta($etiqueta)
43 | {
44 | $this->etiquetas[] = $etiqueta;
45 | }
46 |
47 | /**
48 | * @param Etiqueta[] $etiquetas
49 | */
50 | public function setEtiquetas(array $etiquetas)
51 | {
52 | $this->etiquetas = $etiquetas;
53 | }
54 |
55 | /**
56 | * @return Etiqueta[]
57 | */
58 | public function getEtiquetas()
59 | {
60 | return (array)$this->etiquetas;
61 | }
62 |
63 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ListarAgenciasCliqueRetireResult.php:
--------------------------------------------------------------------------------
1 | resultArray = $initialValues;
43 |
44 | $this->_failIfAtributeNotExiste = false;
45 | parent::__construct($initialValues);
46 | }
47 |
48 | /**
49 | * @return array
50 | */
51 | public function getCodigoRetorno()
52 | {
53 | return $this->codigoRetorno;
54 | }
55 |
56 | /**
57 | * @return array
58 | */
59 | public function getDescricaoRetorno()
60 | {
61 | return $this->descricaoRetorno;
62 | }
63 |
64 | /**
65 | * @return array
66 | */
67 | public function getVersao()
68 | {
69 | return $this->versao;
70 | }
71 |
72 | /**
73 | * @return array
74 | */
75 | public function getDataHoraRetorno()
76 | {
77 | return $this->dataHoraRetorno;
78 | }
79 |
80 | /**
81 | * @return array
82 | */
83 | public function getListaAgencias()
84 | {
85 | return $this->listaAgencias;
86 | }
87 |
88 | /**
89 | * @return array
90 | */
91 | public function getResultArray()
92 | {
93 | return $this->resultArray;
94 | }
95 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/LogisticaReversaPedidoResposta.php:
--------------------------------------------------------------------------------
1 | return = $return;
27 |
28 | if (isset($return->resultado_solicitacao) && is_object($return->resultado_solicitacao)){
29 | if (sizeof((array)$return->resultado_solicitacao)>0){
30 | $this->coletas_solicitadas = $return->resultado_solicitacao;
31 | }
32 |
33 | if (sizeof((array)$return->coleta)>0){
34 | $this->coletas_solicitadas = $return->coleta;
35 | }
36 | }
37 |
38 | return $this;
39 | }
40 |
41 | /**
42 | * @return string
43 | */
44 | public function getReturn()
45 | {
46 | return $this->return;
47 | }
48 |
49 | /**
50 | * @return string
51 | */
52 | public function getColeta()
53 | {
54 | return $this->coletas_solicitadas;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/LogisticaReversaProduto.php:
--------------------------------------------------------------------------------
1 | msg_erro = $msgErro;
75 | }
76 |
77 | /**
78 | * @return string
79 | */
80 | public function getErrorMsg()
81 | {
82 | return $this->msg_erro;
83 | }
84 |
85 |
86 | /**
87 | * @param string cod_erro
88 | */
89 | public function setErrorCode($codErro)
90 | {
91 | $this->cod_erro = $codErro;
92 | }
93 | /**
94 | * @return string
95 | */
96 | public function getCodErro()
97 | {
98 | return $this->cod_erro;
99 | }
100 |
101 |
102 | /**
103 | * @param array
104 | */
105 | /*
106 | public function setProduto()
107 |
108 | {
109 | $this->produto = array(
110 | "codigo" => $this->codigo,
111 | "tipo" => $this->tipo,
112 | "qtd" => $this->qtd
113 | );
114 | }
115 | */
116 | /**
117 | * @param string
118 | */
119 | public function setCodigo($Codigo)
120 | {
121 | $this->codigo = $Codigo;
122 | }
123 |
124 | /**
125 | * @param string
126 | */
127 | public function setTipo($Tipo)
128 | {
129 | $this->tipo = $Tipo;
130 | }
131 |
132 | /**
133 | * @param string
134 | */
135 | public function setQtd($Qtd)
136 | {
137 | $this->qtd = $Qtd;
138 | }
139 |
140 | /**
141 | * @param array
142 | */
143 | public function getDados()
144 | {
145 | $this->produto = array(
146 | "codigo" => $this->codigo,
147 | "tipo" => $this->tipo,
148 | "qtd" => $this->qtd,
149 | );
150 | return $this->produto;
151 | }
152 |
153 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ObjCol.php:
--------------------------------------------------------------------------------
1 |
6 | */
7 | class ObjCol extends AbstractModel
8 | {
9 | /*
10 | * Obrigatorio
11 | */
12 |
13 | protected $item;
14 | /*
15 | * Nao Obrigatorio
16 | */
17 | protected $desc;
18 | /*
19 | * Nao Obrigatorio
20 | */
21 | protected $entrega;
22 | /*
23 | * Nao Obrigatorio
24 | */
25 | protected $num;
26 | /*
27 | * Nao Obrigatorio
28 | */
29 | protected $id;
30 |
31 | public function getItem()
32 | {
33 | return $this->item;
34 | }
35 |
36 | public function getDesc()
37 | {
38 | return $this->desc;
39 | }
40 |
41 | public function getEntrega()
42 | {
43 | return $this->entrega;
44 | }
45 |
46 | public function getNum()
47 | {
48 | return $this->num;
49 | }
50 |
51 | public function getId()
52 | {
53 | return $this->id;
54 | }
55 |
56 | public function setItem($item)
57 | {
58 | $this->item = $item;
59 | return $this;
60 | }
61 |
62 | public function setDesc($desc)
63 | {
64 | $this->desc = $desc;
65 | return $this;
66 | }
67 |
68 | public function setEntrega($entrega)
69 | {
70 | $this->entrega = $entrega;
71 | return $this;
72 | }
73 |
74 | public function setNum($num)
75 | {
76 | $this->num = $num;
77 | return $this;
78 | }
79 |
80 | public function setId($id)
81 | {
82 | $this->id = $id;
83 | return $this;
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/PreListaDePostagem.php:
--------------------------------------------------------------------------------
1 | accessData = $accessData;
41 | }
42 |
43 | /**
44 | * @return \PhpSigep\Model\AccessData
45 | */
46 | public function getAccessData()
47 | {
48 | return ($this->accessData ? $this->accessData : Bootstrap::getConfig()->getAccessData());
49 | }
50 |
51 | /**
52 | * @param \PhpSigep\Model\ObjetoPostal[] $encomendas
53 | */
54 | public function setEncomendas($encomendas)
55 | {
56 | $this->encomendas = $encomendas;
57 | }
58 |
59 | /**
60 | * @return \PhpSigep\Model\ObjetoPostal[]
61 | */
62 | public function getEncomendas()
63 | {
64 | return $this->encomendas;
65 | }
66 |
67 | /**
68 | * @param \PhpSigep\Model\Remetente $remetente
69 | */
70 | public function setRemetente($remetente)
71 | {
72 | $this->remetente = $remetente;
73 | }
74 |
75 | /**
76 | * @return \PhpSigep\Model\Remetente
77 | */
78 | public function getRemetente()
79 | {
80 | return $this->remetente;
81 | }
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/Proxy.php:
--------------------------------------------------------------------------------
1 | host;
35 | }
36 |
37 | /**
38 | * @param string $host
39 | */
40 | public function setHost($host)
41 | {
42 | $this->host = $host;
43 | }
44 |
45 | /**
46 | * @return int
47 | */
48 | public function getPort()
49 | {
50 | return $this->port;
51 | }
52 |
53 | /**
54 | * @param int $port
55 | */
56 | public function setPort($port)
57 | {
58 | $this->port = $port;
59 | }
60 |
61 | /**
62 | * @return string
63 | */
64 | public function getLogin()
65 | {
66 | return $this->login;
67 | }
68 |
69 | /**
70 | * @param string $login
71 | */
72 | public function setLogin($login)
73 | {
74 | $this->login = $login;
75 | }
76 |
77 | /**
78 | * @return string
79 | */
80 | public function getPassword()
81 | {
82 |
83 | return $this->password;
84 | }
85 |
86 | /**
87 | * @param string $password
88 | */
89 | public function setPassword($password)
90 | {
91 | $this->password = $password;
92 | }
93 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/RastrearObjetoResultado.php:
--------------------------------------------------------------------------------
1 | etiqueta = $etiqueta;
26 |
27 | return $this;
28 | }
29 |
30 | /**
31 | * @return \PhpSigep\Model\Etiqueta
32 | */
33 | public function getEtiqueta()
34 | {
35 | return $this->etiqueta;
36 | }
37 |
38 | /**
39 | * @param \PhpSigep\Model\RastrearObjetoEvento[] $eventos
40 | * @return $this;
41 | */
42 | public function setEventos(array $eventos)
43 | {
44 | $this->eventos = $eventos;
45 |
46 | return $this;
47 | }
48 |
49 | /**
50 | * @param \PhpSigep\Model\RastrearObjetoEvento[] $eventos
51 | * @return $this;
52 | */
53 | public function addEvento(RastrearObjetoEvento $evento)
54 | {
55 | if (!is_array($this->eventos)) {
56 | $this->eventos = array();
57 | }
58 |
59 | $this->eventos[] = $evento;
60 |
61 | return $this;
62 | }
63 |
64 | /**
65 | * @return \PhpSigep\Model\RastrearObjetoEvento[]
66 | */
67 | public function getEventos()
68 | {
69 | return $this->eventos;
70 | }
71 |
72 | }
73 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/ServicoAdicional.php:
--------------------------------------------------------------------------------
1 | getCodigoServicoAdicional();
36 | }
37 |
38 | /**
39 | * @param int $codigoServicoAdicional
40 | */
41 | public function setCodigoServicoAdicional($codigoServicoAdicional)
42 | {
43 | $this->codigoServicoAdicional = $codigoServicoAdicional;
44 | }
45 |
46 | /**
47 | * @return int
48 | */
49 | public function getCodigoServicoAdicional()
50 | {
51 | return $this->codigoServicoAdicional;
52 | }
53 |
54 | /**
55 | * @param float $valorDeclarado
56 | */
57 | public function setValorDeclarado($valorDeclarado)
58 | {
59 | $this->valorDeclarado = $valorDeclarado;
60 | }
61 |
62 | /**
63 | * @return float
64 | */
65 | public function getValorDeclarado()
66 | {
67 | return (float)$this->valorDeclarado;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/SolicitaEtiquetas.php:
--------------------------------------------------------------------------------
1 | accessData ? $this->accessData : Bootstrap::getConfig()->getAccessData());
40 | }
41 |
42 | /**
43 | * @param AccessData $accessData
44 | * Opcional.
45 | * Quando null será usado o valor retornado pelo método {@link \PhpSigep\Bootstrap::getConfig() }
46 | */
47 | public function setAccessData(AccessData $accessData)
48 | {
49 | $this->accessData = $accessData;
50 | }
51 |
52 | /**
53 | * @return int
54 | */
55 | public function getQtdEtiquetas()
56 | {
57 | return $this->qtdEtiquetas;
58 | }
59 |
60 | /**
61 | * @param int $qtdEtiquetas
62 | */
63 | public function setQtdEtiquetas($qtdEtiquetas)
64 | {
65 | $this->qtdEtiquetas = $qtdEtiquetas;
66 | }
67 |
68 | /**
69 | * @return ServicoDePostagem
70 | */
71 | public function getServicoDePostagem()
72 | {
73 | return $this->servicoDePostagem;
74 | }
75 |
76 | /**
77 | * Atribui para modoMultiplasRequisicoes true
78 | */
79 | public function setModoMultiplasRequisicoes(){
80 | $this->modoMultiplasRequisicoes = true;
81 | }
82 |
83 | /**
84 | * Atribui para modoMultiplasRequisicoes false
85 | */
86 | public function setModoUmaRequisicao(){
87 | $this->modoMultiplasRequisicoes = false;
88 | }
89 |
90 | /**
91 | *
92 | * @return boolean
93 | */
94 | public function isModoMultiplasRequisicoes(){
95 | return $this->modoMultiplasRequisicoes;
96 | }
97 |
98 | /**
99 | * @param int|ServicoDePostagem $servicoDePostagem
100 | * @throws \PhpSigep\InvalidArgument
101 | */
102 | public function setServicoDePostagem($servicoDePostagem)
103 | {
104 | if (is_string($servicoDePostagem)) {
105 | $servicoDePostagem = new \PhpSigep\Model\ServicoDePostagem($servicoDePostagem);
106 | }
107 |
108 | if (!($servicoDePostagem instanceof ServicoDePostagem)) {
109 | throw new InvalidArgument('Serviço de postagem deve ser uma string ou uma instância de ' .
110 | '\PhpSigep\Model\ServicoDePostagem.');
111 | }
112 |
113 | $this->servicoDePostagem = $servicoDePostagem;
114 | }
115 |
116 | }
117 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/SolicitaXmlPlpResult.php:
--------------------------------------------------------------------------------
1 | resultArray = $initialValues;
48 |
49 | $this->_failIfAtributeNotExiste = false;
50 | parent::__construct($initialValues);
51 | }
52 |
53 | /**
54 | * @return array
55 | */
56 | public function getTipoArquivo()
57 | {
58 | return $this->tipo_arquivo;
59 | }
60 |
61 | /**
62 | * @return array
63 | */
64 | public function getVersaoArquivo()
65 | {
66 | return $this->versao_arquivo;
67 | }
68 |
69 | /**
70 | * @return array
71 | */
72 | public function getPlp()
73 | {
74 | return $this->plp;
75 | }
76 |
77 | /**
78 | * @return array
79 | */
80 | public function getRemetente()
81 | {
82 | return $this->remetente;
83 | }
84 |
85 | /**
86 | * @return array
87 | */
88 | public function getFormaPagamento()
89 | {
90 | return $this->forma_pagamento;
91 | }
92 |
93 | /**
94 | * @return array
95 | */
96 | public function getObjetoPostal()
97 | {
98 | return $this->objeto_postal;
99 | }
100 |
101 | /**
102 | * @return array
103 | */
104 | public function getResultArray()
105 | {
106 | return $this->resultArray;
107 | }
108 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/SolicitarPostagemReversa.php:
--------------------------------------------------------------------------------
1 |
7 | */
8 | class SolicitarPostagemReversa extends AbstractModel
9 | {
10 |
11 | /**
12 | * @var \PhpSigep\Model\AccessData
13 | */
14 | protected $AccessData;
15 |
16 | /**
17 | * @var \PhpSigep\Model\Destinatario
18 | */
19 | protected $destinatario;
20 |
21 | /**
22 | * @var \PhpSigep\Model\ColetasSolicitadas
23 | */
24 | protected $coletas_solicitadas;
25 | protected $contrato;
26 | protected $codigo_servico;
27 |
28 | /**
29 | * Get AccessData.
30 | *
31 | * @return \PhpSigep\Model\AccessData
32 | */
33 | public function getAccessData()
34 | {
35 | return $this->AccessData;
36 | }
37 |
38 | /**
39 | * Get destinatario.
40 | *
41 | * @return \PhpSigep\Model\Destinatario
42 | */
43 | public function getDestinatario()
44 | {
45 | return $this->destinatario;
46 | }
47 |
48 | /**
49 | * Get coletas_solicitadas.
50 | *
51 | * @return \PhpSigep\Model\coletas_solicitadas
52 | */
53 | public function getColetas_solicitadas()
54 | {
55 | return $this->coletas_solicitadas;
56 | }
57 |
58 | /**
59 | * Set AccessData.
60 | *
61 | * @param \PhpSigep\Model\AccessData $AccessData
62 | *
63 | * @return SolicitarPostagemRervsa
64 | */
65 | public function setAccessData(\PhpSigep\Model\AccessData $AccessData)
66 | {
67 | $this->AccessData = $AccessData;
68 | return $this;
69 | }
70 |
71 | /**
72 | * Set destinatario.
73 | *
74 | * @param \PhpSigep\Model\Destinatario $destinatario
75 | *
76 | * @return SolicitarPostagemRervsa
77 | */
78 | public function setDestinatario(\PhpSigep\Model\Destinatario $destinatario)
79 | {
80 | $this->destinatario = $destinatario;
81 | return $this;
82 | }
83 |
84 | /**
85 | * Set coletas_solicitadas.
86 | *
87 | * @param \PhpSigep\Model\ColetasSolicitadas $coletas_solicitadas
88 | *
89 | * @return SolicitarPostagemRervsa
90 | */
91 | public function setColetas_solicitadas(\PhpSigep\Model\ColetasSolicitadas $coletas_solicitadas)
92 | {
93 | $this->coletas_solicitadas = $coletas_solicitadas;
94 | return $this;
95 | }
96 |
97 | public function getContrato()
98 | {
99 | return $this->contrato;
100 | }
101 |
102 | public function setContrato($contrato)
103 | {
104 | $this->contrato = $contrato;
105 | return $this;
106 | }
107 |
108 | public function getCodigo_servico()
109 | {
110 | return $this->codigo_servico;
111 | }
112 |
113 | public function setCodigo_servico($codigo_servico)
114 | {
115 | $this->codigo_servico = $codigo_servico;
116 | return $this;
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/SolicitarPostagemReversaRetorno.php:
--------------------------------------------------------------------------------
1 |
6 | */
7 | class SolicitarPostagemReversaRetorno extends AbstractModel
8 | {
9 |
10 | protected $tipo;
11 | protected $numero_coleta;
12 | protected $numero_etiqueta;
13 | protected $id_obj;
14 | protected $status_objeto;
15 | protected $prazo;
16 | protected $data_solicitacao;
17 | protected $hora_solicitacao;
18 | protected $codigo_erro;
19 | protected $qtd_objeto;
20 | protected $descricao_erro;
21 |
22 | public function setTipo($tipo)
23 | {
24 | $this->tipo = $tipo;
25 | return $this;
26 | }
27 |
28 | public function setNumero_coleta($numero_coleta)
29 | {
30 | $this->numero_coleta = $numero_coleta;
31 | return $this;
32 | }
33 |
34 | public function setId_obj($id_obj)
35 | {
36 | $this->id_obj = $id_obj;
37 | return $this;
38 | }
39 |
40 | public function setStatus_objeto($status_objeto)
41 | {
42 | $this->status_objeto = $status_objeto;
43 | return $this;
44 | }
45 |
46 | public function setPrazo($prazo)
47 | {
48 | $this->prazo = $prazo;
49 | return $this;
50 | }
51 |
52 | public function setData_solicitacao($data_solicitacao)
53 | {
54 | $this->data_solicitacao = $data_solicitacao;
55 | return $this;
56 | }
57 |
58 | public function getNumero_etiqueta()
59 | {
60 | return $this->numero_etiqueta;
61 | }
62 |
63 | public function getHora_solicitacao()
64 | {
65 | return $this->hora_solicitacao;
66 | }
67 |
68 | public function getCodigo_erro()
69 | {
70 | return $this->codigo_erro;
71 | }
72 |
73 | public function getDescricao_erro()
74 | {
75 | return $this->descricao_erro;
76 | }
77 |
78 | public function setNumero_etiqueta($numero_etiqueta)
79 | {
80 | $this->numero_etiqueta = $numero_etiqueta;
81 | return $this;
82 | }
83 |
84 | public function setHora_solicitacao($hora_solicitacao)
85 | {
86 | $this->hora_solicitacao = $hora_solicitacao;
87 | return $this;
88 | }
89 |
90 | public function setCodigo_erro($codigo_erro)
91 | {
92 | $this->codigo_erro = $codigo_erro;
93 | return $this;
94 | }
95 |
96 | public function setDescricao_erro($descricao_erro)
97 | {
98 | $this->descricao_erro = $descricao_erro;
99 | return $this;
100 | }
101 |
102 | public function getTipo()
103 | {
104 | return $this->tipo;
105 | }
106 |
107 | public function getNumero_coleta()
108 | {
109 | return $this->numero_coleta;
110 | }
111 |
112 | public function getId_obj()
113 | {
114 | return $this->id_obj;
115 | }
116 |
117 | public function getStatus_objeto()
118 | {
119 | return $this->status_objeto;
120 | }
121 |
122 | public function getPrazo()
123 | {
124 | return $this->prazo;
125 | }
126 |
127 | public function getData_solicitacao()
128 | {
129 | return $this->data_solicitacao;
130 | }
131 |
132 | public function getQtd_objeto()
133 | {
134 | return $this->qtd_objeto;
135 | }
136 |
137 | public function setQtd_objeto($qtd_objeto)
138 | {
139 | $this->qtd_objeto = $qtd_objeto;
140 | return $this;
141 | }
142 | }
143 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/VerificaDisponibilidadeServico.php:
--------------------------------------------------------------------------------
1 | accessData ? $this->accessData : Bootstrap::getConfig()->getAccessData());
37 | }
38 |
39 | /**
40 | * @param \PhpSigep\Model\AccessData $accessData
41 | * Opcional.
42 | * Quando null será usado o valor retornado pelo método {@link \PhpSigep\Bootstrap::getConfig() }
43 | */
44 | public function setAccessData(AccessData $accessData)
45 | {
46 | $this->accessData = $accessData;
47 | }
48 |
49 | /**
50 | * @return string
51 | */
52 | public function getCepDestino()
53 | {
54 | return $this->cepDestino;
55 | }
56 |
57 | /**
58 | * @param string $cepDestino
59 | */
60 | public function setCepDestino($cepDestino)
61 | {
62 | $this->cepDestino = preg_replace('/[^\d]/', '', $cepDestino);
63 | }
64 |
65 | /**
66 | * @return string
67 | */
68 | public function getCepOrigem()
69 | {
70 | return $this->cepOrigem;
71 | }
72 |
73 | /**
74 | * @param string $cepOrigem
75 | */
76 | public function setCepOrigem($cepOrigem)
77 | {
78 | $this->cepOrigem = preg_replace('/[^\d]/', '', $cepOrigem);
79 | }
80 |
81 | /**
82 | * @return ServicoDePostagem[]
83 | */
84 | public function getServicos()
85 | {
86 | return $this->servicos;
87 | }
88 |
89 | /**
90 | * @param \PhpSigep\Model\ServicoDePostagem|\PhpSigep\Model\ServicoDePostagem[] $servicos
91 | * @throws \PhpSigep\InvalidArgument
92 | */
93 | public function setServicos($servicos)
94 | {
95 | $piece = $servicos;
96 | if (is_array($servicos)) {
97 | $piece = null;
98 | if (count($servicos)) {
99 | $piece = reset($servicos);
100 | }
101 | } else {
102 | $servicos = array($servicos);
103 | }
104 | if ($piece && !($piece instanceof ServicoDePostagem)) {
105 | throw new InvalidArgument('Este parâmetro precisa ser uma instância de ' .
106 | '"PhpSigep\Model\ServicoDePostagem" ou um array de "PhpSigep\Model\ServicoDePostagem"');
107 | }
108 |
109 | $this->servicos = $servicos;
110 | }
111 |
112 | /**
113 | * @param ServicoDePostagem $servico
114 | * @return $this
115 | */
116 | public function addServico(ServicoDePostagem $servico)
117 | {
118 | $this->servicos[] = $servico;
119 | return $this;
120 | }
121 | }
122 |
--------------------------------------------------------------------------------
/src/PhpSigep/Model/VerificaDisponibilidadeServicoResposta.php:
--------------------------------------------------------------------------------
1 | disponivel = $disponivel;
22 |
23 | return $this;
24 | }
25 |
26 | /**
27 | * @return boolean
28 | */
29 | public function getDisponivel()
30 | {
31 | return $this->disponivel;
32 | }
33 |
34 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Model/VerificarStatusCartaoPostagemResposta.php:
--------------------------------------------------------------------------------
1 | return = $return;
22 |
23 | return $this;
24 | }
25 |
26 | /**
27 | * @return string
28 | */
29 | public function getReturn()
30 | {
31 | return $this->return;
32 | }
33 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/AbstractChancela.php:
--------------------------------------------------------------------------------
1 | setLeftPos($x);
32 | $this->setTopPos($y);
33 | $this->setNomeRemetente($nomeRemetente);
34 | $this->setAccessData($accessData);
35 | }
36 |
37 | public function setLeftPos($x)
38 | {
39 | if (is_numeric($x) === false) {
40 | throw new \InvalidArgumentException('Parâmetro $x precisa ser do tipo numérico');
41 | }
42 | $this->x = $x;
43 | }
44 |
45 | public function setTopPos($y)
46 | {
47 | if (is_numeric($y) === false) {
48 | throw new \InvalidArgumentException('Parâmetro $x precisa ser do tipo numérico');
49 | }
50 | $this->y = $y;
51 | }
52 |
53 | public function setNomeRemetente($nomeRemetente)
54 | {
55 | if (is_string($nomeRemetente) === false) {
56 | throw new \InvalidArgumentException('Parâmetro $nomeRemetente precisa ser do tipo string');
57 | }
58 | $this->nomeRemetente = $nomeRemetente;
59 | }
60 |
61 | public function setAccessData(\PhpSigep\Model\AccessData $accessData)
62 | {
63 | $this->accessData = $accessData;
64 | }
65 |
66 | public abstract function draw(\PhpSigep\Pdf\ImprovedFPDF $pdf);
67 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Carta.php:
--------------------------------------------------------------------------------
1 | saveState();
16 |
17 | // quantos mm cabem dentro de um pt do pdf
18 | $un = 72 / 25.4;
19 |
20 | // Desenha o elipse
21 | $k = $pdf->k;
22 | $wRect = $un * 30 / $k;
23 | $h = $un * 28 / $k;
24 | $lineWidth = 2 / $k;
25 | $pdf->SetLineWidth($lineWidth);
26 | $x = $this->x;
27 | $y = $this->y;
28 | $rx = $wRect / 2;
29 | $ry = $h / 2;
30 | $elipse = new Elipse();
31 | $pdf->SetDrawColor(0, 0, 0);
32 | $elipse->ellipse($pdf, $x, $y, $rx, $ry);
33 |
34 | // Escreve o texto
35 | $pdf->SetFont('Arial', 'BI');
36 | $pdf->SetXY($x, $y + 10 / $k);
37 | $fontSize = 15;
38 | $texto = 'Carta';
39 | $pdf->SetFontSize($fontSize);
40 | $pdf->Cell($wRect, 23 / $k, $texto, 0, 2, 'C');
41 |
42 | //Faz os dois riscos brancos da parte inferior - lado esquerdo
43 | $pdf->SetDrawColor(255, 255, 255);
44 | $pdf->SetLineWidth(3 / $k);
45 | $x1 = $x + 11 / $k;
46 | $x2 = $x1 - 1 / $k;
47 | $y1 = $y + $h - 15.5 / $k;
48 | $y2 = $y1 + (1 / $k);
49 | $pdf->Line($x1, $y1, $x2, $y2);
50 | $space = 3.5 / $k;
51 | $x1 += $space;
52 | $x2 = $x1 - 1 / $k;
53 | $y1 += $space;
54 | $y2 = $y1 + (1 / $k);
55 | $pdf->Line($x1, $y1, $x2, $y2);
56 | $x1 = $x + 19.3 / $k;
57 | $x2 = $x1 - .85 / $k;
58 | $y1 = $y + 57.26 / $k;
59 | $y2 = $y1 + .85 / $k;
60 | $pdf->Line($x1, $y1, $x2, $y2);
61 |
62 | //Faz os dois riscos brancos da parte inferior - lado direito
63 | $pdf->SetDrawColor(255, 255, 255);
64 | $pdf->SetLineWidth(3 / $k);
65 | $x1 = $x + $wRect - 7.5 / $k;
66 | $x2 = $x1 + 1 / $k;
67 | $y1 = $y + $h - 17.5 / $k;
68 | $y2 = $y1 + (1 / $k);
69 | $pdf->Line($x1, $y1, $x2, $y2);
70 | $space = 3.5 / $k;
71 | $x1 += $space - 7.6 / $k;
72 | $x2 = $x1 + 1 / $k;
73 | $y1 += $space - .4 / $k;
74 | $y2 = $y1 + (1 / $k);
75 | $pdf->Line($x1, $y1, $x2, $y2);
76 | $x1 = $x1 - 4 / $k;
77 | $x2 = $x1 + .85 / $k;
78 | $y1 = $y + 58.26 / $k;
79 | $y2 = $y1 + .85 / $k;
80 | $pdf->Line($x1, $y1, $x2, $y2);
81 |
82 | // Número contrato e DR
83 | $pdf->SetFont('', '', 6);
84 | $texto = $this->accessData->getNumeroContrato() . '/' . $this->accessData->getAnoContrato(
85 | ) . '-DR/' . $this->accessData->getDiretoria()->getSigla();
86 | $pdf->Cell($wRect, 6 / $k, $texto, 0, 2, 'C');
87 |
88 | // Nome do remetente
89 | $pdf->SetFont('', 'B', 9);
90 | $pdf->MultiCell($wRect, 9 / $k, $pdf->_($this->nomeRemetente), 0, 'C');
91 |
92 | // Escreve CORREIOS na parte inferior
93 | $text = 'CORREIOS';
94 | $pdf->SetDrawColor(255, 255, 255);
95 | $pdf->SetLineWidth(15 / $k);
96 | $x1 = $x + 24.5 / $k;
97 | $x2 = $x1 + $pdf->GetStringWidth($text) - 9.5 / $k;
98 | $y1 = $y + $h - 6 / $k;
99 | $pdf->Line($x1, $y1, $x2, $y1);
100 | $pdf->SetFontSize(9);
101 | $circularText = new CircularText();
102 | $circularText->CircularText($pdf, $x + $wRect / 2 + .5, ($y / $k) - 50, 80, $text, 'bottom', 110);
103 |
104 | $pdf->restoreLastState();
105 | }
106 |
107 | }
108 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Carta2016.php:
--------------------------------------------------------------------------------
1 | saveState();
15 |
16 | // quantos mm cabem dentro de um pt do pdf
17 | $un = 72 / 25.4;
18 |
19 | // Desenha o elipse
20 | $k = $pdf->k;
21 | $wRect = $un * 30 / $k;
22 | $h = $un * 28 / $k;
23 | $lineWidth = 2 / $k;
24 | $pdf->SetLineWidth($lineWidth);
25 | $x = $this->x;
26 | $y = $this->y;
27 | $rx = $wRect / 2;
28 | $ry = $h / 2;
29 | $elipse = new Elipse();
30 | $pdf->SetDrawColor(0, 0, 0);
31 | $elipse->ellipse($pdf, $x, $y, $rx, $ry);
32 |
33 | // Escreve o texto
34 | $pdf->SetFont('Arial', 'BI');
35 | $pdf->SetXY($x, $y + 10 / $k);
36 | $fontSize = 15;
37 | $texto = 'Carta';
38 | $pdf->SetFontSize($fontSize);
39 | $pdf->Cell($wRect, 23 / $k, $texto, 0, 2, 'C');
40 |
41 | // Número contrato e DR
42 | $pdf->SetFont('', '', 7);
43 | $texto = $this->accessData->getNumeroContrato() . '/' . $this->accessData->getAnoContrato(
44 | ) . '-DR/' . $this->accessData->getDiretoria()->getSigla();
45 | $pdf->Cell($wRect, 6 / $k, $texto, 0, 2, 'C');
46 |
47 | // Nome do remetente
48 | $pdf->SetFont('', 'B', 9);
49 | $pdf->MultiCell($wRect, 9 / $k, $pdf->_($this->nomeRemetente), 0, 'C');
50 |
51 | // Insere a logo do correios na parte inferior
52 | $pdf->SetDrawColor(255, 255, 255);
53 | $pdf->SetLineWidth(15 / $k);
54 | $x1 = $x + 24.5 / $k;
55 | $x2 = $x1 + $pdf->GetStringWidth('CORREIOS') - 9.5 / $k;
56 | $y1 = $y + $h - 6 / $k;
57 | $pdf->Image(realpath(dirname(__FILE__)) . '/../correios-logo.png', $x1 - 2 , $y1 - 5);
58 |
59 | $pdf->restoreLastState();
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Pac.php:
--------------------------------------------------------------------------------
1 | saveState();
13 |
14 | // quantos mm cabem dentro de um pt do pdf
15 | $un = 72 / 25.4;
16 |
17 | // Desenha o retangulo
18 | $pdf->SetFillColor(0, 0, 0);
19 | $pdf->SetDrawColor(0, 0, 0);
20 | $k = $pdf->k;
21 | $wRect = $un * 31.5 / $k;
22 | $h = $un * 22.5 / $k;
23 | $lineWidth = 2 / $k;
24 | $pdf->SetLineWidth($lineWidth);
25 | $x = $this->x;
26 | $y = $this->y;
27 | $pdf->Rect($x, $y, $wRect, $h);
28 |
29 | // Escreve o texto PAC
30 | $pdf->SetFont('Arial', 'B', 27);
31 | $pdf->SetXY($x, $y + 4.5 / $k);
32 | $pdf->Cell($wRect, 27 / $k, 'PAC', 0, 2, 'C');
33 |
34 | // Número contrato e DR
35 | $pdf->SetFont('', '', 6);
36 | $texto = $this->accessData->getNumeroContrato() . '/' . $this->accessData->getAnoContrato(
37 | ) . '-DR/' . $this->accessData->getDiretoria()->getSigla();
38 | $pdf->Cell($wRect, 6 / $k, $texto, 0, 2, 'C');
39 |
40 | // Nome do remetente
41 | $pdf->SetFont('', 'B', 9);
42 | $pdf->MultiCell($wRect, 9 / $k, $pdf->_($this->nomeRemetente), 0, 'C');
43 |
44 | // Escreve o texto CORREIOS
45 | $pdf->SetDrawColor(255, 255, 255);
46 | $pdf->SetLineWidth(2 / $k);
47 |
48 | $x1 = $x + (3.15 * $un / $k);
49 | $x2 = $x1 + (0.54 / $k);
50 | $y1 = $y + $h + (.45 / $k);
51 | $y2 = $y1 - (0.9 / $k);
52 | $space = 3.6 / $k;
53 | $pdf->Line($x1, $y1, $x2, $y2);
54 | $x1 += $space;
55 | $x2 += $space;
56 | $pdf->Line($x1, $y1, $x2, $y2);
57 | $x1 += $space;
58 | $x2 += $space;
59 | $pdf->Line($x1, $y1, $x2, $y2);
60 |
61 | $texto = 'CORREIOS';
62 | $x1 += $space;
63 | $pdf->SetFontSize(9);
64 | $stringWidth = $pdf->GetStringWidth($texto);
65 | $x2 += $space + $stringWidth;
66 | $pdf->SetLineWidth(2.5 / $k);
67 | $pdf->Line($x1, $y + $h, $x2, $y + $h);
68 | $pdf->Text($x1, $y1 + .9, $texto);
69 |
70 | $x1 += $space + $pdf->GetStringWidth($texto);
71 | $x2 += $space;
72 | $pdf->Line($x1, $y1, $x2, $y2);
73 | $x1 += $space;
74 | $x2 += $space;
75 | $pdf->Line($x1, $y1, $x2, $y2);
76 | $x1 += $space;
77 | $x2 += $space;
78 | $pdf->Line($x1, $y1, $x2, $y2);
79 |
80 | $pdf->restoreLastState();
81 | }
82 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Pac2016.php:
--------------------------------------------------------------------------------
1 | saveState();
9 |
10 | // quantos mm cabem dentro de um pt do pdf
11 | $un = 72 / 25.4;
12 |
13 | // Desenha o retangulo
14 | $pdf->SetFillColor(0, 0, 0);
15 | $pdf->SetDrawColor(0, 0, 0);
16 | $k = $pdf->k;
17 | $wRect = $un * 31.5 / $k;
18 | $h = $un * 22.5 / $k;
19 | $lineWidth = 2 / $k;
20 | $pdf->SetLineWidth($lineWidth);
21 | $x = $this->x;
22 | $y = $this->y;
23 | $pdf->RoundedRect($x, $y, $wRect, $h, 5);
24 |
25 | // Escreve o texto PAC
26 | $pdf->SetFont('Arial', 'B', 27);
27 | $pdf->SetXY($x, $y + 4.5 / $k);
28 | $pdf->Cell($wRect, 27 / $k, 'PAC', 0, 2, 'C');
29 |
30 | // Número contrato e DR
31 | $pdf->SetFont('', '', 7);
32 | $texto = $this->accessData->getNumeroContrato() . '/' . $this->accessData->getAnoContrato()
33 | . '-DR/' . $this->accessData->getDiretoria()->getSigla();
34 | $pdf->Cell($wRect, 6 / $k, $texto, 0, 2, 'C');
35 |
36 | // Nome do remetente
37 | $pdf->SetFont('', 'B', 9);
38 | $pdf->MultiCell($wRect, 8 / $k, $pdf->_($this->nomeRemetente), 0, 'C');
39 |
40 | // Insere a logo do correios na parte inferior
41 | $pdf->SetDrawColor(255, 255, 255);
42 | $pdf->SetLineWidth(2 / $k);
43 |
44 | $x1 = $x + (3.15 * $un / $k);
45 | $x2 = $x1 + (0.54 / $k);
46 | $y1 = $y + $h + (.45 / $k);
47 | $y2 = $y1 - (0.9 / $k);
48 | $space = 3.6 / $k;
49 | $x1 += $space;
50 | $x2 += $space;
51 | $x1 += $space;
52 | $x2 += $space;
53 |
54 | $x1 += $space;
55 | $pdf->SetFontSize(9);
56 | $stringWidth = $pdf->GetStringWidth('CORREIOS');
57 | $x2 += $space + $stringWidth;
58 | $pdf->SetLineWidth(2.5 / $k);
59 | $pdf->Line($x1, $y + $h, $x2, $y + $h);
60 |
61 | $pdf->Image(realpath(dirname(__FILE__)) . '/../correios-logo.png', $x1 , $y1 - 3);
62 |
63 | $pdf->restoreLastState();
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Pac2018.php:
--------------------------------------------------------------------------------
1 | saveState();
9 |
10 | // Desenha o retangulo
11 | $pdf->SetFillColor(0, 0, 0);
12 | $pdf->SetDrawColor(0, 0, 0);
13 |
14 | $x = $this->x;
15 | $y = $this->y;
16 | //$pdf->RoundedRect($x, $y, $wRect, $h, 5);
17 | $pdf->Circle($x, $y, 10, 'F');
18 |
19 | $pdf->restoreLastState();
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Chancela/Sedex2016.php:
--------------------------------------------------------------------------------
1 | setServicoDePostagem($tipoServico);
33 | }
34 |
35 | public function setServicoDePostagem($servicoPostagem)
36 | {
37 | $rClass = new \ReflectionClass(__CLASS__);
38 | $servicos = $rClass->getConstants();
39 |
40 | if (in_array($servicoPostagem, $servicos) === false) {
41 | throw new \InvalidArgumentException('O serviço de postagem deve ser uma das constantes da classe');
42 | }
43 | $this->tipoServico = $servicoPostagem;
44 | }
45 |
46 | public function draw(\PhpSigep\Pdf\ImprovedFPDF $pdf)
47 | {
48 | $pdf->saveState();
49 |
50 | // quantos mm cabem dentro de um pt do pdf
51 | $un = 72 / 25.4;
52 |
53 | // Desenha o elipse
54 | $k = $pdf->k;
55 | $wRect = $un * 32 / $k;
56 | $h = $un * 20 / $k;
57 | $lineWidth = 2 / $k;
58 | $pdf->SetLineWidth($lineWidth);
59 | $x = $this->x;
60 | $y = $this->y;
61 | $rx = $wRect / 2;
62 | $ry = $h / 2;
63 | $elipse = new Elipse();
64 | $pdf->SetDrawColor(0, 0, 0);
65 | $elipse->ellipse($pdf, $x, $y, $rx, $ry);
66 |
67 | // Escreve o texto Sedex
68 | $pdf->SetFont('Arial', 'BI');
69 | $pdf->SetXY($x, $y + 5 / $k);
70 | $fontSize = 12;
71 | if ($this->tipoServico == self::SERVICE_E_SEDEX) {
72 | $texto = 'e-SEDEX';
73 | } else if ($this->tipoServico == self::SERVICE_SEDEX) {
74 | $texto = 'SEDEX';
75 | } else if ($this->tipoServico == self::SERVICE_SEDEX_10) {
76 | $fontSize = 11;
77 | $texto = 'SEDEX 10';
78 | } else if ($this->tipoServico == self::SERVICE_SEDEX_12) {
79 | $fontSize = 11;
80 | $texto = 'SEDEX 12';
81 | } else {
82 | if ($this->tipoServico == self::SERVICE_SEDEX_HOJE) {
83 | $fontSize = 11;
84 | $texto = 'SEDEX Hoje';
85 | }
86 | }
87 |
88 | $pdf->SetFontSize($fontSize);
89 | $pdf->Cell($wRect, 18 / $k, $texto, 0, 2, 'C');
90 |
91 | // Número contrato e DR
92 | $pdf->SetFont('', '', 7);
93 | $texto = $this->accessData->getNumeroContrato() . '/' . $this->accessData->getAnoContrato()
94 | . '-DR/' . $this->accessData->getDiretoria()->getSigla();
95 | $pdf->Cell($wRect, 6 / $k, $texto, 0, 2, 'C');
96 |
97 | // Nome do remetente
98 | $pdf->SetFont('', 'B', 9);
99 | $pdf->MultiCell($wRect, 10 / $k, $pdf->_($this->nomeRemetente), 0, 'C');
100 |
101 | // Insere a logo do correios na parte inferior
102 | $pdf->SetDrawColor(255, 255, 255);
103 | $pdf->SetLineWidth(10 / $k);
104 | $x1 = $x - 4 / $k;
105 | $x2 = $x1 + $pdf->GetStringWidth('CORREIOS') + 40 / $k;
106 | $y1 = $y + $h - 3 / $k;
107 | $pdf->Line($x1, $y1, $x2, $y1);
108 |
109 | $pdf->Image(realpath(dirname(__FILE__)) . '/../correios-logo.png', $x1 + 9 , $y1 - 3);
110 |
111 | $pdf->restoreLastState();
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Exception/InvalidChancelaEntry.php:
--------------------------------------------------------------------------------
1 | Error('Please use values unequal to zero for kerning');
14 | }
15 | if ($fontwidth == 0) $pdf->Error('Please use values unequal to zero for font width');
16 | //get width of every letter
17 | $t = 0;
18 | $iMax = strlen($text);
19 | for ($i = 0; $i < $iMax; $i++) {
20 | $w[$i] = $pdf->GetStringWidth($text[$i]);
21 | $w[$i] *= $kerning * $fontwidth;
22 | //total width of string
23 | $t += $w[$i];
24 | }
25 | //circumference
26 | $u = ($r * 2) * M_PI;
27 | //total width of string in degrees
28 | $d = ($t / $u) * 360;
29 | $transf->StartTransform($pdf);
30 | // rotate matrix for the first letter to center the text
31 | // (half of total degrees)
32 | if ($align == 'top') {
33 | $transf->Rotate($pdf, $d / 2, $x, $y);
34 | } else {
35 | $transf->Rotate($pdf, -$d / 2, $x, $y);
36 | }
37 | $iMax = strlen($text);
38 | //run through the string
39 | for ($i = 0; $i < $iMax; $i++) {
40 | if ($align == 'top') {
41 | //rotate matrix half of the width of current letter + half of the width of preceding letter
42 | if ($i == 0) {
43 | $transf->Rotate($pdf, -(($w[$i] / 2) / $u) * 360, $x, $y);
44 | } else {
45 | $transf->Rotate($pdf, -(($w[$i] / 2 + $w[$i - 1] / 2) / $u) * 360, $x, $y);
46 | }
47 | if ($fontwidth != 1) {
48 | $transf->StartTransform($pdf);
49 | $transf->ScaleX($pdf, $fontwidth * 100, $x, $y);
50 | }
51 | $pdf->SetXY($x - $w[$i] / 2, $y - $r);
52 | } else {
53 | //rotate matrix half of the width of current letter + half of the width of preceding letter
54 | if ($i == 0) {
55 | $transf->Rotate($pdf, (($w[$i] / 2) / $u) * 360, $x, $y);
56 | } else {
57 | $transf->Rotate($pdf, (($w[$i] / 2 + $w[$i - 1] / 2) / $u) * 360, $x, $y);
58 | }
59 | if ($fontwidth != 1) {
60 | $transf->StartTransform($pdf);
61 | $transf->ScaleX($pdf, $fontwidth * 100, $x, $y);
62 | }
63 | $pdf->SetXY($x - $w[$i] / 2, $y + $r - ($pdf->FontSize));
64 | }
65 | $pdf->Cell($w[$i], $pdf->FontSize, $text[$i], 0, 0, 'C');
66 | if ($fontwidth != 1) {
67 | $transf->StopTransform($pdf);
68 | }
69 | }
70 | $transf->StopTransform($pdf);
71 | }
72 |
73 | }
74 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/Script/Elipse.php:
--------------------------------------------------------------------------------
1 | k;
23 | $h = $pdf->h;
24 | $pdf->_out(
25 | sprintf(
26 | '%.2f %.2f m %.2f %.2f %.2f %.2f %.2f %.2f c',
27 | ($x + $rx) * $k,
28 | ($h - $y) * $k,
29 | ($x + $rx) * $k,
30 | ($h - ($y - $ly)) * $k,
31 | ($x + $lx) * $k,
32 | ($h - ($y - $ry)) * $k,
33 | $x * $k,
34 | ($h - ($y - $ry)) * $k
35 | )
36 | );
37 | $pdf->_out(
38 | sprintf(
39 | '%.2f %.2f %.2f %.2f %.2f %.2f c',
40 | ($x - $lx) * $k,
41 | ($h - ($y - $ry)) * $k,
42 | ($x - $rx) * $k,
43 | ($h - ($y - $ly)) * $k,
44 | ($x - $rx) * $k,
45 | ($h - $y) * $k
46 | )
47 | );
48 | $pdf->_out(
49 | sprintf(
50 | '%.2f %.2f %.2f %.2f %.2f %.2f c',
51 | ($x - $rx) * $k,
52 | ($h - ($y + $ly)) * $k,
53 | ($x - $lx) * $k,
54 | ($h - ($y + $ry)) * $k,
55 | $x * $k,
56 | ($h - ($y + $ry)) * $k
57 | )
58 | );
59 | $pdf->_out(
60 | sprintf(
61 | '%.2f %.2f %.2f %.2f %.2f %.2f c %s',
62 | ($x + $lx) * $k,
63 | ($h - ($y + $ry)) * $k,
64 | ($x + $rx) * $k,
65 | ($h - ($y + $ly)) * $k,
66 | ($x + $rx) * $k,
67 | ($h - $y) * $k,
68 | $op
69 | )
70 | );
71 | }
72 |
73 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/correios-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/src/PhpSigep/Pdf/correios-logo.png
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/logo-correios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/src/PhpSigep/Pdf/logo-correios.png
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/sema.php:
--------------------------------------------------------------------------------
1 | ?@[\\_\]\[{\|}~\r*]+ /','', $text);
24 | // encode
25 | $semacode = new Semacode();
26 | if($type == 'png'){
27 | $semacode->sendPNG($text);
28 | }elseif($type == 'svg'){
29 | header('Content-Type: image/svg');
30 | echo $semacode->asSVG($text);
31 | }else{
32 | echo '';
33 | echo $semacode->asHTMLTable($text);
34 | echo '';
35 | }
36 | ?>
37 |
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/simbolo-sedex-expresso.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/src/PhpSigep/Pdf/simbolo-sedex-expresso.png
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/simbolo-sedex-standard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/src/PhpSigep/Pdf/simbolo-sedex-standard.png
--------------------------------------------------------------------------------
/src/PhpSigep/Pdf/simbolo-sem-especificacao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stavarengo/php-sigep/9d721764874f9bb80ab066214af5ce26403c5c22/src/PhpSigep/Pdf/simbolo-sem-especificacao.png
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Exception.php:
--------------------------------------------------------------------------------
1 | $numeroEtiqueta,
17 | 'idPlp' => $idPlp,
18 | 'tipoBloqueio' => 'FRAUDE_BLOQUEIO',
19 | 'acao' => 'DEVOLVIDO_AO_REMETENTE',
20 | 'usuario' => $usuario,
21 | 'senha' => $senha
22 | );
23 |
24 | $r = SoapClientFactory::getSoapClient()->bloquearObjeto($soapArgs);
25 |
26 | $errorCode = null;
27 | $errorMsg = null;
28 | $result = new Result();
29 | if (!$r) {
30 | $errorCode = 0;
31 | } else if ($r instanceof \SoapFault) {
32 | $errorCode = $r->getCode();
33 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
34 | $result->setSoapFault($r);
35 | } else if ($r instanceof \stdClass && property_exists($r, 'return')) {
36 | $status = new BloquearObjetoResposta();
37 | $status->setReturn($r->return);
38 | $result->setResult($status);
39 | } else {
40 | $errorCode = 0;
41 | $errorMsg = "A resposta do Correios não está no formato esperado.";
42 | }
43 |
44 | $result->setErrorCode($errorCode);
45 | $result->setErrorMsg($errorMsg);
46 |
47 | return $result;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/BuscaCliente.php:
--------------------------------------------------------------------------------
1 | $params->getNumeroContrato(),
31 | 'idCartaoPostagem' => $params->getCartaoPostagem(),
32 | 'usuario' => $params->getUsuario(),
33 | 'senha' => $params->getSenha(),
34 | );
35 |
36 | $result = new Result();
37 |
38 | try {
39 | if (!$params->getUsuario() || !$params->getSenha() || !$params->getNumeroContrato()
40 | || !$params->getCartaoPostagem()
41 | ) {
42 | throw new Exception('Para usar este serviço você precisa setar o nome de usuário, a senha, o numero ' .
43 | 'do contrato e o número do cartão de postagem.');
44 | }
45 |
46 | $r = SoapClientFactory::getSoapClient()->buscaCliente($soapArgs);
47 | if (!$r || !is_object($r) || !isset($r->return) || ($r instanceof \SoapFault)) {
48 | if ($r instanceof \SoapFault) {
49 | throw $r;
50 | }
51 | throw new \Exception('Erro ao consultar os dados do cliente. Retorno: "' . $r . '"');
52 | }
53 |
54 | $result->setResult(new BuscaClienteResult((array)$r->return));
55 | } catch (\SoapFault $soapFault) {
56 | $result->setIsSoapFault(true);
57 | $result->setErrorCode($soapFault->getCode());
58 | $result->setErrorMsg(SoapClientFactory::convertEncoding($soapFault->getMessage()));
59 | } catch (\Exception $e) {
60 | $result->setErrorCode($e->getCode());
61 | $result->setErrorMsg($e->getMessage());
62 | }
63 |
64 | return $result;
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/CancelarObjeto.php:
--------------------------------------------------------------------------------
1 | $numeroEtiqueta,
17 | 'idPlp' => $idPlp,
18 | 'usuario' => $usuario,
19 | 'senha' => $senha
20 | );
21 |
22 | $r = SoapClientFactory::getSoapClient()->cancelarObjeto($soapArgs);
23 |
24 | $errorCode = null;
25 | $errorMsg = null;
26 | $result = new Result();
27 | if (!$r) {
28 | $errorCode = 0;
29 | } else if ($r instanceof \SoapFault) {
30 | $errorCode = $r->getCode();
31 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
32 | $result->setSoapFault($r);
33 | } else if ($r instanceof \stdClass && property_exists($r, 'return')) {
34 | $status = new CancelarObjetoResposta();
35 | $status->setReturn($r->return);
36 | $result->setResult($status);
37 | } else {
38 | $errorCode = 0;
39 | $errorMsg = "A resposta do Correios não está no formato esperado.";
40 | }
41 |
42 | $result->setErrorCode($errorCode);
43 | $result->setErrorMsg($errorMsg);
44 |
45 | return $result;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/ConsultaCep.php:
--------------------------------------------------------------------------------
1 | $cep,
19 | );
20 |
21 | $r = SoapClientFactory::getSoapClient()->consultaCep($soapArgs);
22 |
23 | $errorCode = null;
24 | $errorMsg = null;
25 | $result = new Result();
26 | if (!$r) {
27 | $errorCode = 0;
28 | } else if ($r instanceof \SoapFault) {
29 | $errorCode = $r->getCode();
30 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
31 | $result->setSoapFault($r);
32 | } else if ($r instanceof \stdClass) {
33 | if (property_exists($r, 'return') && $r->return instanceof \stdClass) {
34 | $consultaCepResposta = new ConsultaCepResposta();
35 | $consultaCepResposta->setBairro(SoapClientFactory::convertEncoding($r->return->bairro));
36 | $consultaCepResposta->setCep($r->return->cep);
37 | $consultaCepResposta->setCidade(SoapClientFactory::convertEncoding($r->return->cidade));
38 | if (isset($r->return->complemento1)) {
39 | $consultaCepResposta->setComplemento1(SoapClientFactory::convertEncoding($r->return->complemento));
40 | }
41 | if (isset($r->return->complemento2)) {
42 | $consultaCepResposta->setComplemento2(SoapClientFactory::convertEncoding($r->return->complemento2));
43 | }
44 | if (isset($r->return->end)) {
45 | $consultaCepResposta->setEndereco(SoapClientFactory::convertEncoding($r->return->end));
46 | }
47 | if (isset($r->return->id)) {
48 | $consultaCepResposta->setId($r->return->id);
49 | }
50 | $consultaCepResposta->setUf($r->return->uf);
51 |
52 |
53 | $result->setResult($consultaCepResposta);
54 | } else {
55 | $errorCode = 0;
56 | $errorMsg = "Resposta em branco. Confirme se o CEP '$cep' realmente existe.";
57 | }
58 | } else {
59 | $errorCode = 0;
60 | $errorMsg = "A resposta do Correios não está no formato esperado.";
61 | }
62 |
63 | $result->setErrorCode($errorCode);
64 | $result->setErrorMsg($errorMsg);
65 |
66 | return $result;
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/ConsultarAgencia.php:
--------------------------------------------------------------------------------
1 |
23 | */
24 | public function execute($codigo)
25 | {
26 | $soapArgs = array(
27 | 'codigo' => $codigo
28 | );
29 |
30 | $result = new Result();
31 |
32 | try {
33 | $r = SoapClientFactory::getSoapAgenciaWS()->consultarAgencia($soapArgs);
34 | if (!$r || !is_object($r) || !isset($r->resultadoAgenciaDetalhe) || ($r instanceof \SoapFault)) {
35 | if ($r instanceof \SoapFault) {
36 | throw $r;
37 | }
38 |
39 | throw new FailedResultException('Erro ao Consultar Agencia. Retorno: "' . $r . '"');
40 | }
41 |
42 | if ($r instanceof \stdClass) {
43 | $objectToarray = json_decode(json_encode($r), true);
44 |
45 | if ($objectToarray) {
46 | $result->setResult(new ConsultarAgenciaResult($objectToarray['resultadoAgenciaDetalhe']));
47 | } else {
48 | throw new FailedConvertToArrayException('Erro ao converter Object para Array da Busca. Retorno: "' . print_r(json_last_error_msg(), true) . '"');
49 | }
50 | }
51 | } catch (\Exception $e) {
52 | if ($e instanceof \SoapFault) {
53 | $result->setIsSoapFault(true);
54 | $result->setErrorCode($e->getCode());
55 | $result->setErrorMsg("Resposta do Correios: " . SoapClientFactory::convertEncoding($e->getMessage()));
56 | } else {
57 | $result->setErrorCode($e->getCode());
58 | $result->setErrorMsg($e->getMessage());
59 | }
60 | }
61 |
62 | return $result;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/ConsultarColeta.php:
--------------------------------------------------------------------------------
1 |
12 | */
13 | class ConsultarColeta implements RealServiceInterface
14 | {
15 |
16 | /**
17 | * @param \PhpSigep\Model\AbstractModel|\PhpSigep\Model\ConsultarColeta $params
18 | *
19 | * @throws \PhpSigep\Services\Exception
20 | * @throws \PhpSigep\InvalidArgument
21 | * @return Result
22 | */
23 | public function execute(AbstractModel $params)
24 | {
25 | if (!$params instanceof \PhpSigep\Model\ConsultarColeta) {
26 | throw new InvalidArgument();
27 | }
28 |
29 | $result = new Result();
30 | try {
31 | if (
32 | !$params->getAccessData() || !$params->getAccessData()->getUsuario() || !$params->getAccessData()->getSenha()
33 | ) {
34 | throw new Exception('Para usar este serviço você precisa setar o nome de usuário e senha.');
35 | }
36 | $soapArgs = [
37 | 'codAdministrativo' => $params->getAccessData()->getCodAdministrativo(),
38 | 'tipoBusca' => $params->getTipoBusca(),
39 | 'tipoSolicitacao' => $params->getTipoSolicitacao(),
40 | 'numeroPedido' => $params->getNumeroPedido()
41 | ];
42 | $r = SoapClientFactory::getSoapReversa()->acompanharPedido($soapArgs);
43 | if (!$r || !is_object($r) || !isset($r->return) || ($r instanceof \SoapFault)) {
44 | if ($r instanceof \SoapFault) {
45 | throw $r;
46 | }
47 |
48 | if ($r->acompanharPedido) {
49 |
50 | if (!empty($r->acompanharPedido->msg_erro)) {
51 | throw new \Exception($r->acompanharPedido->msg_erro, (int) $r->acompanharPedido->cod_erro);
52 | }
53 | $resultado = new \PhpSigep\Model\ConsultarColetaRetorno();
54 | $resultado->setTipo($r->acompanharPedido->tipo_solicitacao);
55 | $resultado->setNumeroPedido($r->acompanharPedido->coleta->numero_pedido);
56 | $resultado->setControleCliente($r->acompanharPedido->coleta->controle_cliente);
57 | $resultado->setObjeto($r->acompanharPedido->coleta->objeto);
58 | $resultado->setHistorico($r->acompanharPedido->coleta->historico);
59 |
60 | $result->setResult($resultado);
61 | return $result;
62 | }
63 | throw new \Exception('Falha na leitura do XML (' . var_export($r) . ')', 400);
64 | }
65 | } catch (\Exception $e) {
66 | if ($e instanceof \SoapFault) {
67 | $result->setIsSoapFault(true);
68 | }
69 | $result->setErrorCode($e->getCode());
70 | $result->setErrorMsg($e->getMessage());
71 | }
72 | return $result;
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/Exception/AgenciaWS/FailedConvertToArrayException.php:
--------------------------------------------------------------------------------
1 | gerarXml = new GerarXmlPreListaDePostagem();
23 | }
24 |
25 | /**
26 | * @param PreListaDePostagem $params
27 | *
28 | * @return \PhpSigep\Services\Result<\PhpSigep\Model\FechaPlpVariosServicosRetorno>
29 | */
30 | public function execute(\PhpSigep\Model\PreListaDePostagem $params)
31 | {
32 | $listaEtiquetas = array();
33 | foreach ($params->getEncomendas() as $objetoPostal) {
34 | $listaEtiquetas[] = $objetoPostal->getEtiqueta()->getEtiquetaSemDv();
35 | }
36 |
37 | $soapArgs = array(
38 | 'xml' => $this->gerarXml->gerar($params),
39 | 'idPlpCliente' => '',
40 | 'cartaoPostagem' => $params->getAccessData()->getCartaoPostagem(),
41 | 'listaEtiquetas' => $listaEtiquetas,
42 | 'usuario' => $params->getAccessData()->getUsuario(),
43 | 'senha' => $params->getAccessData()->getSenha(),
44 | );
45 |
46 | $result = new Result();
47 | try {
48 | $r = SoapClientFactory::getSoapClient()->fechaPlpVariosServicos($soapArgs);
49 | if (class_exists('\StaLib_Logger',false)) {
50 | \StaLib_Logger::log('Retorno SIGEP fecha PLP: ' . print_r($r, true));
51 | }
52 | if ($r instanceof \SoapFault) {
53 | throw $r;
54 | }
55 | if ($r && $r->return) {
56 | $result->setResult(new FechaPlpVariosServicosRetorno(array('idPlp' => $r->return)));
57 | } else {
58 | $result->setErrorCode(0);
59 | $result->setErrorMsg('A resposta do Correios não está no formato esperado. Resposta recebida: "' .
60 | $r . '"');
61 | }
62 | } catch (\Exception $e) {
63 | if ($e instanceof \SoapFault) {
64 | $result->setIsSoapFault(true);
65 | $result->setErrorCode($e->getCode());
66 | $result->setErrorMsg(SoapClientFactory::convertEncoding($e->getMessage()));
67 | } else {
68 | $result->setErrorCode($e->getCode());
69 | $result->setErrorMsg($e->getMessage());
70 | }
71 | }
72 |
73 | return $result;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/GeraDigitoVerificadorEtiquetas.php:
--------------------------------------------------------------------------------
1 | array(),
22 | 'usuario' => $params->getAccessData()->getUsuario(),
23 | 'senha' => $params->getAccessData()->getSenha(),
24 | );
25 |
26 | // É necessário garantir que o array estará indexado por order natural começando do zero para setarmos os
27 | // DV retornados pelo webservice.
28 | $etiquetas = array_values($params->getEtiquetas());
29 |
30 | /** @var $etiqueta Etiqueta */
31 | foreach ($etiquetas as $etiqueta) {
32 | $soapArgs['etiquetas'][] = $etiqueta->getEtiquetaSemDv();
33 | }
34 |
35 | $result = new Result();
36 | try {
37 | $soapReturn = SoapClientFactory::getSoapClient()->geraDigitoVerificadorEtiquetas($soapArgs);
38 | if ($soapReturn && is_object($soapReturn) && isset($soapReturn->return)) {
39 | if (!is_array($soapReturn->return)) {
40 | $soapReturn->return = (array)$soapReturn->return;
41 | }
42 |
43 | foreach ($soapReturn->return as $k => $dv) {
44 | $etiquetas[$k]->setDv((int)$dv);
45 | }
46 | $result->setResult($etiquetas);
47 | } else {
48 | $result->setErrorCode(0);
49 | $result->setErrorMsg('A resposta do Correios não está no formato esperado. Resposta recebida: "' .
50 | $soapReturn . '"');
51 | }
52 | } catch (\Exception $e) {
53 | if ($e instanceof \SoapFault) {
54 | $result->setIsSoapFault(true);
55 | $result->setErrorCode($e->getCode());
56 | $result->setErrorMsg(SoapClientFactory::convertEncoding($e->getMessage()));
57 | } else {
58 | $result->setErrorCode($e->getCode());
59 | $result->setErrorMsg($e->getMessage());
60 | }
61 | }
62 |
63 | return $result;
64 | }
65 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/ListarAgenciasCliqueRetire.php:
--------------------------------------------------------------------------------
1 |
25 | */
26 | public function execute($zone, $city, $address_2)
27 | {
28 | $soapArgs = array(
29 | 'uf' => $zone,
30 | 'municipio' => $city,
31 | 'bairro' => $address_2
32 | );
33 |
34 | $result = new Result();
35 |
36 | try {
37 | $r = SoapClientFactory::getSoapAgenciaWS()->listarAgenciasCliqueERetirePorLocalidade($soapArgs);
38 | if (!$r || !is_object($r) || !isset($r->resultadoListaAgencia) || ($r instanceof \SoapFault)) {
39 | if ($r instanceof \SoapFault) {
40 | throw $r;
41 | }
42 |
43 | throw new FailedResultException('Erro ao listar agencias Clique e Retire. Retorno: "' . $r . '"');
44 | }
45 |
46 | if ($r instanceof \stdClass) {
47 | $objectToarray = json_decode(json_encode($r), true);
48 |
49 | if ($objectToarray) {
50 | $result->setResult(new ListarAgenciasCliqueRetireResult($objectToarray['resultadoListaAgencia']));
51 | } else {
52 | throw new FailedConvertToArrayException('Erro ao converter Object para Array da Busca. Retorno: "' . print_r(json_last_error_msg(), true) . '"');
53 | }
54 | }
55 | } catch (\Exception $e) {
56 | if ($e instanceof \SoapFault) {
57 | $result->setIsSoapFault(true);
58 | $result->setErrorCode($e->getCode());
59 | $result->setErrorMsg("Resposta do Correios: " . SoapClientFactory::convertEncoding($e->getMessage()));
60 | } else {
61 | $result->setErrorCode($e->getCode());
62 | $result->setErrorMsg($e->getMessage());
63 | }
64 | }
65 |
66 | return $result;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/LogisticaReversaAcompanharPedidoData.php:
--------------------------------------------------------------------------------
1 | $accessData->getCodAdministrativo(),
17 | 'tipoSolicitacao' => $tipoSolicitacao,
18 | 'data' => $data,
19 | );
20 |
21 | $r = SoapClientFactory::getSoapLogisticaReversa()->acompanharPedidoPorData($soapArgs);
22 |
23 | $errorCode = null;
24 | $errorMsg = null;
25 | $result = new Result();
26 | if (!$r) {
27 | $errorCode = 0;
28 | } else if ($r instanceof \SoapFault) {
29 | $errorCode = $r->getCode();
30 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
31 | $result->setSoapFault($r);
32 | } else if ($r instanceof \stdClass && property_exists($r, 'acompanharPedidoPorData')) {
33 |
34 | $status = new LogisticaReversaPedidoResposta();
35 | $status->setReturn($r->acompanharPedidoPorData);
36 | $result->setResult($status);
37 | } else {
38 | $errorCode = 0;
39 | $errorMsg = "A resposta do Correios não está no formato esperado.";
40 | }
41 |
42 | $result->setErrorCode($errorCode);
43 | $result->setErrorMsg($errorMsg);
44 |
45 | return $result;
46 | }
47 |
48 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/LogisticaReversaAcompanharPedidoNumero.php:
--------------------------------------------------------------------------------
1 | $accessData->getUsuario(),
17 | 'senha' => $accessData->getSenha(),
18 | );
19 | $soapArgs = array(
20 | 'codAdministrativo' => $accessData->getCodAdministrativo(),
21 | 'tipoBusca' => $tipoBusca,
22 | 'tipoSolicitacao' => $tipoSolicitacao,
23 | 'numeroPedido' => $numPedido,
24 | );
25 |
26 | $r = SoapClientFactory::getSoapLogisticaReversa()->acompanharPedido($soapArgs, $authArgs);
27 |
28 | $errorCode = null;
29 | $errorMsg = null;
30 | $result = new Result();
31 | if (!$r) {
32 | $errorCode = 0;
33 | } else if ($r instanceof \SoapFault) {
34 | $errorCode = $r->getCode();
35 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
36 | $result->setSoapFault($r);
37 | } else if ($r instanceof \stdClass && property_exists($r, 'acompanharPedido')) {
38 |
39 | $status = new LogisticaReversaPedidoResposta();
40 | $status->setReturn($r->acompanharPedido);
41 | $result->setResult($status);
42 | } else {
43 | $errorCode = 0;
44 | $errorMsg = "A resposta do Correios não está no formato esperado.";
45 | }
46 |
47 | $result->setErrorCode($errorCode);
48 | $result->setErrorMsg($errorMsg);
49 |
50 | return $result;
51 | }
52 |
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/LogisticaReversaCancelarPedido.php:
--------------------------------------------------------------------------------
1 | $params["accessData"]->getUsuario(),
17 | 'senha' => $params["accessData"]->getSenha(),
18 | );
19 | $soapArgs = array(
20 | 'codAdministrativo' => $params["accessData"]->getCodAdministrativo(),
21 | 'tipo' => $params["dados"]["tipoSolicitacao"],
22 | 'numeroPedido' => $params["dados"]["numeroPedido"],
23 | );
24 |
25 | $r = SoapClientFactory::getSoapLogisticaReversa()->cancelarPedido($soapArgs, $authArgs);
26 |
27 | $errorCode = null;
28 | $errorMsg = null;
29 | $result = new Result();
30 | if (!$r) {
31 | $errorCode = 0;
32 | } else if ($r instanceof \SoapFault) {
33 | $errorCode = $r->getCode();
34 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
35 | $result->setSoapFault($r);
36 | } else if ($r instanceof \stdClass && property_exists($r, 'cancelarPedido')) {
37 | print_r($r);
38 | $status = new LogisticaReversaPedidoResposta();
39 | $status->setReturn($r->cancelarPedido);
40 | $result->setResult($status);
41 | } else {
42 | $errorCode = 0;
43 | $errorMsg = "A resposta do Correios não está no formato esperado.";
44 | }
45 |
46 | $result->setErrorCode($errorCode);
47 | $result->setErrorMsg($errorMsg);
48 |
49 | return $result;
50 | }
51 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/LogisticaReversaCriarPedido.php:
--------------------------------------------------------------------------------
1 | return) && !($request instanceof \SoapFault)) {
23 | return true;
24 | } else {
25 | if ($request instanceof \SoapFault) {
26 | throw $request;
27 | }
28 | throw new \Exception('Não foi possível criar o pedido. Retorno: "' . $request . '"');
29 | }
30 | }
31 |
32 |
33 | /**
34 | * @param \PhpSigep\Model\AbstractModel|\PhpSigep\Model\LogisticaReversaCriarPedido $params
35 | *
36 | * @throws \PhpSigep\Services\Exception
37 | * @throws \PhpSigep\Services\InvalidArgument
38 | * @return Result
39 | */
40 | public function execute(AbstractModel $params)
41 | {
42 | if (!$params instanceof LogisticaReversaPedido) {
43 | throw new InvalidArgument();
44 | }
45 |
46 | $result = new Result();
47 |
48 | try {
49 | if (!$params->getAccessData() || !$params->getAccessData()->getUsuario()
50 | || !$params->getAccessData()->getSenha()
51 | ) {
52 | throw new Exception('Para usar este serviço você precisa setar o nome de usuário e senha.');
53 | }
54 |
55 | $authArgs = array(
56 | 'usuario' => $params->getAccessData()->getUsuario(),
57 | 'senha' => $params->getAccessData()->getSenha(),
58 | );
59 | $parametros = $params->getDados();
60 |
61 | $r = SoapClientFactory::getSoapLogisticaReversa()->solicitarPostagemReversa($parametros, $authArgs);
62 |
63 | if (!$r) {
64 | $errorCode = 0;
65 | } else if ($r instanceof \SoapFault) {
66 | $errorCode = $r->getCode();
67 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
68 | $result->setSoapFault($r);
69 | } else if ($r instanceof \stdClass && property_exists($r, 'solicitarPostagemReversa')) {
70 | $status = new LogisticaReversaPedidoResposta();
71 | $status->setReturn($r->solicitarPostagemReversa);
72 | $result->setResult($status);
73 | } else {
74 | $errorCode = 0;
75 | $errorMsg = "A resposta do Correios não está no formato esperado.";
76 | }
77 | } catch (\Exception $e) {
78 | }
79 |
80 | return $result;
81 | }
82 |
83 | }
84 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/RealServiceInterface.php:
--------------------------------------------------------------------------------
1 |
23 | */
24 | public function execute($idPlpMaster)
25 | {
26 | $soapArgs = array(
27 | 'idPlpMaster' => $idPlpMaster,
28 | 'usuario' => Bootstrap::getConfig()->getAccessData()->getUsuario(),
29 | 'senha' => Bootstrap::getConfig()->getAccessData()->getSenha()
30 | );
31 |
32 | $result = new Result();
33 |
34 | try {
35 | $r = SoapClientFactory::getSoapClient()->solicitaXmlPlp($soapArgs);
36 | if (!$r || !is_object($r) || !isset($r->return) || ($r instanceof \SoapFault)) {
37 | if ($r instanceof \SoapFault) {
38 | throw $r;
39 | }
40 |
41 | throw new FailedResultException('Erro ao consultar XML da PLP. Retorno: "' . $r . '"');
42 | }
43 |
44 | if (is_string($r->return)) {
45 | libxml_use_internal_errors(true);
46 | $xmlString = iconv('utf-8', 'ISO-8859-1//IGNORE', $r->return);
47 | $xml = simplexml_load_string($xmlString, \SimpleXMLElement::class, LIBXML_NOCDATA);
48 | if ($xml instanceof \SimpleXMLElement) {
49 | $objectToarray = json_decode(json_encode($xml), true);
50 |
51 | if ($objectToarray) {
52 | $result->setResult(new SolicitaXmlPlpResult($objectToarray));
53 | } else {
54 | throw new FailedConvertToArrayException('Erro ao converter Object para Array da PLP. Retorno: "' . print_r(json_last_error_msg(), true) . '"');
55 | }
56 | } else {
57 | throw new FailedConvertXmlException('Erro ao converter XML da PLP. Retorno: "' . print_r(libxml_get_errors(), true) . '"');
58 | }
59 | } else {
60 | throw new FailedResultException('Erro no resultado do XML da PLP. Retorno: "' . print_r($r->return, true) . '"');
61 | }
62 | } catch (\Exception $e) {
63 | if ($e instanceof \SoapFault) {
64 | $result->setIsSoapFault(true);
65 | $result->setErrorCode($e->getCode());
66 | $result->setErrorMsg("Resposta do Correios: " . SoapClientFactory::convertEncoding($e->getMessage()));
67 | } else {
68 | $result->setErrorCode($e->getCode());
69 | $result->setErrorMsg($e->getMessage());
70 | }
71 | }
72 |
73 | return $result;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/VerificaDisponibilidadeServico.php:
--------------------------------------------------------------------------------
1 |
17 | */
18 | public function execute(\PhpSigep\Model\VerificaDisponibilidadeServico $params)
19 | {
20 | $servicosDePostagem = $params->getServicos();
21 |
22 | $codigoDosServicos = array_map(array($this, 'arrayMapCallback'), $servicosDePostagem);
23 |
24 | $soapArgs = array(
25 | 'codAdministrativo' => $params->getAccessData()->getCodAdministrativo(),
26 | 'numeroServico' => implode(',', $codigoDosServicos),
27 | 'cepOrigem' => $params->getCepOrigem(),
28 | 'cepDestino' => $params->getCepDestino(),
29 | 'usuario' => $params->getAccessData()->getUsuario(),
30 | 'senha' => $params->getAccessData()->getSenha(),
31 | );
32 |
33 | $cacheKey = md5(serialize($soapArgs));
34 | $cache = Bootstrap::getConfig()->getCacheInstance();
35 | if ($cachedResult = $cache->getItem($cacheKey)) {
36 | return unserialize($cachedResult);
37 | }
38 |
39 | $r = SoapClientFactory::getSoapClient()->verificaDisponibilidadeServico($soapArgs);
40 |
41 | $errorCode = null;
42 | $errorMsg = null;
43 | $result = new Result();
44 | if (!$r) {
45 | $errorCode = 0;
46 | } else if ($r instanceof \SoapFault) {
47 | $errorCode = $r->getCode();
48 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
49 | $result->setSoapFault($r);
50 | } else if ($r instanceof \stdClass && property_exists($r, 'return')) {
51 | $result->setResult(new VerificaDisponibilidadeServicoResposta(array('disponivel' => (bool)$r->return)));
52 | $cache->setItem($cacheKey, serialize($result));
53 | } else {
54 | $errorCode = 0;
55 | $errorMsg = "A resposta do Correios não está no formato esperado.";
56 | }
57 |
58 | $result->setErrorCode($errorCode);
59 | $result->setErrorMsg($errorMsg);
60 |
61 | return $result;
62 | }
63 |
64 | private function arrayMapCallback(ServicoDePostagem $servicoDePostagem) {
65 | return $servicoDePostagem->getCodigo();
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/Real/VerificarStatusCartaoPostagem.php:
--------------------------------------------------------------------------------
1 | $numeroCartaoPostagem,
17 | 'usuario' => $usuario,
18 | 'senha' => $senha
19 | );
20 |
21 | $r = SoapClientFactory::getSoapClient()->getStatusCartaoPostagem($soapArgs);
22 |
23 | $errorCode = null;
24 | $errorMsg = null;
25 | $result = new Result();
26 | if (!$r) {
27 | $errorCode = 0;
28 | } else if ($r instanceof \SoapFault) {
29 | $errorCode = $r->getCode();
30 | $errorMsg = SoapClientFactory::convertEncoding($r->getMessage());
31 | $result->setSoapFault($r);
32 | } else if ($r instanceof \stdClass && property_exists($r, 'return')) {
33 | $status = new VerificarStatusCartaoPostagemResposta();
34 | $status->setReturn($r->return);
35 | $result->setResult($status);
36 | } else {
37 | $errorCode = 0;
38 | $errorMsg = "A resposta do Correios não está no formato esperado.";
39 | }
40 |
41 | $result->setErrorCode($errorCode);
42 | $result->setErrorMsg($errorMsg);
43 |
44 | return $result;
45 | }
46 | }
--------------------------------------------------------------------------------
/src/PhpSigep/Services/ResultRowset.php:
--------------------------------------------------------------------------------
1 |
14 | */
15 | public function verificaDisponibilidadeServico(\PhpSigep\Model\VerificaDisponibilidadeServico $params);
16 |
17 | /**
18 | * @param $cep
19 | *
20 | * @return Result<\PhpSigep\Model\ConsultaCepResposta>
21 | */
22 | public function consultaCep($cep);
23 |
24 | /**
25 | * @param \PhpSigep\Model\SolicitaEtiquetas $params
26 | *
27 | * @return \PhpSigep\Model\Etiqueta[]
28 | */
29 | public function solicitaEtiquetas(\PhpSigep\Model\SolicitaEtiquetas $params);
30 |
31 | /**
32 | * Pede para o WebService do Correios calcular o dígito verificador de uma etiqueta.
33 | *
34 | * Se preferir você pode usar o método {@linnk \PhpSigep\Model\Etiqueta::getDv() } para calcular o dígito
35 | * verificador, visto que esse método é mais rádido pois faz o cálculo local sem precisar se comunicar com o
36 | * WebService.
37 | *
38 | * @param \PhpSigep\Model\GeraDigitoVerificadorEtiquetas $params
39 | *
40 | * @return string[]
41 | */
42 | public function geraDigitoVerificadorEtiquetas(\PhpSigep\Model\GeraDigitoVerificadorEtiquetas $params);
43 |
44 | /**
45 | * @param \PhpSigep\Model\PreListaDePostagem $params
46 | * @param \XMLWriter $xmlDaPreLista
47 | * @return mixed
48 | */
49 | public function fechaPlpVariosServicos(\PhpSigep\Model\PreListaDePostagem $params);
50 |
51 | /**
52 | * @param \PhpSigep\Model\CalcPrecoPrazo $params
53 | * @return \PhpSigep\Model\CalcPrecoPrazoRespostaIterator
54 | */
55 | public function calcPrecoPrazo(\PhpSigep\Model\CalcPrecoPrazo $params);
56 |
57 | /**
58 | * @todo documentar o retorno
59 | *
60 | * @param \PhpSigep\Model\AccessData $params
61 | * @return mixed
62 | */
63 | public function buscaCliente(\PhpSigep\Model\AccessData $params);
64 |
65 | /**
66 | *
67 | * @param \PhpSigep\Model\RastrearObjeto $params
68 | * @return \PhpSigep\Services\Result<\PhpSigep\Model\RastrearObjetoResultado[]>
69 | */
70 | public function rastrearObjeto(\PhpSigep\Model\RastrearObjeto $params);
71 |
72 | /**
73 | * @param $numeroCartaoPostagem
74 | * @param $usuario
75 | * @param $senha
76 | * @return \PhpSigep\Services\Result<\PhpSigep\Model\verificarStatusCartaoPostagemResposta[]>
77 | */
78 | public function verificarStatusCartaoPostagem($numeroCartaoPostagem, $usuario, $senha);
79 |
80 |
81 | /**
82 | * @param $numeroEtiqueta
83 | * @param $idPlp
84 | * @param $usuario
85 | * @param $senha
86 | * @return \PhpSigep\Services\Result<\PhpSigep\Model\BloquearObjetoResposta[]>
87 | */
88 | public function bloquearObjeto($numeroEtiqueta, $idPlp, $usuario, $senha);
89 |
90 |
91 | /**
92 | * @param $numeroEtiqueta
93 | * @param $idPlp
94 | * @param $usuario
95 | * @param $senha
96 | * @return \PhpSigep\Services\Result<\PhpSigep\Model\CancelarObjetoResposta[]>
97 | */
98 | public function cancelarObjeto($numeroEtiqueta, $idPlp, $usuario, $senha);
99 |
100 | }
101 |
--------------------------------------------------------------------------------
/src/PhpSigep/Services/SoapClient/Exception.php:
--------------------------------------------------------------------------------
1 | setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
13 | $config->setEnv(\PhpSigep\Config::ENV_DEVELOPMENT);
14 | $config->setXmlEncode(Config::XML_ENCODE_UTF);
15 | $config->setCacheOptions(array(
16 | 'storageOptions' => array(
17 | 'enabled' => false,
18 | 'ttl' => 10,
19 | 'cacheDir' => sys_get_temp_dir()
20 | )
21 | ));
22 |
23 | \PhpSigep\Bootstrap::start($config);
24 | }
25 | }
--------------------------------------------------------------------------------
/tests/Builders/PreListaDePostagemBuilder.php:
--------------------------------------------------------------------------------
1 | setAltura(20);
14 | $dimensao->setLargura(20);
15 | $dimensao->setComprimento(20);
16 | $dimensao->setDiametro(0);
17 | $dimensao->setTipo(\PhpSigep\Model\Dimensao::TIPO_PACOTE_CAIXA);
18 |
19 | $destinatario = new \PhpSigep\Model\Destinatario();
20 | $destinatario->setNome('Google Belo Horizonte');
21 | $destinatario->setLogradouro('Av. Bias Fortes');
22 | $destinatario->setNumero('382');
23 | $destinatario->setComplemento('6º andar');
24 |
25 | $destino = new \PhpSigep\Model\DestinoNacional();
26 | $destino->setBairro('Lourdes');
27 | $destino->setCep('30170-010');
28 | $destino->setCidade('Belo Horizonte');
29 | $destino->setUf('MG');
30 |
31 | // Estamos criando uma etique falsa, mas em um ambiente real voçê deve usar o método
32 | // {@link \PhpSigep\Services\SoapClient\Real::solicitaEtiquetas() } para gerar o número das etiquetas
33 | $etiqueta = new \PhpSigep\Model\Etiqueta();
34 | $etiqueta->setEtiquetaSemDv('PD73958096BR');
35 |
36 | $servicoAdicional = new \PhpSigep\Model\ServicoAdicional();
37 | $servicoAdicional->setCodigoServicoAdicional(\PhpSigep\Model\ServicoAdicional::SERVICE_REGISTRO);
38 | // Se não tiver valor declarado informar 0 (zero)
39 | $servicoAdicional->setValorDeclarado(0);
40 |
41 | $encomenda = new \PhpSigep\Model\ObjetoPostal();
42 | $encomenda->setServicosAdicionais([$servicoAdicional]);
43 | $encomenda->setDestinatario($destinatario);
44 | $encomenda->setDestino($destino);
45 | $encomenda->setDimensao($dimensao);
46 | $encomenda->setEtiqueta($etiqueta);
47 | $encomenda->setPeso(0.500);// 500 gramas
48 | $encomenda->setServicoDePostagem(new \PhpSigep\Model\ServicoDePostagem(\PhpSigep\Model\ServicoDePostagem::SERVICE_SEDEX_41556));
49 | // *** FIM DOS DADOS DA ENCOMENDA QUE SERÁ DESPACHADA *** //
50 |
51 | // *** DADOS DO REMETENTE *** //
52 | $remetente = new \PhpSigep\Model\Remetente();
53 | $remetente->setNome('Google São Paulo');
54 | $remetente->setLogradouro('Av. Brigadeiro Faria Lima');
55 | $remetente->setNumero('3900');
56 | $remetente->setComplemento('5º andar');
57 | $remetente->setBairro('Itaim');
58 | $remetente->setCep('04538-132');
59 | $remetente->setUf('SP');
60 | $remetente->setCidade('São Paulo');
61 | // *** FIM DOS DADOS DO REMETENTE *** //
62 |
63 |
64 | $plp = new \PhpSigep\Model\PreListaDePostagem();
65 | $plp->setAccessData(new \PhpSigep\Model\AccessDataHomologacao());
66 | $plp->setEncomendas([$encomenda]);
67 | $plp->setRemetente($remetente);
68 |
69 | return $plp;
70 | }
71 | }
--------------------------------------------------------------------------------
/tests/PhpSigep/Pdf/ImprovedFPDFTest.php:
--------------------------------------------------------------------------------
1 | assertSame("", $improvedFPDF->_(null));
14 | $this->assertSame("Lorem ipsum dolor sit amet", $improvedFPDF->_("Lorem ipsum dolor sit amet"));
15 | $this->assertSame(utf8_decode("áéíóúç"), $improvedFPDF->_("áéíóúç"));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/tests/PhpSigep/Services/Real/BuscaClienteTest.php:
--------------------------------------------------------------------------------
1 | setUpSIGEP();
18 | }
19 |
20 | public function testExecute(): void
21 | {
22 | SoapClientFactory::setSoapClient(new SoapClientFake());
23 | $busca = new BuscaCliente();
24 | $result = $busca->execute(new AccessDataHomologacao());
25 | $this->assertFalse($result->getIsSoapFault());
26 | $this->assertInstanceOf(\PhpSigep\Model\BuscaClienteResult::class, $result->getResult());
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/tests/PhpSigep/Services/Real/FecharPreListaDePostagemTest.php:
--------------------------------------------------------------------------------
1 | setUpSIGEP();
19 | }
20 |
21 | public function test_execute(): void
22 | {
23 | $client = new SoapClientFake();
24 | $std = new \stdClass();
25 | $std->return = '123456';
26 | $client->setRetornoFechaPlpVariosServicos($std);
27 | SoapClientFactory::setSoapClient($client);
28 |
29 | $fechar = new FecharPreListaDePostagem();
30 | $plp = PreListaDePostagemBuilder::buildDadosObrigatorios();
31 | $retorno = $fechar->execute($plp);
32 |
33 | /** @var \PhpSigep\Model\FechaPlpVariosServicosRetorno $result */
34 | $result = $retorno->getResult();
35 | $this->assertEquals('123456', $result->getIdPlp());
36 | $args = $client->getSoapArgs();
37 | $this->assertEquals(['xml', 'idPlpCliente', 'cartaoPostagem', 'listaEtiquetas', 'usuario', 'senha'], array_keys($args));
38 | $this->assertIsString($args['xml']);
39 | $this->assertEquals('', $args['idPlpCliente']);
40 | $this->assertEquals($plp->getAccessData()->getCartaoPostagem(), $args['cartaoPostagem']);
41 | $this->assertEquals(['PD73958096BR'], $args['listaEtiquetas']);
42 | $this->assertEquals($plp->getAccessData()->getUsuario(), $args['usuario']);
43 | $this->assertEquals($plp->getAccessData()->getSenha(), $args['senha']);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/tests/PhpSigep/Services/Real/PreListaDePostagem/GerarXmlPreListaDePostagemTest.php:
--------------------------------------------------------------------------------
1 | setUpSIGEP();
18 | }
19 |
20 | public function test_gerar_daos_obrigatorios(): void
21 | {
22 | $plp = PreListaDePostagemBuilder::buildDadosObrigatorios();
23 | $gerarXml = new GerarXmlPreListaDePostagem();
24 | $xml = Util::normalizeXmlForTest($gerarXml->gerar($plp));
25 | $xmlEsperado = Util::normalizeXmlForTest(file_get_contents(dirname(__DIR__, 4) . '/resources/xml/modelo_plp1-utf8.xml'));
26 | $this->assertEquals($xmlEsperado, $xml);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/tests/PhpSigep/Services/Real/SoapClientFactoryTest.php:
--------------------------------------------------------------------------------
1 | setUpSIGEP();
16 | }
17 |
18 | public function test_get_soap_client(): void
19 | {
20 | $this->assertInstanceOf(\SoapClient::class, SoapClientFactory::getSoapClient());
21 | }
22 |
23 | public function test_get_soap_client_test(): void
24 | {
25 | SoapClientFactory::setSoapClient(new SoapClientFake());
26 | $this->assertInstanceOf(SoapClientFake::class, SoapClientFactory::getSoapClient());
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/tests/Services/DigitoVerificadorTest.php:
--------------------------------------------------------------------------------
1 | setUpSIGEP();
16 | }
17 |
18 | public function testCodigoVerificador(): void
19 | {
20 | $etiqueta1 = new \PhpSigep\Model\Etiqueta();
21 | $etiqueta1->setEtiquetaSemDv('PN77768520BR');
22 | $this->assertEquals('PN777685204BR', $etiqueta1->getEtiquetaComDv());
23 |
24 | $etiqueta2 = new \PhpSigep\Model\Etiqueta();
25 | $etiqueta2->setEtiquetaSemDv('PN77768521BR');
26 | $this->assertEquals('PN777685218BR', $etiqueta2->getEtiquetaComDv());
27 |
28 | $etiqueta3 = new \PhpSigep\Model\Etiqueta();
29 | $etiqueta3->setEtiquetaSemDv('PN77768524BR');
30 | $this->assertEquals('PN777685249BR', $etiqueta3->getEtiquetaComDv());
31 |
32 | $etiqueta4 = new \PhpSigep\Model\Etiqueta();
33 | $etiqueta4->setEtiquetaSemDv('PN77768525BR');
34 | $this->assertEquals('PN777685252BR', $etiqueta4->getEtiquetaComDv());
35 |
36 | $etiqueta5 = new \PhpSigep\Model\Etiqueta();
37 | $etiqueta5->setEtiquetaSemDv('PN77768526BR');
38 | $this->assertEquals('PN777685266BR', $etiqueta5->getEtiquetaComDv());
39 |
40 | $etiqueta6 = new \PhpSigep\Model\Etiqueta();
41 | $etiqueta6->setEtiquetaSemDv('PO02325102BR');
42 | $this->assertEquals('PO023251024BR', $etiqueta6->getEtiquetaComDv());
43 |
44 | $etiqueta7 = new \PhpSigep\Model\Etiqueta();
45 | $etiqueta7->setEtiquetaSemDv('PO02603026BR');
46 | $this->assertEquals('PO026030265BR', $etiqueta7->getEtiquetaComDv());
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/tests/Xml/Util.php:
--------------------------------------------------------------------------------
1 | preserveWhiteSpace = false;
11 | $dom->formatOutput = true;
12 | $dom->loadXML($xml);
13 | return $dom->saveXML();
14 | }
15 | }
--------------------------------------------------------------------------------
/tests/resources/xml/modelo_plp1-utf8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Postagem
4 | 2.3
5 |
6 |
7 |
8 |
9 |
10 | 0067599079
11 |
12 |
13 | 9992157880
14 | 10
15 | 17000190
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | SP
24 |
25 |
26 |
27 |
28 |
29 | S
30 |
31 |
32 |
33 | PD739580968BR
34 |
35 | 41556
36 | 0
37 | 500
38 |
39 |
40 | 0
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 | MG
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | 0
64 |
65 |
66 | 025
67 |
68 |
69 | 002
70 | 20
71 | 20
72 | 20
73 | 0
74 |
75 |
76 | 0
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------