Correios - Processos via API
Esta seção consiste em fornecer orientações para as ações a serem realizadas via API para a tratativa de etiquetas emitidas para pedidos Americanas Entrega Correios
Last updated
Esta seção consiste em fornecer orientações para as ações a serem realizadas via API para a tratativa de etiquetas emitidas para pedidos Americanas Entrega Correios
Last updated
A disponibilização da etiqueta para uma entrega Americanas Correios depende diretamente da aprovação do pedido: A partir do momento em que o pedido é aprovado o marketplace irá disponibilizar a etiqueta para impressão.
Atenção! Apesar da etiqueta ser disponibilizada assim que o pedido é aprovado, o fluxo correto do pedido não deve ser ignorado, sendo imprescindível o faturamento do mesmo antes do seu envio.
Após aprovação e faturamento do pedido, é necessário agrupar, imprimir a etiqueta disponibilizada e anexá-la ao pacote que será levado à agência dos Correios, que fará uma validação (as etiquetas contam com registro de dimensões, peso, dentre outras informações importantes para a identificação), onde qualquer não conformidade resultará em recusa.
É importante pontuar que nas contas de teste não é possível simular os processos com etiquetas relacionadas ao serviço Americanas Entrega Correios. Para a homologação de um sistema, todo o fluxo de operação será validado pelos processos relacionados ao serviço .
Em ambiente de produção todo o fluxo para o serviço Americanas Entrega Correios opera conforme as informações disponibilizadas a seguir:
Todo o recurso de etiquetas será tratado através da URI base vista a seguir:
Os headers utilizados são aqueles padronizados na API, com diferenciação apenas para a emissão de etiquetas em PDF (cuja requisição sofrerá uma alteração no accept). Os headers padronizados podem ser consultados logo abaixo:
X-User-Email
email_de_usuario
X-Api-Key
token_de_integracao de sua conta SkyHub
X-Accountmanager-Key
token_account único de cada Plataforma/ERP
Accept
application/json
Content-Type
application/json
200 [Success] - OK: Como resposta haverá um body contendo todos os pedidos com etiquetas aptas ao agrupamento:
Há um limite de 25 pedidos que podem ser agrupados em uma PLP.
201 [Success] - Created: A requisição trará como resposta o ID da PLP gerada:
Um ID é gerado ao realizar o agrupamento de etiquetas em uma PLP (packing list); este código será utilizado para realizar a emissão da etiqueta a ser indexada ao pedido.
200 [Success] - OK: Como resposta haverá um body contendo todas as PLPs agrupadas:
Example request:
200 [Success] - OK: Como resposta haverá um body contendo as informações da PLP na qual o pedido consultado foi agrupado:
Apenas após realizar o agrupamento de uma PLP será possível seguir para a impressão da etiqueta.
Atenção: Endpoint descontinuado. Apenas para o formato PDF
Importante ressaltar que o fluxo para etiquetas Correios não é habilitado para o ambiente de teste.
Em produção a impressão da etiqueta pode ser feita para os formatos (PDF e JSON), conforme orientações a seguir:
200 [Success] - OK: Como resposta haverá o PDF da PLP cujo ID foi selecionado.
409 [Error] - As etiquetas desta PLP ainda não estão disponíveis para impressão. Neste caso, é necessário trabalhar com o Retry para obter a etiqueta quando ela estiver disponível.
200 [Success] - OK: Como resposta haverá o JSON da PLP cujo ID foi selecionado, conforme visualizado a seguir:
409 [Error] - As etiquetas desta PLP ainda não estão disponíveis para impressão. Neste caso, é necessário trabalhar com o Retry para obter a etiqueta quando ela estiver disponível.
Atenção: Endpoint descontinuado.
Em casos em que o seller agrupa erroneamente um pedido a uma PLP - como, por exemplo, em situações em que um pedido ainda não faturado foi agrupado a entregas já faturadas - é possível reverter esta ação ao efetuar o desagrupamento.
Uma vez que a PLP é desagrupada, os pedidos voltam para a relação de aptos ao agrupamento, ficando disponíveis novamente para a execução de todas as ações relacionadas às etiquetas.
Para desagrupar toda a PLP basta executar um DELETE para o endpoint referenciado acima e ressaltado logo a seguir:
200 [Success] - OK: O retorno trará a mensagem de confirmação de que a PLP foi desagrupada:
Atenção: Endpoint descontinuado.
Quando se opta por agrupar mais de um pedido em uma mesma PLP e há a necessidade de desagrupar apenas uma entrega deve ser realizado o DELETE para o endpoint base /shipments/b2w/
, incluindo o código numérico do pedido:
200 [Success] - OK: O retorno trará a mensagem de confirmação de que o pedido selecionado foi desagrupado da PLP:
As etiquetas disponíveis podem ser listadas, utilizando os padronizados na API, através de um GET para o endpoint a seguir:
Em posse dos pedidos aptos ao agrupamento, é possível seguir efetivamente para a ação de agrupar as etiquetas. O agrupamento é realizado através da execução de um POST, utilizando os padronizados na API, para o endpoint:
É possível realizar a consulta de todas as PLPs disponíveis ao executar um GET contendo os padronizados na API para o endpoint:
Para seguir com a impressão da etiqueta também é possível buscar o ID da PLP através do número do pedido agrupado. Para tal consulta serão aplicados os padronizados na API e o método GET para o endpoint /shipments/b2w
, que deverá receber o parâmetro delivery_id:
A impressão da etiqueta (também chamada de "recuperação" ou emissão) é realizada ao executar um GET, utilizando os padronizados na API (com especificações distintas no accept), para o endpoint /shipments/b2w/view
, indicando como parâmetro a key plp_id, que deverá receber o ID da PLP a ser impressa:
Para imprimir a etiqueta na impressora térmica, será necessário baixar o arquivo JSON utilizando o parâmetro: Accept: application/json. Através dele você receberá o JSON da etiqueta e deverá montar o .
A montagem da etiqueta segue os padrões definidos pelo guia técnico dos Correios. Sugerimos que seja utilizado o também durante o desenvolvimento, além desta documentação, uma vez que o referido guia contém informações importantes para a criação do QR CODE e os códigos de barras presentes nas etiquetas.
A ação de desagrupar pode ser realizada tanto para toda a PLP quanto para um pedido em específico. Em ambos os cenários, serão utilizados os padronizados na API para executar um DELETE no endpoint base: