Calc: Расчет стоимости доставки
Функция рассчитывает стоимость доставки по переданным параметрам.
- Endpoint:
Calc - SOAP-метод:
Calc - Группа: Calc
- Создано: 16.04.2026 · Обновлено: 15.05.2026
Описание
Функция рассчитывает стоимость доставки по переданным параметрам.
Параметры запроса
Параметры запроса Calc
В методе используется динамический формат с Fields и Tables, где параметры передаются в виде трио значений Key/Value/ValueType.
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
login |
string |
Да |
Логин пользователя |
password |
string |
Да |
Пароль |
parameters |
Element |
Да |
Дополнительные параметры расчёта (флаги, настройки) |
data |
Element |
Да |
Основные данные для расчёта (маршрут, груз) |
Описание параметра parameters
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
countingresults |
boolean |
Нет |
Возвращать детализацию расчёта |
ipaddress |
string |
Нет |
IP-адрес клиента (для логирования) |
Описание параметра data
Структура data используется для указания сразу данных одного или нескольких расчетов, указанных в виде списка структур Element. Структура data должна содержать свойство Key, заполненное значением Destinations. Сами параметры передаются списком через свойство List, которое не может быть пустым.
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
Key |
string |
Да |
Заголовок информации о расчете, всегда заполнено «Destination» |
List |
Element |
Да |
Список параметров расчета |
Описание параметра Fields (в data/List)
Список возможных сохраняемых реквизитов заказа в Fields:
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
SenderGeography |
string |
Да |
GUID (Globally Unique Identifier) географии отправления (получение объектов географии см. GetReferenceData: география), или код географии клиента, если клиент пользуется собственной географией. Либо код ФИАС, для этого необходимо передать строку «fias-» и необходисмый код ФИАС. Для поиска по индексу: «postcode-», затем код страны (цифровой, либо Альфа-2, либо Альфа-3) и индекс для поиска – пример «postcode-KZA00A0A0». Если код страны не вводится, по умолчанию поиск осуществляется по России. Пример для России: «postcode-RU-990500» или «postcode-990500» (данный вариант поиска может возвращать не точную информацию). |
RecipientGeography |
string |
Да |
GUID (Globally Unique Identifier) географии получения(получение объектов географии см. GetReferenceData: география), или код географии клиента, если клиент пользуется собственной географией. Либо код ФИАС, для этого необходимо передать строку «fias-» и необходисмый код ФИАС. Для поиска по индексу: «postcode-», затем код страны (цифровой, либо Альфа-2, либо Альфа-3) и индекс для поиска – пример «postcode-KZA00A0A0». Если код страны не вводится, по умолчанию поиск осуществляется по России. Пример для России: «postcode-RU-990500» или «postcode-990500» (данный вариант поиска может возвращать не точную информацию). |
Urgency |
string |
Нет |
GUID (Globally Unique Identifier) срочности доставки (получение списка срочностей см. GetReferenceData: срочности) |
TypeOfCargo |
string |
Да |
GUID (Globally Unique Identifier) вида груза (получение списка видов грузов см. GetReferenceData: виды грузов) |
Weight |
float |
Да |
Вес груза в кг |
Qty |
float |
Да |
Количество мест, целое неотрицательное число |
VolumeWeight |
float |
Нет |
Объемный вес, кг |
Volume |
float |
Нет |
Объем |
DeliveryType |
string |
Нет |
Тип значения NameOfdeliverytype вида доставки (получение списка видов доставки см. GetReferenceData: DeliveryType - Виды доставок). Если вид доставки влияет на тариф и не передается в запросе, тогда возвращается тариф от вида доставки, установленного по умолчанию в договоре |
DeclaredValueRate |
decimal |
Нет |
Объявленная стоимость груза |
InsuranceRate |
decimal |
Нет |
Страховая стоимость груза |
AdditionalServices |
string |
Нет |
GUID услуги из нашей системы |
Countingresults |
boolean |
Нет |
Признак суммирования услуги и дополнительной услуги |
Описание параметра AdditionalServices
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
Service |
string |
Да |
GUID (Globally Unique Identifier) дополнительной услуги |
Описание параметра ответа return
Если во время запроса произошла ошибка, информация о ней будет отражена в свойстве Properties (см. метод GetReferenceData: ErrorCodes — Коды ошибок).
При успешном выполнении метода вернутся данные в виде
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
Key |
string |
Да |
Заголовок информации о расчете, всегда заполнено Destination |
List |
Element |
Да |
Информация по тарифу |
Описание параметра ответа List
Содержит данные о рассчитанном маршруте доставки
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
Key |
string |
Да |
Заголовок информации о параметре в List, например Destination или Tariff |
Fields |
Element |
Да |
Параметры маршрута (география, вес, тип груза и т.д.) |
List |
Element |
Да |
Содержит данные о рассчитанном тарифе |
Описание вложенного параметра ответа Fields (Destination)
Отображает информацию направления доставки. Каждый параметр представлен отдельным блоком Fields, содержащим
- Key - название параметра (варианты в таблице ниже)
- Value - значение этого параметра
- ValueType - тип значения этого параметра
Таблица параметров (возможные значения Key):
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
SenderGeography |
string (GUID) |
Нет |
География отправителя |
RecipientGeography |
string (GUID) |
Нет |
География получателя |
Urgency |
string (GUID) |
Нет |
Срочность доставки |
TypeOfCargo |
string (GUID) |
Нет |
Тип груза |
Weight |
decimal |
Нет |
Вес груза (кг) |
Qty |
decimal |
Нет |
Количество грузовых мест |
Описание вложенного параметра ответа List (Tariff)
Отображает информацию тарифа доставки. Каждый параметр представлен отдельным блоком Fields, содержащим
- Key - название параметра (варианты в таблице ниже)
- Value - значение этого параметра
- ValueType - тип значения этого параметра
Таблица параметров (возможные значения Key):
Параметр |
Тип |
Обязательно |
Описание |
|---|---|---|---|
Total |
decimal |
Нет |
Итоговая стоимость доставки |
Currency |
string |
Нет |
Идентификатор валюты |
CurrencyName |
string |
Нет |
Краткое наименование валюты |
Service |
string |
Нет |
Название услуги / тарифа |
AdditionalService |
boolean |
Нет |
Является ли дополнительной услугой |
Urgency |
string |
Нет |
Идентификатор срочности |
UrgencyName |
string |
Нет |
Название срочности |
UrgencyDescription |
string |
Нет |
Описание условий срочности |
MinPeriod |
decimal |
Нет |
Минимальный срок доставки (дни) |
MaxPeriod |
decimal |
Нет |
Максимальный срок доставки (дни) |
COD |
boolean |
Нет |
Доступен ли наложенный платёж |
Return |
boolean |
Нет |
Доступен ли возврат груза |
Agent |
boolean |
Нет |
Является ли тариф агентским |
Пример запроса (XML Request)
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<m:Calc
xmlns:m="http://www.cargo3.ru">
<m:login>test</m:login>
<m:password>2016</m:password>
<m:data>
<m:Key>Destinations</m:Key>
<m:List>
<m:Key>Destination</m:Key>
<m:Fields>
<m:Key>SenderGeography</m:Key>
<m:Value> cf862f56-442d-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>RecipientGeography</m:Key>
<m:Value> cf862f56-442d-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>TypeOfCargo</m:Key>
<m:Value>4aab1fc6-fc2b-473a-8728-58bcd4ff79ba</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Weight</m:Key>
<m:Value>1</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Qty</m:Key>
<m:Value>1</m:Value>
<m:ValueType>int</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>DeclaredValueRate</m:Key>
<m:Value>1000</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>CountOnlyAddServices</m:Key>
<m:Value>true</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
<m:Tables>
<m:Key>AdditionalServices</m:Key>
<m:List>
<m:Key>Объявленная стоимость</m:Key>
<m:Value>6da21fe7-4f13-11dc-bda1-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:List>
</m:Tables>
</m:List>
</m:data>
<m:parameters
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Key>Parameters</m:Key>
<m:List>
<m:Key>countingresults</m:Key>
<m:Value>true</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:List>
<m:List>
<m:Key>ipaddress</m:Key>
<m:Value xsi:type="xs:string">10.0.0.1</m:Value>
<m:ValueType>string</m:ValueType>
</m:List>
</m:parameters>
</m:Calc>
</soap:Body>
</soap:Envelope> Пример ответа (XML Response)
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:CalcResponse
xmlns:m="http://www.cargo3.ru">
<m:return
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Key>Calc</m:Key>
<m:List>
<m:Key>Destination</m:Key>
<m:Fields>
<m:Key>SenderGeography</m:Key>
<m:Value xsi:type="xs:string">cf862f56-442d-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>RecipientGeography</m:Key>
<m:Value xsi:type="xs:string">8a3e044b-4429-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Urgency</m:Key>
<m:Value xsi:type="xs:string">18c4f208-458b-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>TypeOfCargo</m:Key>
<m:Value xsi:type="xs:string">4aab1fc6-fc2b-473a-8728-58bcd4ff79ba</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Weight</m:Key>
<m:Value xsi:type="xs:decimal">1</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Qty</m:Key>
<m:Value xsi:type="xs:decimal">1</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:List>
<m:Key>Tariff</m:Key>
<m:Value xsi:type="xs:string">6da21fe8-4f13-11dc-bda1-0015170f8c09</m:Value>
<m:Fields>
<m:Key>Total</m:Key>
<m:Value xsi:type="xs:decimal">1114.92</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Currency</m:Key>
<m:Value xsi:type="xs:string">ff3f7c38-4430-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>CurrencyName</m:Key>
<m:Value xsi:type="xs:string">RUR</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Service</m:Key>
<m:Value xsi:type="xs:string">Россия доставка</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>AdditionalService</m:Key>
<m:Value xsi:type="xs:boolean">false</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Urgency</m:Key>
<m:Value xsi:type="xs:string">18c4f208-458b-11dc-9497-0015170f8c09</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>UrgencyName</m:Key>
<m:Value xsi:type="xs:string">Сверхсрочная</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>MinPeriod</m:Key>
<m:Value xsi:type="xs:decimal">3</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>MaxPeriod</m:Key>
<m:Value xsi:type="xs:decimal">6</m:Value>
<m:ValueType>float</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>UrgencyDescription</m:Key>
<m:Value xsi:type="xs:string">Услуга производится по дополнительному согласованию.</m:Value>
<m:ValueType>string</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>COD</m:Key>
<m:Value xsi:type="xs:boolean">false</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Return</m:Key>
<m:Value xsi:type="xs:boolean">false</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
<m:Fields>
<m:Key>Agent</m:Key>
<m:Value xsi:type="xs:boolean">true</m:Value>
<m:ValueType>boolean</m:ValueType>
</m:Fields>
</m:List>
</m:List>
</m:return>
</m:CalcResponse>
</soap:Body>
</soap:Envelope>