DOCS

Integração de remessa na plataforma

Crie remessas a partir de sua plataforma

Dê aos clientes a capacidade de criar remessas e etiquetas do Zonos a partir de sua plataforma.

Este guia é projetado para desenvolvedores de plataformas de envio que desejam integrar as capacidades de criação de remessas do Zonos em sua plataforma para seus clientes. Se você já está usando a API do Zonos e só precisa criar remessas para pedidos existentes, consulte nosso guia de criação de remessas.

Se você é uma plataforma de envio que suporta clientes do Zonos enviando internacionalmente, integrar-se ao Zonos para criação de remessas deve ser uma consideração prioritária. Isso permitirá que você ofereça a experiência mais fluida para seus comerciantes e seus clientes, aproveitando os recursos existentes de sua plataforma enquanto deixa o Zonos gerenciar a criação da remessa, etiqueta e documentação aduaneira de apoio.

As vantagens de usar o Zonos para criar remessas incluem:

  • Cobrança de impostos e taxas por terceiros - Garantiremos que o número da conta do transportador de você ou de seu comerciante seja usado para as taxas de envio, enquanto as contas de impostos e taxas vão para o Zonos.
  • Flexibilidade - Em vez de realizar trabalho de desenvolvimento para garantir que você possa gerar etiquetas em conformidade com sua plataforma, integre-se à nossa API e deixe a conformidade em constante mudança de fronteira conosco.
  • Documentação aduaneira precisa - Quando você usa o Zonos para gerar etiquetas, garantimos que os detalhes corretos sejam passados para o transportador para garantir que o pacote passe pela alfândega rapidamente.

Este guia irá orientá-lo pelos passos para implementar uma integração completa de ponta a ponta que permitirá que você chame o Zonos para remessas a partir de sua plataforma.

Habilitar impressão de etiquetas 

Siga os passos abaixo para permitir que seus clientes recuperem etiquetas do Zonos a partir de sua plataforma.

1

Permitir credenciais da API

A API do Zonos é acessível por um credentialToken. Sua plataforma precisará dar aos clientes a capacidade de inserir seu credentialToken do Painel do Zonos em sua plataforma. A partir daqui, você poderá fazer solicitações ao Zonos em nome deles.

2

Criar uma remessa

Para recuperar uma label, você precisa criar uma shipment com a qual a label estará associada. O Zonos gerencia esse processo com um fluxo de trabalho que cria shipments e labels na mesma solicitação. Ao realizar essa mutação, você não precisa passar um serviceLevel, pois usaremos o serviceLevel utilizado no landedCost que está vinculado ao order. Para o orderId, você pode usar o ID do pedido do Zonos ou o accountOrderNumber que provavelmente já estará em seu sistema.

Quando uma remessa e etiquetas forem criadas com sucesso, retornaremos as etiquetas como uma labelImage, que é uma BASE64_ENCODED_IMAGE, ou como uma url de onde a etiqueta pode ser recuperada.

Use este fluxo de trabalho quando estiver criando uma remessa para um pedido existente e não precisar modificar detalhes de itens ou partes. Ele suporta números de rastreamento opcionais, centros de cumprimento, seleção de nível de serviço e seguro de valor declarado.

Mutação

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
mutation CreateShipment($input: ShipmentCreateWorkflowInput!) {
  shipmentCreateWorkflow(input: $input) {
    id
    status
    trackingDetails {
      number
    }
    serviceLevel {
      id
      name
      carrier {
        id
        name
      }
    }
    shipmentCartons {
      id
      carton {
        id
        width
        length
        height
        weight
        items {
          item {
            id
            amount
            description
          }
        }
      }
      label {
        url
        trackingNumber
        id
        documentFiling
      }
    }
  }
}

Variáveis Básicas

1
2
3
4
5
6
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789abc"
  }
}

Com Centro de Distribuição

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789def",
    "fulfillmentCenter": "fulfillment_center_12345"
  }
}

Com Rastreamento Personalizado

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": false,
    "orderId": "order_12345678-1234-1234-1234-123456789ghi",
    "trackingNumbers": ["tracking_example_1", "tracking_example_2"]
  }
}

Com Nível de Serviço

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789jkl",
    "serviceLevel": "dhl.express_example"
  }
}

Com seguro de valor declarado

1
2
3
4
5
6
7
{
  "input": {
    "generateLabel": true,
    "orderId": "order_12345678-1234-1234-1234-123456789mno",
    "isDeclaredValue": true
  }
}

Valor declarado

Defina "isDeclaredValue": true para habilitar a cobertura de valor declarado para todos os itens em seu envio. Zonos automaticamente reivindica o valor total de todos os itens submetidos no pedido; os comerciantes não podem modificar esse valor. Isso define a responsabilidade máxima que a transportadora aceitará em caso de perda, dano ou roubo durante o transporte. Este recurso é suportado apenas para envios da UPS, FedEx e DHL. Zonos gerencia automaticamente a implementação específica da transportadora quando você habilita o valor declarado, incluindo os parâmetros apropriados em nossas chamadas de API para essas transportadoras, para que você não precise gerenciar diferentes requisitos de transportadoras.

Limitações da UPS: A UPS cobre apenas valores entre 100-50.000 USD e processa o valor declarado no nível da caixa. Para envios com múltiplas caixas, os comerciantes devem dividir o envio para designar a cobertura por caixa. A UPS também gera um formulário de seguro adicional que deve ser impresso com os rótulos.

FedEx e DHL: Processam o valor declarado no nível do envio sem restrições adicionais.

3

Anular um envio

No caso de um cliente querer anular um envio, você pode usar a seguinte mutação que anulará todos os rótulos vinculados ao envio.

Solicitação

1
2
3
4
5
6
7
8
9
10
11
12
mutation {
  shipmentStatusUpdate(
    input: {
      shipment: "shipment_f1fe4dbd-e471-49fa-94e7-84e369083223"
      status: VOIDED
      note: "Voiding shipment"
    }
  ) {
    id
    status
  }
}

Esta página foi útil?