Pacote com a integração do Sigep dos correios.

1.1.2 2020-12-17 14:08 UTC

This package is auto-updated.

Last update: 2024-04-17 21:20:36 UTC


README

Repositório de integração com o Sigep WEB dos Correios, para plataformas utilizando a linguagem PHP, administrado pela Live eCommerce.

Instalação

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

Utilização

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.

Menu

Verificar o Status do cartão de postagem

  1. 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;
  1. 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);
  1. Invocação o serviço
$postCardStatusService = new GetPostCardStatusService();
$postCardStatusResponse = $postCardStatusService($postCardStatusRequest);
  1. Resultado do serviço
$postCardStatus = $postCardStatusResponse->getObject();

$status = $postCardStatus->getStatus();
  1. Objeto retornado
PostCardStatus
└── status

Voltar ao topo

Verificar Disponibilidade dos cartões de postagem

  1. 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
  1. 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);
  1. Invocação do serviço
$postCardAvaliableServicesService = new GetPostCardAvaliableServicesService();
$postCardAvaliableServicesResponse = $postCardStatusService($postCardAvaliableServicesRequest);
  1. 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();
}
  1. Objeto retornado
PostCardAvaliableServices
├── postCardNumber
├── administrativeCode
├── cnpj
└── services (array)
    └── PostCardService
        ├── id
        ├── serviceCode
        ├── description
        └── packagesQuantity

Voltar ao topo

Solicitação de Faixa de Etiquetas para Postagem

  1. 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
  1. 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);
  1. Invocação do serviço
$getShippingLabelsService = new GetShippingLabelsService();
$getShippingLabelsResponse = $getShippingLabelsService($getShippingLabelsRequest);
  1. Resultado do serviço
$shippingLabels = $getShippingLabelsResponse->getData();

foreach ($shippingLabels as $shippingLabel) {
    $label = $shippingLabel->getLabel();
}
  1. Objeto retornado
ShippingLabel (array)
└── label

Voltar ao topo

Consulta Endereço via CEP

  1. 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
  1. 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);
  1. Invocação do serviço
$getAddressByZipCodeService = new GetAddressByZipCodeService();
$getAddressByZipCodeResponse = $getAddressByZipCodeService($getAddressByZipCodeRequest);
  1. 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();
  1. Objeto retornado
Address
├── zipCode
├── street
├── district
├── state
├── complement
├── additionalComplement
├── number
└── zipCodeComplement

Voltar ao topo

Verificar disponibilidade de envio para CEP destino

  1. 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;
  1. 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);
  1. Invocação do serviço
$getDeliveryAvailabilityService = new GetDeliveryAvailabilityService();
$getDeliveryAvailabilityResponse = $getDeliveryAvailabilityService($getDeliveryAvailabilityRequest);
  1. Resultado do serviço
$deliveryAvailability = $getDeliveryAvailabilityResponse->getObject();

$id = $deliveryAvailability->getId();
$message = $deliveryAvailability->getMessage();
  1. Objeto retornado
DeliveryAvailability
├── id
└── message

Voltar ao topo

Objeto de Endereço

  1. Classes utilizadas no serviço.
use Live\Sigep\Address\Domain\Model\Address;
  1. 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);
  1. Objeto
Address
├── zipCode
├── street
├── district
├── state
├── complement
├── additionalComplement
├── number
└── zipCodeComplement

Voltar ao topo

Objeto Postal

  1. 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;
  1. 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
);
  1. Objeto
Address
├── address
├── shippingLabel
├── weight
├── weigth
├── receiverName
├── objectType
├── height
├── width
├── length
├── diameter
├── invoiceNumber
├── additionalService
├── declaredValue
└── neighborAddress

Voltar ao topo

Fechar a Pré-Lista de Postagem

  1. 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;
  1. 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);
  1. Invocação do serviço
$closePrePostingListService = new ClosePrePostingListService();
$closePrePostingListResponse = $closePrePostingListService($closePrePostingListRequest);
  1. Resultado do serviço
$prePostingList = $closePrePostingListResponse->getObject();

$id = $prePostingList->getId();
  1. Objeto retornado
PrePostingList
└── id

Voltar ao topo

Solicitação de XML da PLP

  1. 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;
  1. 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);
  1. Invocação do serviço
$getPrePostingListXmlFromCorreiosService = new GetPrePostingListXmlFromCorreiosService();
$getPrePostingListXmlFromCorreiosResponse = $getPrePostingListXmlFromCorreiosService($getPrePostingListXmlFromCorreiosRequest);
  1. Resultado do serviço
$getPrePostingListXmlFromCorreios = $getPrePostingListXmlFromCorreiosResponse->getData();

$xml = $getPrePostingListXmlFromCorreios['xml'];

Voltar ao topo

Solicitação de Suspensão de entrega de encomenda ao Destinatário

  1. 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;
  1. 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);
  1. Invocação do serviço
$getDeliverySuspensionService = new GetDeliverySuspensionService();
$getDeliverySuspensionResponse = $getDeliverySuspensionService($getDeliverySuspensionRequest);
  1. Resultado do serviço
$getDeliverySuspension = $getDeliverySuspensionResponse->getData();

$data = $getDeliverySuspension['data'];

Voltar ao topo

Gerar Rótulo de Endereçamento

  1. 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;
  1. 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
);
  1. Invocação do serviço
$getAddressingLabelService = new GetAddressingLabelService();
$getAddressingLabelResponse = $getAddressingLabelService($request);
  1. Resultado do serviço
Executa o download do PDF

Voltar ao topo

Gerar Voucher de postagem

  1. 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;
  1. 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
);
  1. Invocação do serviço
$getPostageVoucherService = new GetPostageVoucherService();
$getPostageVoucherResponse = $getPostageVoucherService($getPostageVoucherRequest);
  1. Resultado do serviço
Executa o download do PDF

Voltar ao topo

Gerar lista de postagem

  1. 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;
  1. 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
);
  1. Invocação do serviço
$getPostListService = new GetPostListService();
$getPostListResponse = $getPostListService($getPostListRequest);
  1. Resultado do serviço
Executa o download do PDF

Voltar ao topo

Gerar aviso de recebimento

  1. 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;
  1. 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
);
  1. Invocação do serviço
$getProofOfDeliveryService = new GetProofOfDeliveryService();
$getProofOfDeliveryResponse = $getProofOfDeliveryService($getProofOfDeliveryRequest);
  1. Resultado do serviço
Executa o download do PDF

Voltar ao topo