POST /shipments/calculations: Розрахунок об'ємної ваги [дільник 5000]
Загальна інформація
Назва методу
Shipment calculation
HTTP Method
POST
Роут
/v.1.0/shipments/calculations
/mobileapp/v.1.1/shipments/calculations
/ui/v.1.0/shipments/calculations
ui/v.1.0/shipments/delivery-calculations
ui/site/v.1.0/shipments/delivery-calculations
Тип зміни
Changes to existing endpoint
Авторизація
Authorization: Bearer jwt-token…
System/module
client-api, Мobile App, UI (/ui/ /mobileapp/ /v.1.0/)
Опис
Для кінцевих відправлень/розрахунків (POST, /shipments/calculations) змінено логіку розрахунку об’ємної ваги (volumetricWeight) для відправлень, пов’язаних із Молдовою.
Суть зміни
Для всіх країн об'ємну вагу розраховували так:
volumetricWeight = length * width * height / 4000
Після змін:
Для відправлень, пов'язаних з Молдовою, об'ємну вагу необхідно розраховувати так:
volumetricWeight = length * width * height / 5000. See rules below.Для всіх інших відправлень формула з дільником 4000 залишається незмінною.
volumetricWeight обчислюється на стороні API Gateway, навіть якщо parcels[].volumetricWeight не надсилається в запиті або надсилається як null.
Правила, коли необхідно застосовувати дільник 5000 (Молдова)
Формула з дільником 5000 використовується, якщо виконується хоча б один із наступних випадків:
Внутрішні перевезення в межах Молдови
Відправник та одержувач знаходяться в Молдові
sender.countryCode = "MD"recipient.countryCode = "MD"
Відправлення з Молдови, де платник = відправник або третя особа з молдавським контрактом
sender.countryCode = "MD"Платник за відправлення:
payerType = "Sender"ORpayerType = "ThirdPerson"і договір з платником з Молдови.
Відправлення до Молдови та платник = одержувач або третя особа з молдавським договором
recipient.countryCode = "MD"Payer of the shipment:
payerType = "Recipient"ORpayerType = "ThirdPerson"і договір з платником з Молдови.
Визначення «молдавського» контракту для третьої особи
Якщо payerType = "ThirdPerson", щоб визначити, що платник є третьою стороною за молдавським договором:
Візьміть номер договору з
payerContractNumberв/shipmentsзапит.Виклич
/api/contracts/з:numbers[] = {payerContractNumber}countryCodes[] = MD
Якщо відповідь для фільтру
countryCodes[] = MDмістить контракт із цим номером – контракт вважається молдавським.
Якщо ні – контракт не є молдавським, і формулу з дільником 5000 застосовувати не слід.
Приклад:
GET /api/contracts/?numbers[]=GNPMD-00020861&countryCodes[]=MD