Repositório de integração com o Sigep WEB dos Correios, para plataformas utilizando a linguagem PHP, administrado pela Live eCommerce.
Composer
composer require liveecommerce/sigep
GIT
Via SSH:
git clone git@github.com:liveecommerce/sigep.git
Via HTTPs:
git clone https://github.com/liveecommerce/sigep.git
Para um melhor aproveitamento do Live-sigep, recomendamos seguir o Manual de integração do SIGEP WEB.
Obs. Os tópicos do processo de utilização da biblioteca terão como referência o manual informado acima no decorrer da utilização, seguindo os passos do processo de integração, informado na seção 2 do documento.
Os dados de homologação do SIGEP WEB também podem ser encontrados no manual.
- Verificar o Status do cartão de postagem
- Verificar Disponibilidade dos cartões de postagem
- Solicitação de Faixa de Etiquetas para Postagem
- Consulta Endereço via CEP
- Verificar disponibilidade de envio para CEP destino
- Objeto de Endereço
- Fechar a Pré-Lista de Postagem
- Solicitação de XML da PLP
- Solicitação de Suspensão de entrega de encomenda ao Destinatário
- Gerar Rótulo de Endereçamento
- Gerar Voucher de postagem
- Gerar lista de postagem
- Gerar aviso de recebimento
- Classes utilizadas no serviço.
use Live\Sigep\PostCard\Application\Service\GetPostCardStatusService;
use Live\Sigep\PostCard\Application\Service\GetPostCardStatusRequest;
use Live\Sigep\PostCard\Application\Service\GetPostCardStatusResponse;
use Live\Sigep\PostCard\Domain\Model\PostCardStatus;- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (string) Cartão de postagem
- opcional (boolean) Sandbox
$user = '';
$password = '';
$postCard = '';
$postCardStatusRequest = new GetPostCardStatusRequest($usuario, $password, $postCard);
// Setter para utilizar caso esteja em homologação
$postCardStatusRequest->setSandbox(true);- Invocação o serviço
$postCardStatusService = new GetPostCardStatusService();
$postCardStatusResponse = $postCardStatusService($postCardStatusRequest);- Resultado do serviço
$postCardStatus = $postCardStatusResponse->getObject();
$status = $postCardStatus->getStatus();- Objeto retornado
PostCardStatus
└── status
- Classes utilizadas no serviço.
use Live\Sigep\PostCard\Application\Service\GetPostCardAvaliableServicesService;
use Live\Sigep\PostCard\Application\Service\GetPostCardAvaliableServicesRequest;
use Live\Sigep\PostCard\Application\Service\GetPostCardAvaliableServicesResponse;
use Live\Sigep\PostCard\Domain\Model\PostCardAvaliableServices- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (string) Cartão de postagem
- obrigatório (string) Contrato
- opcional (boolean) Sandbox
$user = '';
$password = '';
$postCard = '';
$contract = '';
$postCardAvaliableServicesRequest = new GetPostCardAvaliableServicesRequest(
$user,
$password,
$postcard,
$contract
);
// Setter para utilizar caso esteja em homologação
$postCardAvaliableServicesRequest->setSandbox(true);- Invocação do serviço
$postCardAvaliableServicesService = new GetPostCardAvaliableServicesService();
$postCardAvaliableServicesResponse = $postCardStatusService($postCardAvaliableServicesRequest);- Resultado do serviço
$postCardAvaliableServices = $postCardAvaliableServicesResponse->getObject();
$postCardNumber = $postCardAvaliableServices->getPostCardNumber();
$administrativeCode = $postCardAvaliableServices->getAdministrativeCode();
$cnpj = $postCardAvaliableServices->getCnpj();
$services = $postCardAvaliableServices->getServices();
foreach ($services as $service) {
$id = $service->getId();
$serviceCode = $service->getServiceCode();
$description = $service->getDescription();
$packagesQuantity = $service->getPackagesQuantity();
}- Objeto retornado
PostCardAvaliableServices
├── postCardNumber
├── administrativeCode
├── cnpj
└── services (array)
└── PostCardService
├── id
├── serviceCode
├── description
└── packagesQuantity
- Classes utilizadas no serviço.
use Live\Sigep\ShippingLabel\Application\Service\GetShippingLabelsRequest;
use Live\Sigep\ShippingLabel\Application\Service\GetShippingLabelsService;
use Live\Sigep\ShippingLabel\Application\Service\GetShippingLabelsResponse;
use Live\Sigep\ShippingLabel\Domain\Model\ShippingLabel- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (string) Id do serviço
- obrigatório (string) Tipo de destinatário
- obrigatório (string) Cnpj (somente numeros)
- obrigatório (integer) Quantidade de etiquetas
- opcional (boolean) Sandbox
$user = '';
$password = '';
$serviceId = '';
$receiverType = 'C';
$cnpj = '';
$quantityLabels = 1;
$getShippingLabelsRequest = new GetShippingLabelsRequest(
$user,
$password,
$serviceId,
$receiverType,
$cnpj,
$quantityLabels
);
// Setter para utilizar caso esteja em homologação
$getShippingLabelsRequest->setSandbox(true);- Invocação do serviço
$getShippingLabelsService = new GetShippingLabelsService();
$getShippingLabelsResponse = $getShippingLabelsService($getShippingLabelsRequest);- Resultado do serviço
$shippingLabels = $getShippingLabelsResponse->getData();
foreach ($shippingLabels as $shippingLabel) {
$label = $shippingLabel->getLabel();
}- Objeto retornado
ShippingLabel (array)
└── label
- Classes utilizadas no serviço.
use Live\Sigep\Address\Application\Service\GetAddressByZipCodeRequest;
use Live\Sigep\Address\Application\Service\GetAddressByZipCodeService;
use Live\Sigep\Address\Application\Service\GetAddressByZipCodeResponse;
use Live\Sigep\Address\Domain\Model\Address- Requisição do serviço
Atributos:
- obrigatório (string) Cep (somente números)
- opcional (boolean) Sandbox
$cep = '';
$getAddressByZipCodeRequest = new GetAddressByZipCodeRequest('07124610');
// Setter para utilizar caso esteja em homologação
$getAddressByZipCodeRequest->setSandbox(true);- Invocação do serviço
$getAddressByZipCodeService = new GetAddressByZipCodeService();
$getAddressByZipCodeResponse = $getAddressByZipCodeService($getAddressByZipCodeRequest);- Resultado do serviço
$address = $getAddressByZipCodeResponse->getObject();
$zipCode = $address->getZipCode();
$street = $address->getStreet();
$district = $address->getDistrict();
$state = $address->getState();
$complement = $address->getComplement();
$additionalComplement = $address->getAdditionalComplement();
$number = $address->getNumber();
$zipCodeComplement = $address->getZipCodeComplement();- Objeto retornado
Address
├── zipCode
├── street
├── district
├── state
├── complement
├── additionalComplement
├── number
└── zipCodeComplement
- Classes utilizadas no serviço.
use Live\Sigep\DeliveryAvailability\Application\Service\GetDeliveryAvailabilityRequest;
use Live\Sigep\DeliveryAvailability\Application\Service\GetDeliveryAvailabilityService;
use Live\Sigep\DeliveryAvailability\Application\Service\GetDeliveryAvailabilityResponse;
use Live\Sigep\DeliveryAvailability\Domain\Model\DeliveryAvailability;- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (string) Código administrativo
- obrigatório (string) Serviço
- obrigatório (string) CEP do remetente
- obrigatório (string) CEP do destinatário
- opcional (boolean) Sandbox
$cep = '';
$getDeliveryAvailabilityRequest = new GetDeliveryAvailabilityRequest(
$user,
$password,
$administrativeCode,
$service,
$senderZipCode,
$receiverZipCode
);
// Setter para utilizar caso esteja em homologação
$getDeliveryAvailabilityRequest->setSandbox(true);- Invocação do serviço
$getDeliveryAvailabilityService = new GetDeliveryAvailabilityService();
$getDeliveryAvailabilityResponse = $getDeliveryAvailabilityService($getDeliveryAvailabilityRequest);- Resultado do serviço
$deliveryAvailability = $getDeliveryAvailabilityResponse->getObject();
$id = $deliveryAvailability->getId();
$message = $deliveryAvailability->getMessage();- Objeto retornado
DeliveryAvailability
├── id
└── message
- Classes utilizadas no serviço.
use Live\Sigep\Address\Domain\Model\Address;- Dados do objeto
Atributos:
- obrigatório (string) CEP
- obrigatório (string) Rua
- obrigatório (string) Bairro / Distrito
- obrigatório (string) Cidade
- obrigatório (string) Estado
- opcional (string) Número
- opcional (string) Complemento
- opcional (string) Complemento adicional
- opcional (string) CEP adicional
$zipCode = '';
$street = '';
$district = '';
$city = '';
$state = '';
$number = '';
$complement = '';
$additionalComplement = '';
$zipCodeComplement = '';
$address = new Address(
$zipCode,
$street,
$district,
$city,
$state
);
$address->setNumber($number);
$address->setComplement($complement);
$address->setAdditionalComplement($additionalComplement);
$address->setZipCodeComplement($zipCodeComplement);- Objeto
Address
├── zipCode
├── street
├── district
├── state
├── complement
├── additionalComplement
├── number
└── zipCodeComplement
- Classes utilizadas no serviço.
use Live\Sigep\Address\Domain\Model\Address;
use Live\Sigep\ShippingLabel\Domain\Model\ShippingLabel;
use Live\Sigep\PrePostingList\Domain\Model\PrePostingList;
use Live\Sigep\PrePostingList\Domain\Model\AdditionalServiceType;- Dados do objeto
Atributos:
- obrigatório (Address) Endereço
- obrigatório (ShippingLabel) Etiqueta
- obrigatório (string) Código de serviço
- obrigatório (string) Peso
- obrigatório (string) Nome do remetente
- obrigatório (string) Largura
- obrigatório (string) Altura
- obrigatório (string) Comprimento
- obrigatório (string) Diâmetro
- opcional (string) Nota fiscal
- opcional (AdditionalServiceType) Serviços adicionais
- opcional (string) Valor declarado
- opcional (string) Endereço do Vizinho
$address = '';
$shippingLabel = '';
$serviceCode = '';
$weight = '';
$receiverName = '';
$objectType = '';
$height = '';
$width = '';
$length = '';
$diameter = '';
$invoiceNumber = '';
$additionalService = AdditionalServiceType::NATIONALREGISTRATION;
$declaredValue = '';
$neighborAddress = '';
$address = new PrePostingList(
$address,
$shippingLabel,
$serviceCode,
$weight,
$receiverName,
$objectType,
$height,
$width,
$length,
$diameter,
$invoiceNumber,
$additionalService,
$declaredValue,
$neighborAddress
);- Objeto
Address
├── address
├── shippingLabel
├── weight
├── weigth
├── receiverName
├── objectType
├── height
├── width
├── length
├── diameter
├── invoiceNumber
├── additionalService
├── declaredValue
└── neighborAddress
- Classes utilizadas no serviço.
use Live\Sigep\PrePostingList\Application\Service\ClosePrePostingListRequest;
use Live\Sigep\PrePostingList\Application\Service\ClosePrePostingListService;
use Live\Sigep\PrePostingList\Application\Service\ClosePrePostingListResponse;
use Live\Sigep\Address\Domain\Model\Address;
use Live\Sigep\ShippingLabel\Domain\Model\ShippingLabel;
use Live\Sigep\PrePostingList\Domain\Model\PostalObject;
use Live\Sigep\PrePostingList\Domain\Model\PostalObjectType;
use Live\Sigep\PrePostingList\Domain\Model\AdditionalServiceType;
use Live\Sigep\PrePostingList\Domain\Model\RegionalCodeBoardType;
use Live\Sigep\PrePostingList\Domain\Model\PrePostingList;- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (Address) Endereço do destinatário
- obrigatório (array)[PostalObject] Objetos Postais
- obrigatório (integer) Id do cliente da pré-lista de postagem
- obrigatório (string) Id do cartão de postagem
- obrigatório (string) Contrato
- obrigatório (string) Código administrativo
- obrigatório (array)[ShippingLabel] Etiquetas
- obrigatório (string) Nome do remetente
- obrigatório (RegionalCodeBoardType) Código da diretoria regional
- opcional (boolean) Sandbox
$user = '';
$password = '';
$senderAddress = '';
$postalObjects = [];
$prePostingListClientId = '';
$postCardId = '';
$contract = '';
$administrativeCode = '';
$shippingLabels = [];
$senderName = '';
$regionalCodeBoard = RegionalCodeBoardType::SAOPAULO;
$closePrePostingListRequest = new ClosePrePostingListRequest(
$user,
$password,
$senderAddress,
$postalObjects,
$prePostingListClientId,
$postCardId,
$contract,
$administrativeCode,
$shippingLabels,
$senderName,
$regionalCodeBoard
);
// Setter para utilizar caso esteja em homologação
$closePrePostingListRequest->setSandbox(true);- Invocação do serviço
$closePrePostingListService = new ClosePrePostingListService();
$closePrePostingListResponse = $closePrePostingListService($closePrePostingListRequest);- Resultado do serviço
$prePostingList = $closePrePostingListResponse->getObject();
$id = $prePostingList->getId();- Objeto retornado
PrePostingList
└── id
- Classes utilizadas no serviço.
use Live\Sigep\PrePostingList\Application\Service\GetPrePostingListXmlFromCorreiosRequest;
use Live\Sigep\PrePostingList\Application\Service\GetPrePostingListXmlFromCorreiosService;
use Live\Sigep\PrePostingList\Application\Service\GetPrePostingListXmlFromCorreiosResponse;- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (integer) Número da plp
- opcional (boolean) Sandbox
$user = '';
$password = '';
$plpNumber = 0;
$getPrePostingListXmlFromCorreiosRequest = new GetPrePostingListXmlFromCorreiosRequest(
$user,
$password,
$plpNumber
);
// Setter para utilizar caso esteja em homologação
$getPrePostingListXmlFromCorreiosRequest->setSandbox(true);- Invocação do serviço
$getPrePostingListXmlFromCorreiosService = new GetPrePostingListXmlFromCorreiosService();
$getPrePostingListXmlFromCorreiosResponse = $getPrePostingListXmlFromCorreiosService($getPrePostingListXmlFromCorreiosRequest);- Resultado do serviço
$getPrePostingListXmlFromCorreios = $getPrePostingListXmlFromCorreiosResponse->getData();
$xml = $getPrePostingListXmlFromCorreios['xml'];- Classes utilizadas no serviço.
use Live\Sigep\DeliverySuspension\Application\Service\GetDeliverySuspensionRequest;
use Live\Sigep\DeliverySuspension\Application\Service\GetDeliverySuspensionService;
use Live\Sigep\DeliverySuspension\Application\Service\GetDeliverySuspensionResponse;
use Live\Sigep\PrePostingList\Domain\Model\PrePostingList;
use Live\Sigep\ShippingLabel\Domain\Model\ShippingLabel;- Requisição do serviço
Atributos:
- obrigatório (string) Usuário
- obrigatório (string) Senha
- obrigatório (ShippingLabel) etiqueta
- obrigatório (PrePostingList) prePostingList
- opcional (boolean) Sandbox
$user = '';
$password = '';
$label = '';
$plp = 0;
$shippingLabel = new ShippingLabel($label);
$prePostingList = new PrePostingList($plp);
$getDeliverySuspensionRequest = new GetDeliverySuspensionRequest(
$user,
$password,
$shippingLabel,
$prePostingList
);
// Setter para utilizar caso esteja em homologação
$getDeliverySuspensionRequest->setSandbox(true);- Invocação do serviço
$getDeliverySuspensionService = new GetDeliverySuspensionService();
$getDeliverySuspensionResponse = $getDeliverySuspensionService($getDeliverySuspensionRequest);- Resultado do serviço
$getDeliverySuspension = $getDeliverySuspensionResponse->getData();
$data = $getDeliverySuspension['data'];- Classes utilizadas no serviço.
use Live\Sigep\AddressingLabel\Application\Service\GetAddressingLabelRequest;
use Live\Sigep\AddressingLabel\Application\Service\GetAddressingLabelService;
use Live\Sigep\AddressingLabel\Application\Service\GetAddressingLabelResponse;
use Live\Sigep\Address\Domain\Model\Address;
use Live\Sigep\ShippingLabel\Domain\Model\ShippingLabel;- Requisição do serviço
Atributos:
- obrigatório (string) Formato do rótulo
- obrigatório (Address) Endereço do destinatário
- obrigatório (Address) Endereço do remetente
- obrigatório (ShippingLabel) etiqueta
- obrigatório (integer) Peso
- obrigatório (string) Nota fiscal
- obrigatório (integer) Tipo de serviço de entrega
- obrigatório (string) Id do pedido
- obrigatório (string) Nome do destinatário
- obrigatório (string) Nome do remetente
- obrigatório (string) Contrato
- obrigatório (string) Cartão de postagem
- obrigatório (string) código de serviço
- obrigatório (integer) Valor declarado
- opcional (string) Url do logo
- opcional (string) Informação de agrupamento
- opcional (array) Serviço adicional
- opcional (string) Identificador de dados variádveis
$format = "1";
$receiverAddress = '';
$senderAddress = '';
$shippingLabel = '';
$weight = '';
$invoice = '';
$shippingType = '';
$orderId = '';
$receiverName = '';
$senderName = '';
$contract = '';
$postCard = '';
$serviceCode = '';
$declaredValue = '';
$logoUrl = '';
$groupingInformation = '00';
$additionalServices = [];
$variableDataIdentifier = '51';
$request = [];
$request[] = new GetAddressingLabelRequest(
$format,
$receiverAddress,
$senderAddress,
$shippingLabel,
$weight,
$invoice,
$shippingType,
$orderId,
$receiverName,
$senderName,
$contract,
$postCard,
$serviceCode,
$declaredValue,
$logoUrl,
$groupingInformation,
$additionalServices,
$variableDataIdentifier
);- Invocação do serviço
$getAddressingLabelService = new GetAddressingLabelService();
$getAddressingLabelResponse = $getAddressingLabelService($request);- Resultado do serviço
Executa o download do PDF
- Classes utilizadas no serviço.
use Live\Sigep\PostList\Application\Service\GetPostageVoucherRequest;
use Live\Sigep\PostList\Application\Service\GetPostageVoucherService;
use Live\Sigep\PostList\Application\Service\GetPostageVoucherResponse;
use Live\Sigep\PrePostingList\Domain\Model\PrePostingList;- Requisição do serviço
Atributos:
- obrigatório (PrePostingList) Pré-lista de postagem
- obrigatório (string) Contrato
- obrigatório (array) Serviços do cartão de postagem
- obrigatório (string) Data de postagem
- obrigatório (string) telefone do remetente
- obrigatório (string) Nome do remetente
- opcional (string) Nome do cliente do Sigep
- opcional (string) Email
$prePostingList = '';
$contract = '';
$postCardServices = '';
$postDate = '';
$telephone = '';
$senderName = '';
$clientName = 'ECT';
$email = '';
$getPostageVoucherRequest = new GetPostageVoucherRequest(
$prePostingList,
$contract,
$postCardServices,
$postDate,
$telephone,
$senderName,
$clientName,
$email
);- Invocação do serviço
$getPostageVoucherService = new GetPostageVoucherService();
$getPostageVoucherResponse = $getPostageVoucherService($getPostageVoucherRequest);- Resultado do serviço
Executa o download do PDF
- Classes utilizadas no serviço.
use Live\Sigep\PostList\Application\Service\GetPostListRequest;
use Live\Sigep\PostList\Application\Service\GetPostListService;
use Live\Sigep\PostList\Application\Service\GetPostListResponse;
use Live\Sigep\PostList\Domain\Model\PrePostingList;
use Live\Sigep\Address\Domain\Model\Address;
use Live\Sigep\PrePostingList\Domain\Model\PostalObject;- Requisição do serviço
Atributos:
- obrigatório (PrePostingList) Pré-lista de postagem
- obrigatório (Address) Endereço do remetente
- obrigatório (string) Nome do remetente
- obrigatório (string) Contrato
- obrigatório (string) Código adminitrativo
- obrigatório (string) Id do cartão de postagem
- obrigatório (array)[PostCardServices] Serviços do cartão de postagem
- obrigatório (array)[PostalObject] Objetos postais
- obrigatório (string) Data de postagem
- obrigatório (string) Telefone
- opcional (string) Nome do cliente do Sigep
$prePostingList = '';
$senderAddress = '';
$senderName = '';
$contract = '';
$adminitrativeCode = '';
$postCardId = '';
$postCardServices = '';
$postalObjects = '';
$postDate = '';
$telephone = '';
$clientName = 'ECT';
$getPostListRequest = new GetPostListRequest(
$prePostingList,
$senderAddress,
$senderName,
$contract,
$adminitrativeCode,
$postCardId,
$postCardServices,
$postalObjects,
$postDate,
$telephone,
$clientName
);- Invocação do serviço
$getPostListService = new GetPostListService();
$getPostListResponse = $getPostListService($getPostListRequest);- Resultado do serviço
Executa o download do PDF
- Classes utilizadas no serviço.
use Live\Sigep\PostList\Application\Service\GetProofOfDeliveryRequest;
use Live\Sigep\PostList\Application\Service\GetProofOfDeliveryService;
use Live\Sigep\PostList\Application\Service\GetProofOfDeliveryResponse;
use Live\Sigep\PrePostingList\Domain\Model\PostalObject;
use Live\Sigep\Address\Domain\Model\Address;- Requisição do serviço
Atributos:
- obrigatório (Address) Endereço do remetente
- obrigatório (string) Contrato
- obrigatório (string) Nome do remetente
- obrigatório (PostalObject) Objeto postal
$senderAddress = '';
$contract = '';
$senderName = '';
$postalObject = '';
$getProofOfDeliveryRequest = new GetProofOfDeliveryRequest(
$senderAddress,
$contract,
$senderName,
$postalObject
);- Invocação do serviço
$getProofOfDeliveryService = new GetProofOfDeliveryService();
$getProofOfDeliveryResponse = $getProofOfDeliveryService($getProofOfDeliveryRequest);- Resultado do serviço
Executa o download do PDF