DOCS

Calculate landed cost graphql

/

Рассчитайте landed cost

Рассчитайте пошлины, налоги и сборы с помощью GraphQL.

GraphQL

Zonos рассчитывает общую landed cost для отправлений, которая включает пошлины, налоги и любые дополнительные сборы, которые могут взимать таможня, брокеры или перевозчики. Мы часто гарантируем эти расчеты, оплачивая сами пошлину, налог и сбор, взимая с вас ровно ту сумму, которую мы рассчитали. В редких случаях наши расчеты могут использоваться без нашей гарантии, когда вы берете на себя любую разницу между нашим расчетом и счетом на пошлину и налог.

Подготовьте входные данные для мутации 

Расчет landed cost через GraphQL API включает несколько этапов; мы организовали эти этапы в рабочие процессы. В конце концов, у вас будет все необходимое, чтобы сделать один вызов для получения landed cost на основе места назначения, товаров в корзине и доставки.

Каждый рабочий процесс требует конкретных входных данных. GraphQL позволяет вам включать больше информации, чем требуется; пожалуйста, обратитесь к нашему полному API справочнику, чтобы увидеть все возможные поля. Обязательные поля отмечены как таковые в нашем API справочнике, но эта отметка применяется только к полям, которые необходимы для функциональности. Несколько дополнительных полей требуются при использовании нашей гарантии.

Ниже мы перечислили все обязательные поля для расчета гарантированной landed cost. Убедитесь, что у вас есть эта информация под рукой.

Обязательные входные данные для гарантированных расчетов

partyCreateWorkflowInput

partyCreateWorkflowInput определяет вовлеченные стороны и их местоположения. Просмотрите полную схему в нашем GraphQL API справочнике. Обязательные поля:

  • location
    • administrativeAreaCode: Код штата или провинции, состоящий из двух букв. Требуется только для CA и BR.
    • countryCode: Двухбуквенный ISO код страны.
    • line1: Первая строка адреса.
    • postalCode: Почтовый индекс или ZIP-код адреса.
  • person
    • email: Адрес электронной почты человека.
    • firstName: Имя человека.
    • lastName: Фамилия человека.
    • phone: Номер телефона человека.
  • type
    • DESTINATION: Информация о location и person для места назначения отправления.
    • ORIGIN: Информация о location для места отправления. Информация о person, связанная с местом отправления, не требуется.
itemCreateWorkflowInput

itemCreateWorkflowInput перечисляет товары в корзине. Существует множество необязательных полей (см. все возможности в нашем API справочнике), но ниже перечислены обязательные поля.

  • amount: Цена товара.
  • currencyCode: Код валюты для суммы товара.
  • quantity: Количество товара.
  • Одно из следующих (в зависимости от вашего предпочтения ключа товара. Ваш ключ товара связывает информацию, хранящуюся в Каталоге, с товаром в корзине и используется при создании этикетки.)
    • productId: Идентификатор товара.
    • sku: Артикул товара.

measurements (WEIGHT, LENGTH, WIDTH, HEIGHT) требуются только в том случае, если вы хотите упаковать ваши товары при получении оценки отправления.

shipmentRatingCreateWorkflowInput

Этот рабочий процесс используется, когда вы уже знаете стоимость и сервис доставки; если вы хотите, чтобы Zonos рассчитал эти расходы для услуг, которые вы включили, замените этот рабочий процесс на shipmentRatingCalculateWorkflow.

shipmentRatingCreateWorkflowInput передает стоимость доставки. Просмотрите полную схему в нашем GraphQL API справочнике. Обязательные поля:

  • amount: Стоимость доставки.
  • currencyCode: Код валюты стоимости доставки.
  • serviceLevelCode: Код, указывающий уровень сервиса доставки, используемый в оценке отправления.
landedCostWorkflowInput

landedCostWorkflowInput определяет предпочтения для расчета landed cost. Просмотрите полную схему в нашем GraphQL API справочнике. Обязательные поля:

  • calculationMethod: Указывает ваше предпочтение по способу доставки: DDP (предоплаченные пошлины и налоги) или DAP (пошлины и налоги оплачиваются при доставке, или если применяется схема возврата, они возвращаются через налоговый идентификатор).
    • Если вы используете нашу гарантию landed cost, это значение всегда должно быть DDP_PREFERRED, что обеспечит DDP котировку, когда это возможно, и DAP котировку, если DDP не разрешен. Использование DAP вместо этого может привести к тому, что расчеты по landed costs больше не будут гарантированы, так как это обычно приводит к оплате пошлин и налогов при доставке.
  • endUse: Указывает, продаются ли товары другой компании (FOR_RESALE) или для конечного использования потребителем (NOT_FOR_RESALE).
  • tariffRate: Указывает метод, который Zonos должен использовать для расчета тарифных ставок для этой котировки, в случае если существует диапазон тарифных ставок, которые могут быть применены. *При использовании нашей гарантии landed cost это всегда должно быть ZONOS_PREFERRED.

