Предварительная оценка без создания заявки

Request

POST

b2b.taxi.yandex.net/b2b/cargo/integration/v2/check-price

Адрес сервиса

Headers

Name

Description

Accept-Language

Type: string

Предпочитаемый язык ответа

Например:
ru — русский
en — английский

Example: ru

Body

application/json
{
  "items": [
    {
      "size": {
        "length": 0.1,
        "width": 0.2,
        "height": 0.3
      },
      "weight": 2.105,
      "quantity": 1,
      "pickup_point": 1,
      "dropoff_point": 2
    }
  ],
  "route_points": [
    {
      "id": 1,
      "coordinates": [
        0.1,
        0.1
      ],
      "fullname": "Санкт-Петербург, Большая Монетная улица, 1к1А",
      "country": "Россия",
      "city": "Санкт-Петербург",
      "street": "Большая Монетная улица",
      "building": "23к1А",
      "porch": "A",
      "sfloor": "1",
      "sflat": "1"
    }
  ],
  "requirements": {
    "taxi_class": "cargo",
    "cargo_type": "lcv_m",
    "cargo_loaders": 1,
    "pro_courier": false,
    "cargo_options": [
      "thermobag"
    ],
    "same_day_data": {
      "delivery_interval": {
        "from": "2020-01-01T00:00:00+00:00",
        "to": "2020-01-02T00:00:00+00:00"
      }
    }
  },
  "skip_door_to_door": false
}

Name

Description

route_points

Type: RoutePointWithAddress[]

Точки маршрута. Отсортированы в порядке посещения А-Б1....БN

Min items: 1

Example
[
  {
    "id": 1,
    "coordinates": [
      0.1,
      0.1
    ],
    "fullname": "Санкт-Петербург, Большая Монетная улица, 1к1А",
    "country": "Россия",
    "city": "Санкт-Петербург",
    "street": "Большая Монетная улица",
    "building": "23к1А",
    "porch": "A",
    "sfloor": "1",
    "sflat": "1"
  }
]

items

Type: Item[]

Параметры товаров

Min items: 1

Example
[
  {
    "size": {
      "length": 0.1,
      "width": 0.2,
      "height": 0.3
    },
    "weight": 2.105,
    "quantity": 1,
    "pickup_point": 1,
    "dropoff_point": 2
  }
]

requirements

Type: Requirements

Требования к доставке (класс авто, опции)

Example
{
  "taxi_class": "cargo",
  "cargo_type": "lcv_m",
  "cargo_loaders": 1,
  "pro_courier": false,
  "cargo_options": [
    "thermobag"
  ],
  "same_day_data": {
    "delivery_interval": {
      "from": "2020-01-01T00:00:00+00:00",
      "to": "2020-01-02T00:00:00+00:00"
    }
  }
}

skip_door_to_door

Type: boolean

Отключить доставку до двери (выключить опцию "От двери до двери").

Возможные значения:

  • true (курьер доставит заказ только на улицу, до подъезда)
  • false (курьер доставит заказ до двери) — значение по умолчанию.

Default: false

CargoItemSizes

Габариты товара в метрах. В полях следует передавать актуальные значения.

Если габариты не были переданы, заказ оформляется с учетом
максимально допустимых габаритов для выбранного тарифа.

Если фактические характеристики товара превысят допустимые,
курьер вправе отказаться от выполнения такого заказа на месте.
В этом случае будет удержана стоимость подачи.

Курьер (courier): до 0.80 м × 0.50 м × 0.50 м
Экспресс (express): до 1.00 м × 0.60 м × 0.50 м
Грузовой (cargo):

  • Маленький кузов: до 1.70 м × 0.96 м × 0.90 м
  • Средний кузов: до 2.60 м × 1.30 м × 1.50 м
  • Большой кузов: до 3.80 м × 1.80 м × 1.80 м

Name

Description

height

Type: number

Высота в метрах

Min value: 0

Max value: 500

length

Type: number

Длина в метрах

Min value: 0

Max value: 500

width

Type: number

Ширина в метрах

Min value: 0

Max value: 500

Example
{
  "length": 0.1,
  "width": 0.2,
  "height": 0.3
}

Item

Name

Description

quantity

Type: integer

Количество единиц товара

Min value: 1

dropoff_point

Type: integer

Идентификатор точки (int64), куда нужно доставить товар.
Может быть любым числом. Должен соответствовать значению route_points[].id у точки назначения.
Параметр обязательный, если в заказе несколько точек доставки.

pickup_point

Type: integer

Идентификатор точки (int64), откуда нужно забрать товар.
Может быть любым числом. Должен соответствовать значению route_points[].id у точки отправки.
Параметр обязательный, если в заказе несколько точек доставки.

size

Type: CargoItemSizes

Габариты товара в метрах. В полях следует передавать актуальные значения.

Если габариты не были переданы, заказ оформляется с учетом
максимально допустимых габаритов для выбранного тарифа.

Если фактические характеристики товара превысят допустимые,
курьер вправе отказаться от выполнения такого заказа на месте.
В этом случае будет удержана стоимость подачи.

Курьер (courier): до 0.80 м × 0.50 м × 0.50 м
Экспресс (express): до 1.00 м × 0.60 м × 0.50 м
Грузовой (cargo):

  • Маленький кузов: до 1.70 м × 0.96 м × 0.90 м
  • Средний кузов: до 2.60 м × 1.30 м × 1.50 м
  • Большой кузов: до 3.80 м × 1.80 м × 1.80 м
Example
{
  "length": 0.1,
  "width": 0.2,
  "height": 0.3
}

weight

Type: number

Вес товара в килограммах.
Пример: 2.105

Example
{
  "size": {
    "length": 0.1,
    "width": 0.2,
    "height": 0.3
  },
  "weight": 2.105,
  "quantity": 1,
  "pickup_point": 1,
  "dropoff_point": 2
}

Point

Координаты точек в виде массива из двух вещественных чисел: долгота, широта — именно в таком порядке.

Type: number[]

Min items: 2

Max items: 2

Example
[
  0.1,
  0.1
]

AddressFullname

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

Type: string

Example: Санкт-Петербург, Большая Монетная улица, 1к1А

RoutePointWithAddress

Name

Description

building

Type: string

Строение

Example: 23к1А

city

Type: string

Город

Example: Санкт-Петербург

coordinates

Type: Point

Координаты точек в виде массива из двух вещественных чисел: долгота, широта — именно в таком порядке.

Min items: 2

Max items: 2

Example
[
  0.1,
  0.1
]

country

Type: string

Страна

Example: Россия

fullname

Type: AddressFullname

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

Example: Санкт-Петербург, Большая Монетная улица, 1к1А

id

Type: integer

Числовой id точки(int64). Параметр обязательный, если в заказе несколько точек доставки

porch

Type: string

Подъезд (может быть A)

Example: A

sflat

Type: string

Квартира

Example: 1

sfloor

Type: string

Этаж

Example: 1

street

Type: string

Улица

Example: Большая Монетная улица

Example
{
  "id": 1,
  "coordinates": [
    0.1,
    0.1
  ],
  "fullname": "Санкт-Петербург, Большая Монетная улица, 1к1А",
  "country": "Россия",
  "city": "Санкт-Петербург",
  "street": "Большая Монетная улица",
  "building": "23к1А",
  "porch": "A",
  "sfloor": "1",
  "sflat": "1"
}

CargoType

Тип (размер) кузова для грузового тарифа.
Возможные значения:

  • van ("Маленький кузов")
  • lcv_m ("Средний кузов")
  • lcv_l ("Большой кузов")
  • lcv_xl ("Кузов XL")
    Точный список возможных значений для конкретной геоточки уточняйте с помощью метода получения тарифов tariffs

Type: string

Enum: van, lcv_m, lcv_l, lcv_xl

CargoOptions

Список дополнительных опций тарифа.

Возможные отдельные опции:

  • auto_courier (курьер только на автомобиле)
  • thermobag (курьер с термосумкой)

Пример списка опций: ["auto_courier"].

Точный список возможных значений для конкретной геоточки
уточните с помощью метода получения тарифов tariffs

Type: string[]

Example
[
  "thermobag"
]

TimeInterval

Временной интервал

Name

Description

from

Type: string<date-time>

Начало интервала

Example: 2020-01-01T00:00:00+00:00

to

Type: string<date-time>

Окончание интервала (дата и время)

Example: 2020-01-02T00:00:00+00:00

Example
{
  "from": "2020-01-01T00:00:00+00:00",
  "to": "2020-01-02T00:00:00+00:00"
}

Requirements

Требования к доставке (класс авто, опции)

Name

Description

cargo_loaders

Type: integer

Число грузчиков для грузового тарифа.
Возможные значения: 0, 1, 2.

Точный список возможных значений для конкретной геоточки
уточните с помощью метода получения тарифов tariffs

cargo_options

Type: CargoOptions

Список дополнительных опций тарифа.

Возможные отдельные опции:

  • auto_courier (курьер только на автомобиле)
  • thermobag (курьер с термосумкой)

Пример списка опций: ["auto_courier"].

Точный список возможных значений для конкретной геоточки
уточните с помощью метода получения тарифов tariffs

Example
[
  "thermobag"
]

cargo_type

Type: CargoType

Тип (размер) кузова для грузового тарифа.
Возможные значения:

  • van ("Маленький кузов")
  • lcv_m ("Средний кузов")
  • lcv_l ("Большой кузов")
  • lcv_xl ("Кузов XL")
    Точный список возможных значений для конкретной геоточки уточняйте с помощью метода получения тарифов tariffs

Enum: van, lcv_m, lcv_l, lcv_xl

pro_courier

Type: boolean

Включить опцию "Профи" для тарифов "Экспресс" и "Курьер".
Поиск исполнителя будет происходить только среди опытных курьеров.

same_day_data

Type: object

delivery_interval

Type: TimeInterval

Временной интервал

Example
{
  "from": "2020-01-01T00:00:00+00:00",
  "to": "2020-01-02T00:00:00+00:00"
}

Опции доставки "В течение дня"

Example
{
  "delivery_interval": {
    "from": "2020-01-01T00:00:00+00:00",
    "to": "2020-01-02T00:00:00+00:00"
  }
}

taxi_class

Type: string

Класс автомобиля для доставки.
Возможные значения: courier, express, cargo.

Точный список возможных значений для конкретной геоточки
уточните с помощью метода получения тарифов tariffs

Example: cargo

Example
{
  "taxi_class": "cargo",
  "cargo_type": "lcv_m",
  "cargo_loaders": 1,
  "pro_courier": false,
  "cargo_options": [
    "thermobag"
  ],
  "same_day_data": {
    "delivery_interval": {
      "from": "2020-01-01T00:00:00+00:00",
      "to": "2020-01-02T00:00:00+00:00"
    }
  }
}

Responses

200 OK

OK

Body

application/json
{
  "price": "12.50",
  "currency_rules": {
    "code": "RUB",
    "text": "руб.",
    "template": "$VALUE$ $SIGN$$CURRENCY$",
    "sign": "₽"
  },
  "requirements": {
    "taxi_class": "cargo",
    "cargo_type": "lcv_m",
    "cargo_loaders": 1,
    "pro_courier": false,
    "cargo_options": [
      "thermobag"
    ],
    "same_day_data": {
      "delivery_interval": {
        "from": "2020-01-01T00:00:00+00:00",
        "to": "2020-01-02T00:00:00+00:00"
      }
    }
  },
  "distance_meters": 10,
  "eta": 10,
  "zone_id": "moscow"
}

Name

Description

price

Type: Money

Стоимость доставки в формате десятичной дроби Decimal(18, 4)

