Informe sua dúvida na busca ou navegue pelas categorias abaixo.
Fluxo de pedido Envvias em SANDBOX
Antes de iniciarmos o fluxo de pedido Envvias em Sandbox, vamos comparar a diferença entre os status de pedidos normais e Envvias.
Pedido Normal - Um pedido normal possui os seguintes status:
Pedido Envvias - Em um pedido Envvias, temos a adição de dois novos status, RIN e PRI:
IMPORTANTE:
Nas chamadas dos endpoints a seguir, foram abstraídos os "headers" de "client_id" e "access_token" para facilitar o entendimento, mas eles são obrigatórios e devem ser informados com valores válidos para o "ambiente de sandbox".
Agora vamos ao fluxo de pedido Envvias em Sandbox
O primeiro passo é criar o pedido, e para isso:
1 - O primeiro passo é criar um pedido, informando que ele é "Envvias". Para fazermos isso devemos chamar o endpoint a seguir. Lembrando que este não é o "fluxo real", pois não é o lojista que cria o pedido. Este endpoint existe somente no "ambiente de sandbox".
Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders
Method: POST
Request:
Detalhamento da request:
envvias: true para pedidos Envvias e false para pedidos convencionais;
items:
skuSellerId: SKU do produto (somente números);
name: Descrição do produto;
salePrice: Valor para o produto;
Customer:
name: Nome do cliente;
gender: Sexo do cliente;
documentNumber: CPF do cliente (precisa ser um dado válido);
type: Manter como “PF”;
email: E-mail do cliente (precisa ser um dado válido);
bornAt: Data de nascimento do cliente;
Billing:
address: Endereço do cliente;
number: Número do endereço do cliente;
quarter: Bairro do cliente;
city: Cidade do cliente;
state: Estado do cliente;
countryId: País do cliente (manter “Brasil”);
zipCode: Cep do cliente;
Phones:
mobile: Número do telefone do cliente.
IMPORTANTE:
Caso queira criar um pedido com mais de um item comprado, basta informar o Body da request adicionando mais de uma chave “items”.
Exemplo de pedido com 2 produtos:
Response: Nos "Headers" deste objeto, teremos um atributo chamado "content-location", e no seu valor encontramos o "Order ID" (número do pedido) que foi criado, e vamos utilizar nos demais endpoints.
Exemplo: Note que na imagem abaixo que este valor é 1783296001
Status do pedido após criação do pedido: Nessa etapa o pedido está com o status PEN ( *consulta GET /orders ) :
Segundo passo, aprovando pedido:
Agora é preciso realizar o pagamento do pedido. Para fazermos isso devemos chamar o endpoint a seguir.
*Lembrando que esse não é o "fluxo real", pois não é o lojista que comunica o pagamento do pedido. Esse endpoint existe somente no "ambiente de sandbox".
Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/status/approved/{orderId}
Method: PUT
Request: Não possui um body, então é só deixar em branco.
Response: Também não possui um body, avaliamos o sucesso pelo Http Status Code retornado, que deverá ser 200.
Exemplo: Utilizando o "Order ID" gerado na criação do pedido:
Detalhes importantes:
Nessa etapa é realizada a primeira comunicação com o parceiro UX Solutions, responsável pela geração das etiquetas do Envvias, informando os dados do cliente, do lojista, dimensões do produto, peso, etc;
No momento não estamos utilizando o endereço real do lojista, e sim um endereço fixo que será igual para todos os lojistas. Isso garante que teremos uma origem válida, coberta pelo serviço de entrega, e não necessita de nenhum cadastro extra de lojistas neste ambiente;
Como mencionado anteriormente, na criação do pedido é possível informar qualquer sku, em função disso, estamos enviando dimensões fixas para o parceiro UX Solutions. Com isso eliminamos a necessidade do vínculo entre o lojista e o produto, e garantimos que o produto terá dimensões aceitas. As dimensões utilizadas são: comprimento: 0.3m, largura: 0.49m, altura: 0.22m, peso: 5 Kg;
Status do pedido após pagamento: Aqui o pedido está com o status PAY.
Na terceira etapa gerando Nota Fiscal:
O próximo passo é o cadastro da Nota Fiscal. Para fazermos isso devemos chamar o endpoint a seguir. Lembrando que esse endpoint faz parte do "fluxo real" do lojista, de modo que ele exista também no ambiente de produção. A request deste endpoint é bastante semelhante ao endpoint "/orders/{orderId}/trackings/sent", que os lojistas já conhecem.
Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/{orderid}/trackings/invoice
Method: POST
Request:
Detalhamento da request:
items: Sku informado na criação do pedido, separado por "-" (traço), informando a quantidade. Como mencionado, já é um padrão ao qual o lojista está acostumado;
invoce:
number: Número da nota fiscal;
serie: Série da nota fiscal;
issueAt: Data da emissão da nota fiscal;
accessKey: Chave da nota fiscal;
cnpj: CNPJ do seller (precisa ser um dado válido);
curredAt: Data de geração do tracking;
Response: Possui um body, informando o sucesso ou não da chamada, que pode ser verificado pelo campo "válido" com valor true para sucesso. Além do body podemos validar também pelo Http Status Code.
Exemplo: Utilizando o "Order ID" gerado na criação do pedido:
Status do pedido após emitir a nota fiscal: Aqui o pedido está com o status RIN, pois foi criada somente uma entrega.
E para finalizar, na quarta e última etapa gerando etiqueta de envio:
Agora você vai gerar a etiqueta
*Lembrando que esse endpoint faz parte do "fluxo real" do lojista, de modo que ele exista também no ambiente de produção.
LabelNumber: Quantidade opcional de etiquetas.
Detalhe importante, aqui é realizada a segunda comunicação com o parceiro UX Solutions, para a geração da etiqueta.
Endpoint: https://sandbox-mktplace.viavarejo.com.br/api/v2/orders/{orderid}/generate-label
Method:POST
Request:
Detalhamento da request:
labelNumber: Solicite etiquetas sem informar o item ou a entrega, informando apenas a quantidade de etiquetas que serão geradas
Exemplo: Quero duas etiquetas para um pedido que contém três itens "labelsNumber": 2).
link: Aqui você pode escolher entre etiqueta em link ou em base64. Para escolher entre as opções, basta informar true= enviaremos as etiquetas em link e false= enviaremos as etiquetas em base64.
Importante: Em ambos os retornos terá as opções de JSON, PDF ou ZPL.
Status do pedido após emitir a Nota Fiscal: Aqui o pedido estará com o status macro RIN, e esse também é o último estágio de responsabilidade do lojista, para que encaminhe o (os) pacotes aos correios.
IMPORTANTE:
Consultando os pedidos no GET/orders/{orderId} nos Status micro do pedido, localizado nos campos "controlPoint" e "description", irá visualizar o status referente a geração da etiqueta:
Após seguir todo esse fluxo, o Via Marketplace ficará responsável por realizar a marcação do envio e entrega junto à empresa Ux Solutions.
Response: Retornaremos de forma síncrona um body com a etiqueta e o formato escolhido para gerá-la. Exemplo de retorno através da opção "labelsNumber": 1,:
*A opção de buscar a etiqueta está disponível através do endpoint GET /orders/{orderId}/labels
Exemplo de etiqueta do Envvias Postagem em PDF: Clique aqui
Fica a dica
Caso tenha alguma dúvida, entre em contato com nosso time através do e-mail integracao.mktp@viavarejo.com.br e informe o nome da APP e o Client_ID.