Crear envíos de Zonos desde su plataforma

Brinde a los clientes la capacidad de crear envíos y etiquetas de Zonos desde su plataforma.

Si usted es una plataforma de envío que admite a los clientes de Zonos que envían internacionalmente, integrar Zonos para la creación de envíos debería ser una consideración principal. Esto le permitirá ofrecer la experiencia más fluida para sus comerciantes y sus clientes aprovechando las características existentes de su plataforma, mientras deja que Zonos gestione la creación del envío, la etiqueta y la documentación aduanera de apoyo.

Las ventajas de usar Zonos para crear envíos incluyen:

  • Facturación de terceros de derechos e impuestos - Nos aseguraremos de que se utilice el número de cuenta del transportista de usted o de su comerciante para los cargos de envío, mientras que las facturas por derechos e impuestos lleguen a Zonos.
  • Flexibilidad - En lugar de realizar trabajo de desarrollo para asegurarse de que puede generar etiquetas conformes con su plataforma, integre con nuestra API y deje la siempre cambiante conformidad transfronteriza en nuestras manos.
  • Documentación aduanera precisa - Cuando utiliza Zonos para generar etiquetas, nos aseguramos de que los detalles correctos se envíen al transportista para garantizar que el paquete pase por la aduana rápidamente.

Esta guía lo guiará a través de los pasos para implementar una integración completa de extremo a extremo que le permitirá llamar a Zonos para envíos desde su plataforma.

Permitir a los clientes imprimir etiquetas de Zonos desde su plataforma 

Siga los pasos a continuación para permitir que sus clientes recuperen etiquetas de Zonos desde su plataforma.

1

Permitir que los clientes ingresen sus credenciales de API de Zonos

La Zonos API es accesible mediante un credentialToken. Su plataforma deberá dar a los clientes la capacidad de ingresar su credentialToken desde el Zonos Dashboard en su plataforma. Desde aquí, podrá hacer solicitudes a Zonos en su nombre.

2

Crear un envío

Para recuperar una label, se requiere crear un shipment con el que se asociará la label. Zonos gestiona este proceso con un flujo de trabajo que crea shipments y labels en la misma solicitud. Al realizar esta mutación, no necesita pasar un serviceLevel, ya que utilizaremos el serviceLevel utilizado del landedCost que está vinculado al order. Para el orderId, puede usar el ID de pedido de Zonos o el accountOrderNumber que probablemente ya esté en su sistema. Cuando un envío y las etiquetas se crean con éxito, devolveremos las etiquetas como una labelImage, que es una BASE64_ENCODED_IMAGE, o como una url desde donde se puede obtener la etiqueta.

Mutación

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
mutation {
  partyCreateWorkflow(
    input: [
      {
        location: {
          administrativeArea: "Utah"
          administrativeAreaCode: "UT"
          countryCode: US
          line1: "123 Test Street"
          locality: "St George"
          postalCode: "84770"
        }
        person: {
          companyName: "test Corp"
          phone: "8018565714"
          firstName: "Tom"
        }
        type: ORIGIN
      }
      {
        location: {
          administrativeArea: "Quebec"
          administrativeAreaCode: "QC"
          countryCode: CA
          line1: "2147 Pitfield Blvd"
          locality: "Pierrefonds"
          postalCode: "H9H 3C7"
        }
        person: {
          email: "test@gmail.com"
          firstName: "firstName"
          lastName: "lastName"
          phone: "5022303021"
          companyName: "goProTest"
        }
        type: DESTINATION
      }
    ]
  ) {
    type
    id
    organization
  }
  itemCreateWorkflow(
    input: [
      {
        amount: 50
        currencyCode: USD
        countryOfOrigin: US
        quantity: 1
        metadata: { key: "tags", value: "accessory" }
        sku: "ow-accessory-gtr"
        productId: "1892949164056"
      }
    ]
  ) {
    amount
    id
    quantity
    sku
    productId
  }
  cartonsCreateWorkflow(
    input: {
      dimensionalUnit: INCH
      height: "5"
      length: "5"
      weight: "5"
      weightUnit: POUND
      width: "10"
    }
  ) {
    items {
      item {
        amount
        id
        quantity
        sku
      }
    }
    length
    width
    weight
    weightUnit
    height
    id
  }
  shipmentCreateWorkflow(
    input: { orderId: "order_f648793c-2585-4684-afa0-da1fdb0d4f94" }
  ) {
    id
    serviceLevel {
      id
      name
      carrier {
        id
        name
      }
    }

    shipmentCartons {
      id
      tracking {
        number
      }
      label {
        labelImage
        labelFileType
      }
      carton {
        id
        width
        length
        height
        weight
        items {
          item {
            id
            amount
            description
          }
        }
      }
    }
    customsDocuments {
      id
      fileType
      fileUrl
    }
  }
}

Respuesta

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
  "data": {
    "shipmentCreateWorkflow": {
      "id": "shipment_90f3c62a-c50e-466c-a317-70ececb26dc4",
      "serviceLevel": {
        "id": "service_level_a7129244-7334-4e8b-8b10-6494b0e49a7d",
        "name": "UPS Worldwide Express",
        "carrier": {
          "id": "carrier_26bf7275-cac2-47b5-979a-4325fa2efa82",
          "name": "UPS"
        }
      },
      "shipmentCartons": [
        {
          "id": "shipment_carton_d254a6df-9dcd-47fc-926b-48eaeaea232c",
          "tracking": {
            "number": "1Z2030216698896462"
          },
          "label": {
            "labelImage": "{{BASE64_ENCODED_IMAGE}}",
            "labelFileType": "PDF",
            "labelAmounts": [
              {
                "amount": 41.88,
                "amountType": "QUOTE"
              }
            ]
          },
          "carton": {
            "id": "carton_0jhg9mxk431q7",
            "width": 10.0,
            "length": 5.0,
            "height": 5.0,
            "weight": 5.0,
            "items": [
              {
                "item": {
                  "id": "item_0jhg9mxdwm77w",
                  "amount": 50,
                  "description": null
                }
              }
            ]
          }
        }
      ],
      "customsDocuments": [
        {
          "id": "customs_doc_d8bedf7a-2de0-4729-8bdd-ebd901b67127",
          "fileType": "PDF",
          "fileUrl": "https://prod-zonos-shipping-label.s3.us-east-2.amazonaws.com/organization_a61090a2-d18b-415c-9870-03b9087cbf2d/shipment_90f3c62a-c50e-466c-a317-70ececb26dc4/customs/International_Forms.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250117T231615Z&X-Amz-SignedHeaders=host&X-Amz-Credential=AKIAR3GS2GP6V4LZE3OI%2F20250117%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Expires=14400&X-Amz-Signature=6c17e358a038c3cd7d61391302909ee503344249405974e490d9b46051c79dba"
        }
      ]
    }
  }
}
3

Anular un envío

En caso de que un cliente desee anular un envío, puede utilizar la siguiente mutación que anulará todas las etiquetas vinculadas al envío.

Solicitud

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
  }
}

¿Fue útil esta página?