DOCS

Рассчитайте стоимость доставки - GraphQL

Рассчитайте стоимость доставки

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

GraphQL

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

Подготовьте запрос 

Расчет стоимости доставки API требует нескольких входных данных, которые мы организовали в рабочие процессы. После завершения вы сможете сделать один запрос для возврата стоимости доставки на основе пункта назначения доставки, товаров в корзине и деталей доставки.

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

Обратите внимание, что некоторые поля условно требуются, если вы хотите, чтобы ваш расчет был гарантирован.

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

partyCreateWorkflowInput

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

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

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

  • amount: Стоимость одной единицы отправляемого продукта, до умножения на количество. Обратите внимание, что это отличается от почтового определения почтового товара. Если quantity товара равна 1, это общая стоимость товара. Если quantity товара >1, API будет умножать amount товара на quantity товара для получения итога по строке. Не указывайте общую цену всех единиц товара в amount.
  • currencyCode: Код валюты суммы товара.
  • quantity: Количество товара. API будет умножать amount товара на quantity товара для получения итога по строке.
  • countryOfOrigin: Страна, где был изготовлен товар.
  • Один из следующих (в зависимости от установленного у вас предпочтения ключа товара. Ваш ключ товара связывает информацию, сохраненную в Catalog, с товаром в корзине и используется при создании этикетки.)
    • productId: ID товара.
    • sku: SKU товара.

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

cartonsCreateWorkflowInput

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

shipmentRatingCreateWorkflowInput

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

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

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

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

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

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

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

Коды HS 

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

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

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

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

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

Создайте коды HS с помощью Classify

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

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

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

Рассчитайте доставку

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

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

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

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

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

Запросите стоимость доставки через API 

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

Используйте этот запрос, когда вы позволяете Zonos рассчитать стоимость доставки как часть запроса Landed Cost. Затем мы рассчитаем пошлины и налоги на доставку, если они оцениваются пунктом назначения.

1mutation CalculateLandedCost(
2$parties: [PartyCreateWorkflowInput!]!
3$items: [ItemCreateWorkflowInput!]!
4$landedCostConfig: LandedCostWorkFlowInput!
5) {
6 partyCreateWorkflow(input: $parties) {
7 type
8 id
9 organization
10 }
11 itemCreateWorkflow(input: $items) {
12 id
13 amount
14 productId
15 }
16 cartonizeWorkflow {
17 id
18 type
19 items {
20 item {
21 id
22 }
23 }
24 }
25 shipmentRatingCalculateWorkflow {
26 id
27 amount
28 }
29 landedCostCalculateWorkflow(input: $landedCostConfig) {
30 id
31 duties {
32 amount
33 currency
34 note
35 }
36 taxes {
37 amount
38 currency
39 note
40 }
41 fees {
42 amount
43 currency
44 note
45 }
46 }
47}

Следующий шаг: Создайте заказ

После расчета стоимости доставки и получения landedCostId из ответа API вы должны создать заказ для завершения транзакции в системе Zonos. Используйте мутацию orderCreate и передайте landedCostId из вашего предложения. Узнайте больше о создании заказов.


Запросите стоимость доставки в Dashboard 

Вы также можете рассчитать стоимость доставки прямо в Zonos Dashboard без использования API. Это полезно для проверки расчетов, обучения вашей команды или получения быстрых предложений для запросов клиентов.

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

Использование калькулятора Dashboard

С помощью калькулятора стоимости доставки в Dashboard вы можете получить предложения с рассчитанными тарифами доставки, создавать предложения с известными стоимостями доставки или обрабатывать несколько предложений оптом.

Используйте этот процесс, когда вы знаете уровень сервиса доставки и стоимость вашей доставки.

  1. Перейдите к DashboardOrdersQuotes
  2. Нажмите New quote
  3. Дополнительно — Измените местоположение вашего адреса отправки
  4. Выберите Destination country из раскрывающегося списка
  5. Введите сумму доставки
    • Уровень сервиса необязателен; его добавление позволяет нам рассчитать применимые комиссии перевозчика
  6. Добавьте детали товара для доставки
    • Когда вы вводите описание, мы автоматически классифицируем продукт и создаем код HS
    • Вы можете перезаписать созданный код HS, если необходимо
    • Для нескольких товаров нажмите Save and add another. В противном случае нажмите Save
  7. Дополнительно — Нажмите More options для изменения:
    • Типа продажи на For resale
    • Режима доставки на Delivery duties unpaid
  8. Нажмите Get quote
    • Для внесения изменений нажмите Edit form и измените любые детали
    • Нажмите Get quote снова для обновления

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

Редактирование существующих предложений: Нажмите Quote again в правом верхнем углу, чтобы изменить существующее предложение вместо начала с нуля.

Преимущества использования Dashboard

  • Кодирование не требуется — Создавайте предложения через удобный интерфейс
  • Обучение команды — Помогите техническим членам команды понять компоненты стоимости доставки
  • Проверка API — Проверьте, что ваша интеграция API дает ожидаемые результаты
  • Поддержка клиентов — Быстро создавайте предложения для запросов клиентов
  • Массовая обработка — Эффективная обработка нескольких расчетов (скоро)

Предложения Dashboard включают те же подробные разбивки, доступные через API, что делает его отличным дополнением к вашей автоматизированной интеграции.

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