devaguia / correios-php
Correios API library for PHP
1.0.4
2024-10-24 22:19 UTC
Requires
- ext-curl: *
Requires (Dev)
- pestphp/pest: ^2.36.0
- pestphp/pest-plugin-faker: ^2.0
README
Correios API library for PHP
- Instalação (Installation)
- Utilização Básica (Basic Usage)
- Respostas API (API Response)
- Autenticação (Authentication)
- Contribua - Contribute
- Árvore de Arquivos (File Tree)
Instalação (Installation)
Instale utilizando o Composer (Install using Composer)
composer require devaguia/correios-php
Utilização Básica (Basic Usage)
Configuração (Setup)
// Parâmetros obrigatórios - Required Paramns $correios = new \Correios\Correios( username: 'user', password: 'password', postcard: 'postcard', isTestMode: true ); // Parâmetros opcionais - Optional parameters $correios = new \Correios\Correios( username: 'user', password: 'password', postcard: 'postcard', isTestMode: true, token: 'string' ); // Use um número de requisição e ID do lot personalizado - Use a custom request number and Lot ID $correios->setRequestNumber(requestNumber: '20230831'); $correios->getRequestNumber(); $correios->setLotId(lotId: '20230831LT'); $correios->getLotId();
Rastro (Tracking)
$response = $correios->tracking()->get( trackingCode: 'AASD546115A', filtered: 'U' );
Preço (Price)
// Parâmetros obrigatórios - Required Paramns $correios->price()->get( serviceCodes:['04162'], products:[ ['weight' => 300] ], originCep:'71930000', destinyCep:'05336010' ); // Parâmetros opcionais - Optional parameters $correios->price()->get( serviceCodes:['04162'], products:[ [ 'weight' => 300, 'length' => 0, 'height' => 200, 'width' => 200, 'diameter' => 0, 'cubicWeight' => 0, /** 1 - Envelope (Default); 2 - Caixa; 3 - Rolo*/ 'objectType' => 2 ] ], originCep:'71930000', destinyCep:'05336010', fields: [ 'nuContrato' => '0000000000', 'nuDR' => 20 ] );
Prazo (Date)
// Parâmetros obrigatórios - Required Paramns $response = $correios->date()->get( serviceCodes: ['39870'], originCep: '71930000', destinyCep: '05336010' ); // Parâmetros opcionais - Optional parameters $correios->date()->get( serviceCodes:['04162'], originCep:'71930000', destinyCep:'05336010', fields: [ 'dtEvento' => '2023-01-01T01:01:01.001Z', ] );
Endereço (Address)
$response = $correios->address()->get(cep: '05336010');
Respostas API (API Response)
$responseBody = $response->getResponseBody(); $responseCode = $response->getResponseCode(); if (empty($responseBody)) { $errors = $response->getErrors(); }
Autenticação (Authentication)
// Gerando um novo token - Generating a new token $correios = new \Correios\Correios( username: 'user', password: 'password', postcard: 'postcard', isTestMode: true ); $token = $correios->authentication()->getToken(); $tokenExpiration = $correios->authentication()->getTokenExpiration(); $responseBody = $correios->authentication()->getResponseBody(); $responseCode = $correios->authentication()->getResponseCode(); $errors = $correios->authentication()->getErrors(); // Pega o número do e da diretoria com base na responsta da autenticação - Gets the board number based on the authentication response $contractNumber = $correios->authentication()->getContract(); $drNumber = $correios->authentication()->getDr(); // Usando um token gerado anteriormente - Using a token generated earlie $correios = new \Correios\Correios( username: 'user', password: 'password', postcard: 'postcard', isTestMode: true token: 'eyJhbGciOiJSUzUxMiJ9.eyJhbWJpZW50ZSI6IlBST0RVQ0FPIiwiaWQiOiI0MDExMjE1NDAwMDE5MCIsInBmbCI6IlBKIiwiY25waiI6IjQwMTEyMTU0MDAwMTkwIiwiY29udHJhdG8iOnsibnVtZXJvIjoiOTkxMjYxNjgzOSIsImRyIjoyMCwiYXBpIjpbMjcsMzQsMzUsNDEsNzYsODcsNTY2XX0sImlwIjoiMTcwLjc4LjY4Ljg2LDE3MC43OC42OC44NiIsImlhdCI6MTY5MjY0MTU2MywiaXNzIjoidG9rZW4tc2VydmljZSIsImV4cCI6MTY5MjcyNzk2MywianRpIjoiZGViMTczM2EtYmVjYS00NmIyLWFkNGYtYWQ5ZjBkYWFlZjhlIn0.uxJCCQFj0c1qzI4BGk9JWTh6TT_Drp7YaMbKQoT9m-ie5wXRun4cOuQdbj28MQR3IYuntB2B9C8aqSoa_eXADtvf4J2H-ZTWS0wAnxsxxkNf1lXmHYrD2jCgRMVgQ_2dy40uBt0bJyk0M9e4jNg2almtZMlAwjbVrgSbopuNrqhHe49GuDIuQzJLqsNC60mA6KberD9eSSNZsvHbgNYQysK0mZTkIFdWy8DBJ7b5FrbLzbeikqKbRW9pDj_3Q-YrxhwQ79ZjEF8dLiAU3BcCDHwOxpSv6HKD5984mz1VppFXcaBAsqW6oB9iCHrENjVqtRXa8mx0nqbjelyz0Of6qA' );
Contribua - Contribute
Por favor, se for contribuir, leia os arquivos de Manual de contribuição e Código de Conduta.
SonarLint
Durante o desenvolvimento, pedimos que use o plugin SonarLint, para que ele verifique a qualidade do código que está sendo desenvolvido - During development, we request that you use the SonarLint plugin to check the quality of the code being developed:
Instalação - Installation
Installing the composer dependencies
composer install
Running the unit tests
composer test
File Tree
.
├── CODE_OF_CONDUCT.md
├── composer.json
├── CONTRIBUTING.md
├── LICENSE
├── phpunit.xml
├── phpunit.xml.bak
├── README.md
├── src
│ ├── Correios.php
│ ├── Exceptions
│ │ ├── ApiRequestException.php
│ │ ├── InvalidCepException.php
│ │ ├── InvalidCorreiosServiceCode.php
│ │ ├── MissingProductParamException.php
│ │ └── SameCepException.php
│ ├── Helpers
│ │ ├── Cep.php
│ │ └── Settings.php
│ ├── Includes
│ │ ├── Cep.php
│ │ ├── Product.php
│ │ ├── Settings.php
│ │ └── Traits
│ │ └── CepHandler.php
│ └── Services
│ ├── AbstractRequest.php
│ ├── Address
│ │ └── Cep.php
│ ├── Authorization
│ │ └── Authentication.php
│ ├── Date
│ │ └── Date.php
│ ├── Price
│ │ └── Price.php
│ └── Tracking
│ └── Tracking.php
└── tests
└── Unit
├── CorreiosTest.php
├── Helpers
│ ├── CepTest.php
│ └── SettingsTest.php
├── Includes
│ ├── CepTest.php
│ ├── ProductTest.php
│ └── SettingsTest.php
└── Services
├── Address
│ └── CepTest.php
├── Authorization
│ └── AuthenticationTest.php
├── Date
│ └── DateTest.php
├── Price
│ └── PriceTest.php
└── Tracking
└── TrackingTest.php