Se a sua integração entre a SkyHub e o marketplace B2W é realizada através de API e você utiliza B2W Entrega, você pode agrupar seus pedidos à uma só PLP dos Correios.
Você pode obter uma lista de PLPs utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
/** @var SkyHub\Api\Handler\Response\HandlerInterface $response */
$response = $requestHandler->plps();
// ...
Você pode obter uma lista de pedidos aptos a serem agrupados em uma PLP utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
/** @var SkyHub\Api\Handler\Response\HandlerInterface $response */
$response = $requestHandler->ordersReadyToGroup();
// ...
Você pode agrupar os pedidos em uma PLP utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
$orders = array(
'CODIGO_PEDIDO_001',
'CODIGO_PEDIDO_002'
);
/**
* CREATE A PLP WITH ORDERS
*
* @var SkyHub\Api\Handler\Response\HandlerInterface $response
*/
$response = $requestHandler->group($orders);
// ...
Você pode desagrupar uma PLP utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
/** @var SkyHub\Api\Handler\Response\HandlerInterface $response */
$response = $requestHandler->ungroup('PLP_ID');
// ...
Você pode obter o PDF de sua PLP utilizando o trecho de código abaixo:
// ...
/** @var SkyHub\Api\ $service */
$service = new SkyHub\Api\Service\ServicePdf(null);
/** @var \SkyHub\Api $api */
$api = new SkyHub\Api($email, $apiKey, null, null, $service);
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
/** @var SkyHub\Api\Handler\Response\HandlerInterface $response */
$response = $requestHandler->viewFile('PLP_ID');
// ...
Após emitir a etiqueta, você pode obter a lista de pedidos e verificar quais estão aptos para a coleta utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
$requested = true; //Entregas que já tiveram sua coleta solicitada (obrigatório)
$offset = 1; //Paginação, inicia em 1 e hoje por padrão retorna de 20 em 20 registros. (opcional)
/** @var SkyHub\Api\Handler\Response\HandlerInterface $response */
$response = $requestHandler->collectables($requested, $offset);
// ...
Após verificar quais os pedidos aptos a serem coletados, o próximo passo é solicitar a coleta utilizando o trecho de código abaixo:
// ...
/** @var \SkyHub\Api\Handler\Request\Shipment\PlpHandler $requestHandler */
$requestHandler = $api->plp();
$orders = array(
'CODIGO_PEDIDO_001',
'CODIGO_PEDIDO_002'
);
/**
* @var SkyHub\Api\Handler\Response\HandlerInterface $response
*/
$response = $requestHandler->confirmCollection($orders);
// ...
Para mais informações acesse a documentação oficial.