Pattern: ^-?[0-9]{1,14}(\.[0-9]{0,4})?$

Example: 12.50

requirements

Type: Requirements

Требования к доставке (класс авто, опции)

Example
{
  "taxi_class": "cargo",
  "cargo_type": "lcv_m",
  "cargo_loaders": 1,
  "pro_courier": false,
  "cargo_options": [
    "thermobag"
  ],
  "same_day_data": {
    "delivery_interval": {
      "from": "2020-01-01T00:00:00+00:00",
      "to": "2020-01-02T00:00:00+00:00"
    }
  }
}

currency_rules

Type: CurrencyRules

Правила отображения валюты

Example
{
  "code": "RUB",
  "text": "руб.",
  "template": "$VALUE$ $SIGN$$CURRENCY$",
  "sign": "₽"
}

distance_meters

Type: RouteDistance

Расстояние в метрах для указанного маршрута, от первой точки до последней точки

Example: 10

eta

Type: number

Расчетное врем прибытия в минутах

zone_id

Type: string

Идентификатор (ID) зоны доставки

Example: moscow

Money

Стоимость доставки в формате десятичной дроби Decimal(18, 4)

Type: string

Pattern: ^-?[0-9]{1,14}(\.[0-9]{0,4})?$

Example: 12.50

Currency

Трехзначный код валюты, в которой ведется расчет

Type: string

Min length: 3

Max length: 3

Example: RUB

CurrencyRules

Правила отображения валюты

Name

Description

code

Type: Currency

Трехзначный код валюты, в которой ведется расчет

Min length: 3

Max length: 3

Example: RUB

template

Type: string

Шаблон для отображения валюты

Example: $VALUE$ $SIGN$$CURRENCY$

text

Type: string

Сокращенное наименование валюты

Example: руб.

sign

Type: string

Символ валюты

Example:

Example
{
  "code": "RUB",
  "text": "руб.",
  "template": "$VALUE$ $SIGN$$CURRENCY$",
  "sign": "₽"
}

RouteDistance

Расстояние в метрах для указанного маршрута, от первой точки до последней точки

Type: number

400 Bad Request

Неверный запрос

Body

application/json
{
  "code": "bad_request",
  "message": "bad request"
}

Name

Description

code

Type: string

Код ошибки

Enum: bad_request, address_not_found

message

Type: string

Описание ошибки

Example: bad request

409 Conflict

Нет подходящих машин | Не удалось построить маршрут

Body

application/json
{
  "code": "estimating.requirement_unavailable",
  "message": "requirement unavailable"
}

Name

Description

code

Type: string

Код ошибки

Enum: unknown_error, errors.suitable_offer_not_found, estimating.cant_construct_route, estimating.cargocorp_payment_failure, estimating.claim.no_zone_id, estimating.limited_by_claims_creation_overflow, estimating.no_pickup_point, estimating.payment_method_cant_order, estimating.swapped_coordinates, estimating.payment_method_zone_unavailable, estimating.payment_method_forbidden, estimating.permitted_tariffs_not_enough, estimating.requirement_unavailable, estimating.route_too_long, estimating.route_too_short, estimating.tariff.no_categories, estimating.tariff.not_available_in_zone, estimating.tariff.not_present_in_tariff_line_strategy, estimating.tariff.no_sdd_tariff, estimating.tariff.no_tariff_plan, estimating.too_large_linear_size, estimating.too_many_loaders, estimating.cargo_type_unavailable, estimating.warning.too_heavy_item, estimating.warning.too_large_item, estimating.route_is_prohibited

message

Type: string

Описание ошибки

Example: requirement unavailable

429 Too Many Requests

Слишком много запросов

Body

application/json
{
  "code": "too_many_requests",
  "message": "Слишком много запросов"
}

Name

Description

code

Type: string

Код ошибки

Enum: unknown_error, too_many_requests

message

Type: string

Описание ошибки

Example: Слишком много запросов

No longer supported, please use an alternative and newer version.

Следующая