Добавьте рассчитанную доставку: Если вы хотите, чтобы Zonos рассчитал стоимость доставки для вас, замените shipmentRatingCreateWorkflow на shipmentRatingCalculateWorkflow. Добавьте cartonizeWorkflow, если вы хотите, чтобы Zonos сортировал ваши товары в коробки перед тем, как найти стоимость доставки (используется для объемного веса).

Опции при расчете landed cost

GraphQL предоставляет вам гибкость настраивать запрос по вашему усмотрению. Существует несколько вариантов того, как вы можете включить HS коды и стоимость доставки в запрос.

HS коды

HS коды влияют на ставки пошлин и, следовательно, обязательны. Вы можете передать HS код для каждого товара или позволить Classify сгенерировать их.

Передача HS кодов для каждого товара

Zonos настоятельно рекомендует использовать специфические HS коды для товаров, так как это приводит к более точной оценке landed cost. Если вы знаете свои HS коды, передайте hsCode для каждого item во время itemCreateWorkflow.

Если вы передаете HS код, Zonos будет проверять его в реальном времени при получении оценки landed cost. Если предоставленный вами HS код недействителен (то есть не существует), Zonos пере-classify ваш товар в реальном времени и использует новый, действительный HS код вместо предоставленного вами.

Если вам нужна помощь в генерации HS кодов для ваших товаров, узнайте о Zonos Classify и о том, как запросить классификацию.

Генерация HS кодов с помощью Classify

Если вы не передаете Zonos hsCode, мы сначала проверим Zonos Catalog, чтобы узнать, есть ли у вас сохраненный HS код для вашего товара. Если его нет, мы вызовем Classify, чтобы сгенерировать классификацию для расчета вашей landed cost на основе следующих полей деталей товара в itemCreateWorkflow: description, category и material. Если ваши поля деталей товара недостаточно подробны для генерации классификации на основе оценки уверенности Classify's, будет использован стандартный HS код, назначенный вашему магазину.

По умолчанию, если вы не предоставляете hsCode и мы вызываем Classify, сгенерированный Classify hsCode не будет возвращен в ответе, так как он будет использоваться только внутренне для генерации вашей landed cost. Однако, если у вас есть подписка на Classify, мы вернем HS код Classify's в вашем ответе на landed cost.

Стоимость доставки

Как уровень службы доставки, так и его стоимость влияют на пошлины, налоги и сборы и, следовательно, обязательны. Zonos может рассчитать стоимость доставки, или вы можете передать это нам.

Рассчитать доставку

Чтобы Zonos рассчитал стоимость доставки, используйте shipmentRatingCalculateWorkflow. Опции доставки, возвращенные в ответе на расчет доставки, будут соответствовать serviceLevels, которые вы назначили профилям доставки в Dashboard.

Устранение неполадок: Если вы ожидаете serviceLevel в ответе, но он не отображается, пожалуйста, убедитесь, что serviceLevel включен и поддерживается выбранным вами method.

Добавьте cartonizeWorkflow (который не имеет входных данных), если вы хотите, чтобы Zonos сортировал ваши товары в коробки перед тем, как найти стоимость доставки (используется для объемного веса.

Передача стоимости доставки

Если вы знаете serviceLevel и amount для отправки, вы можете передать их в части запроса shipmentRatingCreateWorkflow. Мы будем использовать эти значения для расчета любых связанных сборов перевозчика и вернем их в ответе.

Отправьте мутацию 

Как только у вас есть необходимые входные данные, отправьте мутацию GraphQL на конечную точку API, используя выбранную вами библиотеку или инструмент. Вот несколько примеров того, как вы можете структурировать мутацию.

Рассчитанная доставка
Ручная доставка

Мутация

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
mutation {
  partyCreateWorkflow(
    input: [
      {
        location: {
          administrativeArea: "Utah"
          administrativeAreaCode: "UT"
          countryCode: US
          line1: "345 N 2450 E"
          line2: "#151"
          locality: "St George"
          postalCode: "84790"
        }
        type: ORIGIN
      }
      {
        location: {
          administrativeArea: "BC"
          administrativeAreaCode: "BC"
          countryCode: CA
          line1: "27 Sussex Dr."
          locality: "Victoria"
          postalCode: "V8T 2V9"
        }
        person: {
          email: "test@gmail.com"
          firstName: "firstName"
          lastName: "lastName"
          phone: "5022303021"
          companyName: "goProTest"
          metadata: { key: "key", value: "value" }
        }
        type: DESTINATION
      }
      {
        type: PAYOR
        location: {
          administrativeArea: "ON"
          administrativeAreaCode: "ON"
          countryCode: CA
          latitude: 1.2
          line1: "asdf"
          line2: "asdf"
          locality: "locality"
          longitude: 3423.2
          postalCode: "M4C 1A1"
        }
        person: {
          email: "test@gmail.com"
          firstName: "firstName"
          lastName: "lastName"
          phone: "5022303021"
          companyName: "goProTest"
          metadata: { key: "key", value: "value" }
        }
      }
    ]
  ) {
    type
    id
    organization
  }

  itemCreateWorkflow(
    input: [
      {
        amount: 69
        currencyCode: USD
        countryOfOrigin: US
        quantity: 1
        productId: "productId"
        hsCode: "1006.30"
        description: "description"
        measurements: [
          { type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
          { type: WEIGHT, value: 2, unitOfMeasure: POUND }
        ]
      }
      {
        amount: 62
        currencyCode: CAD
        countryOfOrigin: US
        hsCode: "1006.30"
        quantity: 1
        productId: "productId2"
        description: "description2"
        measurements: [
          { type: WIDTH, value: 2, unitOfMeasure: CENTIMETER }
          { type: WEIGHT, value: 2, unitOfMeasure: POUND }
        ]
      }
    ]
  ) {
    id
    amount
  }
  cartonizeWorkflow {
    id
    type
    items {
      item {
        id
      }
    }
  }
  shipmentRatingCalculateWorkflow {
    id
    amount
  }
  landedCostCalculateWorkflow(
    input: { endUse: FOR_RESALE, method: DAP, tariffRate: ZONOS_PREFERRED }
  ) {
    id
    duties {
      amount
      currency
    }
    taxes {
      amount
      currency
    }
    fees {
      amount
      currency
    }
  }
}

Ответ

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
132
133
134
135
136
137
138
139
140
141
142
143
{
  "data": {
    "partyCreateWorkflow": [
      {
        "type": "ORIGIN",
        "id": "party_749959ae-b9ff-4de4-b4ac-59cc990c53ba",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "DESTINATION",
        "id": "party_cd7ff245-76b6-464f-a7bf-151ebe1f8833",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      },
      {
        "type": "PAYOR",
        "id": "party_00e63a9e-9735-44d9-b129-3b3e76c5df25",
        "organization": "organization_dbb64939-12d7-4f12-98ea-7ae5b21acfd0"
      }
    ],
    "itemCreateWorkflow": [
      {
        "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e",
        "amount": 69
      },
      {
        "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115",
        "amount": 62
      }
    ],
    "cartonizeWorkflow": [
      {
        "id": "carton_b34b29c1-ce27-464b-b91b-df8e4a696312",
        "type": "PACKAGE",
        "items": [
          {
            "item": {
              "id": "item_eb27f071-de8b-4578-9db9-ae69aaf9be3e"
            }
          },
          {
            "item": {
              "id": "item_fffa8ba8-cc8d-4e13-bed6-55044a71c115"
            }
          }
        ]
      }
    ],
    "shipmentRatingCalculateWorkflow": [
      {
        "id": "shipment_rating_96787309-9510-43cc-b4fa-c341ff80f4cc",
        "amount": 173.2
      },
      {
        "id": "shipment_rating_b0ccb109-7794-4c7c-b5cc-e2cfbbc5c8ac",
        "amount": 190.1
      }
    ],
    "landedCostCalculateWorkflow": [
      {
        "id": "landed_cost_74d3ce11-bff2-4326-9e6f-368e03ac88b4",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      },
      {
        "id": "landed_cost_7bbfd354-028c-457f-8c8e-c81bb8fa09a0",
        "duties": [
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "taxes": [
          {
            "amount": 3.45,
            "currency": "USD"
          },
          {
            "amount": 3.1,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          },
          {
            "amount": 0.0,
            "currency": "USD"
          }
        ],
        "fees": [
          {
            "amount": 0.13,
            "currency": "USD"
          },
          {
            "amount": 1.44,
            "currency": "USD"
          }
        ]
      }
    ]
  }
}

Была ли эта страница полезной?


На этой странице: