Тарификация

Комментарии к использованию методов Тарификации

1. Получение тарифов доставки (от Кактуса), для показа в процессе чекаута

Для получения тарифов на доставку, необходимо передать данные:

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

Для первого этапа, можно ограничиться доставкой по России, но заложить последующую международную доставку.

Для получения ФИАС кодов, можно воспользоваться сервисом Dadata, либо вашим внутренним решением, либо нашим подсказчиком:

/api/prompter/location
Запрос позволяет получить подсказки по городу, в ответ возвращаются данные по ФИАС, которые необходимо сохранить и использовать в дальнейшем для получения тарифов.

Для определения габаритов коробки (объемного веса), можно использовать метод:

/api/lite/pub/dimensions-by-package

Для этого необходимо передать вес и габариты каждого товара в заказе.

Запрос на получения тарифов /api/dlv/tariffs

в запросе необходимо указать:

- данные по локации доставки (фиас коды в первую очередь, остальные данные второстепенны при наличии фиас кодов),
- данные по размеру и весу,
- данные о оценочной стоимости заказа и сумму наложенного платежа (если требуется включить их в расчет) - это на усмотрение пользователя

Следует делать перерасчёт стоимости доставки в случае изменения состава заказа, изменении места доставки, изменении способа оплаты.

Для выбора точек ПВЗ на карте следует использовать скрипт вызова карты

Если при получении тарифов пришли тарифы в которых указан
type: "PVZ"
нужно дать возможность выбрать ПВЗ на карте.


Полученный результат выбора ПВЗ (код ПВЗ), стоимость доставки, и данные о локации сохранить в заказе, для передачи в сервис “Кактус” для Фулфилмент обработки.

Некоторые ПВЗ не поддерживают оплату при получении, для таких ПВЗ следует ограничить возможность выбора способа оплаты в заказе только предоплатой. В случае если paymentMethods возвращает хотя бы 1 способ оплаты - значит в этом пункте выдачи можно оплатить при получении, если список в paymentMethods  вернулся пустой, значит в этот ПВЗ можно отправить только предоплаченный заказ.

 

 

По всем методам апи этого раздела - авторизация работает по параметру Domain в header запросов.

Домен для всех аккаунтов генерируется автоматически при регистрации и его можно узнать в личном кабинете
https://lk2-test.kak2c.ru/settings в поле ID аккаунта.  Нужно в запросах передавать Domain = {"shop" + ID аккаунта}

/api/prompter/address

Подсказка полного адреса (/api/prompter/address)

/api/prompter/address

(метод требует авторизации по домену)

Для запроса необходимо выполнить следующий запрос

/api/prompter/address?query=москва1

Важно: При формировании объекта адреса доставки заказа необходимо в поле delivery.address.block передавать значение из поля block_value.

Поле block в ответе может содержать как номер корпуса, так и номер строения, в зависимости от значения поля block_type_full ("корпус"/"строение"), поэтому для сохранения обратной совместимости и однозначной интерпретации значений полей были введены 2 новых поля: block_value (всегда содержит номер корпуса) и  building (всегда содержит номер строения).

В ответ возвращается

успех:

{
    "success": true,
    "suggestions": [
        {
            "value": "г Москва, ул Озёрная, д 33",
            "unrestricted_value": "г Москва, ул Озёрная, д 33",
            "data": {
                "postal_code": "119361",
                "country": "Россия",
                "region_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
                "region_kladr_id": "7700000000000",
                "region_with_type": "г Москва",
                "region_type": "г",
                "region_type_full": "город",
                "region": "Москва",
                "area_fias_id": null,
                "area_kladr_id": null,
                "area_with_type": null,
                "area_type": null,
                "area_type_full": null,
                "area": null,
                "city_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
                "city_kladr_id": "7700000000000",
                "city_with_type": "г Москва",
                "city_type": "г",
                "city_type_full": "город",
                "city": "Москва",
                "city_area": null,
                "city_district": null,
                "city_district_fias_id": null,
                "city_district_kladr_id": null,
                "city_district_with_type": null,
                "city_district_type": null,
                "city_district_type_full": null,
                "settlement_fias_id": null,
                "settlement_kladr_id": null,
                "settlement_with_type": null,
                "settlement_type": null,
                "settlement_type_full": null,
                "settlement": null,
                "street_fias_id": "2de05e24-76f3-490f-9770-c0b923e0cf80",
                "street_kladr_id": "77000000000211100",
                "street_with_type": "ул Озёрная",
                "street_type": "ул",
                "street_type_full": "улица",
                "street": "Озёрная",
                "house_fias_id": "5e8674fb-14d4-4d24-9bf5-872d03ea5a36",
                "house_kladr_id": "7700000000021110080",
                "house_type": "д",
                "house_type_full": "дом",
                "house": "33",
                "block_type": null,
                "block_type_full": null,
                "block": null,
                "block_value": null,
                "building": null,
                "flat_type": null,
                "flat_type_full": null,
                "flat": null,
                "flat_area": null,
                "square_meter_price": null,
                "flat_price": null,
                "postal_box": null,
                "fias_id": "5e8674fb-14d4-4d24-9bf5-872d03ea5a36",
                "fias_level": "8",
                "kladr_id": "7700000000021110080",
                "capital_marker": "0",
                "okato": "45268579000",
                "oktmo": "45323000",
                "tax_office": "7729",
                "tax_office_legal": "7729",
                "timezone": null,
                "geo_lat": null,
                "geo_lon": null,
                "beltway_hit": null,
                "beltway_distance": null,
                "qc_geo": null,
                "qc_complete": null,
                "qc_house": null,
                "unparsed_parts": null,
                "qc": null,
                "history_values": null,
                "source": null
            }
        }
    ]
}

ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/prompter/street

Подсказка улицы для заданного населенного пункта

 /api/prompter/street

(метод требует авторизации по домену)

Для запроса необходимо передать название населенного пункта из метода /prompter/location и введенные пользователем буквы искомой улицы (для магазинов в России):

/api/prompter/street?query=г москва Ленинс

Для магазинов в Украине необходимо передать значение settlement_fias_id из метода /prompter/location в параметре settlementFiasCode и введенную часть улицы в параметре streetQuery:

/api/prompter/street?settlementFiasCode=e718a680-4b33-11e4-ab6d-005056801329&streetQuery=Незал

параметры запроса:

query Запрос, включающий название населенного пункта и введенную часть искомой улицы
city Название города
cityFiasCode Код города
settlement Название населенного пункта
settlementFiasCode Код населенного пункта
streetQuery Введенная часть искомой улицы

В ответ возвращаются варианты улицы (использовать значение value)

успех:

{
    "success": true,
    "suggestions": [
        {
            "value": "ул Ленинский проспект",
            "unrestricted_value": "г Москва, Ленинский проспект",
            "data": {
                .... прочие детали варианта
            }
        }
    ]
}

 

ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/prompter/location

Подсказка населенного пункта

/api/prompter/location

(метод требует авторизации по домену)

Для запроса необходимо выполнить следующий запрос

/api/prompter/location?query=москва

опциональный параметр - include_foreign=true/false - позволяет искать только по России или включая зарубежные страны (если поиск по зарубежью активирован для данной учетной записи)

опциональный параметр - country=FR - позволяет искать, например, только по Франции. Для зарубежных стран при этом подсказка будет выдаваться на латинице. Если параметр не передан, то поиск происходит только по России.

 

В ответ возвращается

успех:

{
    "success": true,
    "suggestions": [
        {
            "value": "г Магадан",
            "unrestricted_value": "Магаданская обл, г Магадан",
            "data": {
                "postal_code": "685000",
                "country": "Россия",
                "region_fias_id": "9c05e812-8679-4710-b8cb-5e8bd43cdf48",
                "region_kladr_id": "4900000000000",
                "region_with_type": "Магаданская обл",
                "region_type": "обл",
                "region_type_full": "область",
                "region": "Магаданская",
                "area_fias_id": null,
                "area_kladr_id": null,
                "area_with_type": null,
                "area_type": null,
                "area_type_full": null,
                "area": null,
                "city_fias_id": "cb8ae35a-93df-4133-b377-50f3698c8b5e",
                "city_kladr_id": "4900000100000",
                "city_with_type": "г Магадан",
                "city_type": "г",
                "city_type_full": "город",
                "city": "Магадан",
                "city_area": null,
                "city_district": null,
                "city_district_fias_id": null,
                "city_district_kladr_id": null,
                "city_district_with_type": null,
                "city_district_type": null,
                "city_district_type_full": null,
                "settlement_fias_id": null,
                "settlement_kladr_id": null,
                "settlement_with_type": null,
                "settlement_type": null,
                "settlement_type_full": null,
                "settlement": null,
                "street_fias_id": null,
                "street_kladr_id": null,
                "street_with_type": null,
                "street_type": null,
                "street_type_full": null,
                "street": null,
                "house_fias_id": null,
                "house_kladr_id": null,
                "house_type": null,
                "house_type_full": null,
                "house": null,
                "block_type": null,
                "block_type_full": null,
                "block": null,
                "flat_type": null,
                "flat_type_full": null,
                "flat": null,
                "flat_area": null,
                "square_meter_price": null,
                "flat_price": null,
                "postal_box": null,
                "fias_id": "cb8ae35a-93df-4133-b377-50f3698c8b5e",
                "fias_level": "4",
                "kladr_id": "4900000100000",
                "capital_marker": "2",
                "okato": "44401000000",
                "oktmo": "44701000001",
                "tax_office": "4900",
                "tax_office_legal": "4900",
                "timezone": null,
                "geo_lat": "59.5681332",
                "geo_lon": "150.8084956",
                "beltway_hit": null,
                "beltway_distance": null,
                "qc_geo": "4",
                "qc_complete": null,
                "qc_house": null,
                "unparsed_parts": null,
                "qc": null,
                "history_values": null,
                "source": "Магадан, Магаданская обл"
            }
        }
    ]
}

 

ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/prompter/iplocation

Определение населенного пункта по IP адресу

/api/prompter/iplocation

(метод требует авторизации по домену)

Для запроса необходимо выполнить следующий запрос

/api/prompter/iplocation?ip=87.250.250.242

параметр ip - опциональный, если не задан, то определяется на сервере автоматически

В ответ возвращается

успех:

{
    "success": true,
    "ip": "87.250.250.242", //ip из параметра
    "sourceIp": "87.250.250.242", //ip, определённый сервером
    "suggestions": [
        {
            "value": "г Москва",
            "unrestricted_value": "101000, г Москва",
            "data": {
                "postal_code": "101000",
                "country": "Россия",
                "countryCode": "RU",
                "region_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
                "region_kladr_id": "7700000000000",
                "region_with_type": "г Москва",
                "region_type": "г",
                "region_type_full": "город",
                "region": "Москва",
                "area_fias_id": null,
                "area_kladr_id": null,
                "area_with_type": null,
                "area_type": null,
                "area_type_full": null,
                "area": null,
                "city_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
                "city_kladr_id": "7700000000000",
                "city_with_type": "г Москва",
                "city_type": "г",
                "city_type_full": "город",
                "city": "Москва",
                "city_area": null,
                "city_district": null,
                "city_district_fias_id": null,
                "city_district_kladr_id": null,
                "city_district_with_type": null,
                "city_district_type": null,
                "city_district_type_full": null,
                "settlement_fias_id": null,
                "settlement_kladr_id": null,
                "settlement_with_type": null,
                "settlement_type": null,
                "settlement_type_full": null,
                "settlement": null,
                "street_fias_id": null,
                "street_kladr_id": null,
                "street_with_type": null,
                "street_type": null,
                "street_type_full": null,
                "street": null,
                "house_fias_id": null,
                "house_kladr_id": null,
                "house_type": null,
                "house_type_full": null,
                "house": null,
                "block_type": null,
                "block_type_full": null,
                "block": null,
                "flat_type": null,
                "flat_type_full": null,
                "flat": null,
                "flat_area": null,
                "square_meter_price": null,
                "flat_price": null,
                "postal_box": null,
                "fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
                "fias_level": "1",
                "kladr_id": "7700000000000",
                "capital_marker": "0",
                "okato": "45000000000",
                "oktmo": "45000000",
                "tax_office": "7700",
                "tax_office_legal": "7700",
                "timezone": null,
                "geo_lat": "55.7540471",
                "geo_lon": "37.620405",
                "beltway_hit": null,
                "beltway_distance": null,
                "qc_geo": "4",
                "qc_complete": null,
                "qc_house": null,
                "unparsed_parts": null,
                "qc": null,
                "history_values": null,
                "source": null
            }
        }
    ]
}

 

ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/pub/check_pickup_location

Проверка адреса сбора на возможность обслуживания (публичный)

/api/lite/pub/check_pickup_location

(метод требует авторизации по домену)

 

Запрос

Параметр
Тип\формат Описание

regionFias

string Код региона населенного пункта по базе ФИАС. Получается ранее из поля region_fias_id подсказки (см. метод /api/prompter/location).

areaFias

string Код области населенного пункта по базе ФИАС. Получается ранее из поля area_fias_id подсказки

cityFias

string Код города населенного пункта по базе ФИАС. Получается ранее из поля city_fias_id подсказки

settlementFias

string Код населенного пункта населенного пункта по базе ФИАС. Получается ранее из поля settlement_fias_id подсказки

fullAddress

string Полное название населенного пункта по базе ФИАС. Получается ранее из поля unrestricted_value подсказки

 

Результат запроса

Параметр
Тип\формат Описание

pickup_point_available

boolean

Флаг доступности указанного в запросе населенного пункта для сбора заказов

 

Пример результата запроса

{
    "success": true,
    "pickup_location_available": true
}

/api/lite/pub/products/dimensions

Получение габаритов условного минимального упакованного места

 /api/lite/pub/products/dimensions

(метод требует авторизации по домену)

Получение габаритов минимальной условной коробки, в которую поместятся указанные товары с указанным количеством.

Не привязано к возможными габаритам типовых коробок или другим параметрам. Только математическое моделирование коробки с предпочтительным соотношением сторон 3:3:2

Поиск идет сначала по variantId, если он непустой, затем по variantExtId

Пример:

{
    "items":[
        {           
            "variantId":"1060",
            "variantExtId":"1060",
            "quantity": 22
        },
        {            
            "variantId":"1182",
          	"variantExtId":"1182",
            "quantity": 3
        }
    ]
     
}

 

Пример успешного ответа

{
    "success": true,
    "weight": 223,
    "dimensions": {
        "height": 40,
        "width": 40,
        "depth": 20
    }
}

 

Пример ошибки

{
    "success": false,
    "errors": [
        {
            "code": 0,
            "message": "Не найден id 555"
        }
    ],
    "weight": null,
    "dimensions": null
}

/api/lite/pub/dimensions (deprecated)

Получение габаритов упаковки товаров (deprecated)

новый метод: /api/lite/pub/products/dimensions

/api/lite/pub/dimensions

По перечню товаров получает примерные габариты и массу упакованного места для указанного перечня

Запрос:

{
"items": [
            {               
                "id": "1002",
                "quantity": 1               
            },
            {               
                "id": "1003",
                "quantity": 3               
            }
         ]
}

Успех:

{
    "success": true,
    "weight": 357,
      "dimensions": {
        "height": 12,
        "width": 20,
        "depth": 23
      }
}

Ошибка:

"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/pub/dimensions-by-package

Получение габаритов упаковки товаров по перечню параметров упаковок

/api/lite/pub/dimensions-by-package

(метод требует авторизации по домену)

По перечню упаковок получает примерные габариты и массу упакованного места

Запрос:

{
"items": [
            {
                "weight": 357, // в граммах
                "quantity": 2, // в штуках
                "dimensions": {
                    "height": 12, // в сантиметрах
                    "width": 20,
                    "depth": 23
                }
            },
            {
                "weight": 680,
                "quantity": 1,
                "dimensions": {
                    "height": 3,
                    "width": 20,
                    "depth": 4
                }
            }
         ]
}

Успех:

{
    "success": true,
    "weight": 357,
      "dimensions": {
        "height": 12,
        "width": 20,
        "depth": 23
      }
}

Ошибка:

{
  	"success": false,
	"errors": [
 		{
           "code": 0,
           "message": "Значение поля quantity во всех позициях должно быть > 0"
 		}
	]
}

/api/dlv/tariffs

Расчет тарифов (/api/dlv/tariffs)

/api/dlv/tariffs

(метод требует авторизации по домену)

Выполняет расчет доставки от пункта сбора заказов до указанного в виджете адреса доставки (в виде fias кодов) по указанным параметрам. Если sourceRegionFias, sourceAreaFias, sourceCityFias и sourcePostalCode не заданы - адрес отправления берётся из настроек точки сбора

fromTempoline - Заказ будет отправлен с нашего склада.

При поиске тарифов для зарубежного города обязательно передавать поля country, region, city (также area, settlement, если есть).

 

Пример

{
    "fromTempoline": false,
    "sourceRegionFias": null,
    "sourceAreaFias": null,
    "sourceCityFias": null,
    "sourceSettlementFias": null,
    "sourcePostalCode": null,
    "regionFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
    "areaFias": null,
    "cityFias": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
    "settlementFias": null,
    "postalCode": "123456",
    "weight": 1450,
    "insuranceSum": 500, // оценочная стоимость товара для расчета суммы страховки (чаще всего передают 100% от стоимости товара)
    "codSum": 500, // сумма наложенного платежа, которую курьерская компания возьмёт с покупателя, следует передавать стоимость доставки+ стоимость товаров в случае если оплата при получении.
    "dimensions": {
        "height": 10,
        "width": 8,
        "depth": 8
    },
    "deliveryServices": [
        "PARTIAL_DELIVERY",
        "TRYING"
    ], //опциональный список требующихся допуслуг: Частичный выкуп, Примерка, Погрузо-разгрузочные работы на руках (ПРР).
    "floor": 15 //Этаж подъёма для ПРР. В случае, если указан "LIFT_TO_DOOR_MANUAL" в deliveryServices, этаж нужно указывать обязательно
}

 

Успех:

{
    "success": true,
    "tariffs": [
        {
            "minDeliveryTime": 5, // минимальный срок доставки после передачи заказа курьерской службе (в днях)
            "maxDeliveryTime": 6, // максимальный срок доставки после передачи заказа курьерской службе (в днях)
            "courier": "PickPoint", // наименование курьерской службы для покупателя
            "deliveryCode": "123456", // код тарифа 
          	"courierCode": "PICKPOINT",  // код курьерской службы (из справочника)
            "contractNumber": "443-12", // доп. код тарифа
            "type": "PVZ", // тип доставки (курьером или в ПВЗ)  // COURIER, RUSSIAN_POST, SELF_PICKUP
            "price": 817.1, // суммарная стоимость доставки для отправителя
            "codPrice": 0,  //стоимость агентского вознаграждения курьерской службы за перевод денежных средств за наложенный платёж
            "deliveryPrice": 742.1, // тариф за доставку в место назначение с учётом веса/габаритов
             "deliveryServices": [
                {
                    "price": 956.64,
                    "service": "BOX_NEEDED"
                },
                {
                    "price": 0,
                    "service": "TRYING"
                },
                {
                    "price": 0,
                    "service": "REVERSE"
                },
                {
                    "price": 0,
                    "service": "LIFT_TO_DOOR"
                },
                {
                    "price": 0,
                    "service": "LIFT_TO_DOOR_MANUAL"
                },
                {
                    "price": 40,
                    "service": "CHECK_CONTENT"
                }
            ], //доп.услуги доставки, если есть // могут включать PERSONALLY_IN_HANDS, REVERSE, CONTACTLESS_DELIVERY, DELIVERY_DATE_APPROVE, DANGEROUS_CARGO, WAITING_ON_ADDRESS, TEMPERATURE_REGIME, VERIFY, DAY_OFF_DELIVERY, PARTIAL_DELIVERY, LIFT_TO_DOOR, TRYING, CHECK_CONTENT, LIFT_TO_DOOR_MANUAL
            "insurancePrice": 75, // стоимость страховки для заказа у курьерской службы
          	"paymentMethods": ["COD_CARD", "ONLINE"]  // доступные способы оплаты
        },
        {
            "minDeliveryTime": 1,  
            "maxDeliveryTime": 1, 
            "courier": "Почта России",
            "courierCode": "RUSSIAN_POST_TEMPOLINE", 
            "deliveryCode": "RUSSIAN_POST_TEMPOLINE",
          	"contractNumber": "s-2333",
            "type": "RUSSIAN_POST",
            "price": 1736.6,
            "codPrice": 0,
            "deliveryPrice": 1733.6,
            "deliveryServices": [],
            "insurancePrice": 3,
          	"paymentMethods": ["COD_CARD"]
        }        
    ]
}

 

Ошибка:

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

 

 

/api/dlv/delivery_points

Список постаматов / ПВЗ

/api/dlv/delivery_points

(метод требует авторизации по домену)

Выполняет поиск постаматов/ПВЗ  в указанном в виджете адресе города/населенного пункта (в виде fias кодов) 

 

Пример:

{
    "regionFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
    "areaFias": null,
    "cityFias":"0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
    "settlementFias": null,
  	"countryCode": "RU",
    "region": null, // Заполняется, если countryCode задан и не RU
    "area": null, // Заполняется, если countryCode задан и не RU
    "city": null, // Заполняется, если countryCode задан и не RU
    "settlement": null, // Заполняется, если countryCode задан и не RU
    "courierCode": "PickPoint", - опциональный параметр для запроса ПВЗ/постаматов только по данной КС. Пока актуальны значения "PickPoint", "Boxberry" 
    "dimensions":{  - опционально фильтр по доступным габаритам в ПВЗ
      "height":50,   - в см
      "width":50,
      "depth":50
      },
	"weight": 6505,   - в граммах - опционально фильтр по доступной предельной массе груза в ПВЗ
	"codSum": 1234, - в рублях - опционально - сумма наложенного платежа, если ненулевая
	"deliveryServices":["PARTIAL_DELIVERY", "TRYING"] - опциональный список требущихся допуслуг: Частичный выкуп, Примерка.
}

 

Успех:

{
    "success": true,
    "list": [
        {
            "address": {
                "regionFias":"18133adf-90c2-438e-88c4-62c41656de70",
                "areaFias":"b502ae45-897e-4b6f-9776-6ff49740b537",
                "cityFias":"",
                "settlementFias":"",
                "country": "RU",
                "region": "Москва",
                "area": "",
                "city": "Москва",
                "settlement": "",
                "street": "Боровское ш.",
                "house": "20",
                "block": "",
                "building": "",
                "flat": "120",
                "fullAddress": "Москва, Боровское ш., 20, 120",
                "zip": ""
                }
            "metroStation": "Боровское шоссе",
            "latitude": "54.508904",
            "longitude": "36.262823",
            "code": "4005-002",
            "courier": "PickPoint",            
            "description": "Постамат расположен в супермаркете Фикс-Прайс,  вотдельно стоящем здании. Транспорт: Автобус №12, 61, 85, 97; Троллейбус №5, 12; Маршрутное такси №95, 97.            Остановка Библиотека им. Белинского.\nВойти в здание через центральный вход. Постамат и терминал расположен на 2 этаже в супермаркете Фикс-Прайс.",
            "maxSize": "43x23.4x34",
            "maxWeight": 1500,
            "courierCode": "PICKPOINT",
            "workTime": "Пн-Вс 10:00-19:00, Обед 10:00-19:00",
            "paymentMethods": ["COD_CARD", "ONLINE"],
  			"deliveryServices":["PARTIAL_DELIVERY", "TRYING"],
  			"type": "Postamat"
        }      
    ]
}

 

Ошибка:

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/dlv/delivery_point

Данные по одному ПВЗ

/api/dlv/delivery_point

(метод требует авторизации по домену)

Выполняет поиск одного ПВЗ по коду курьерской службы и коду ПВЗ

 

Пример:

{
"courierCode": "PickPoint",
"pvzCode":"7302-015"
}

 

Успех:

{
    "success": true,
    "list": [
        {
            "address": {
                "country": "Россия",
                "countryCode": "RU",
                "region": "Ульяновская",
                "area": null,
                "city": "Ульяновск",
                "settlement": null,
                "street": null,
                "house": null,
                "block": null,
                "building": null,
                "flat": null,
                "fullAddress": "Рябикова ул., д. 21, стр. 1",
                "fullCity": null,
                "rawData": null,
                "zip": "432045",
                "regionFias": "fee76045-fe22-43a4-ad58-ad99e903bd58",
                "areaFias": null,
                "cityFias": "bebfd75d-a0da-4bf9-8307-2e2c85eac463",
                "settlementFias": null
            },
            "metroStation": "",
            "latitude": "54.284595",
            "longitude": "48.30217",
            "code": "7302-015",
            "courier": "PickPoint",
            "description": "Пункт выдачи заказов расположен в ТЦ Вавилон. Транспорт: Маршрутное такси №4, 5, 43, 50, 52, 61, 71, 77, 81, 88, 96. Остановка Улица Станкостроителей.\nВойти в ТЦ Вавилон через центральный вход, на 2 этаже расположен пункт выдачи заказов.",
            "maxSize": "180",
            "maxWeight": 15,
            "workTime": "Пн-Пт 11:00-18:30, Сб 12:00-16:00",
            "paymentMethods": [
                "COD_CASH",
                "COD_CARD"
            ]
        }
    ]
}

 

Ошибка:

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/lite/tariffs

Расчет тарифов приватный

/api/lite/tariffs

Метод тарификации для вызова из ЛК (приватного доступа). 

Сигнатура полностью идентична публичному методу api/dlv/tariffs

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

В этом методе доступно поле dlvPrice, содержащее исходную цену от DLV

/api/lite/delivery_points

Список постаматов / ПВЗ

/api/lite/delivery_points

Метод списка ПВЗ для вызова из ЛК (приватного доступа). 

Сигнатура полностью идентична публичному методу api/dlv/delivery_points

/api/lite/delivery_point

Данные по одному ПВЗ

/api/lite/delivery_point

Метод загрузки одного ПВЗ для вызова из ЛК (приватного доступа). 

Сигнатура полностью идентична публичному методу api/dlv/delivery_point

/api/prompter/region

Подсказка улицы для заданного населенного пункта

 /api/prompter/region

(метод требует авторизации по домену)

Для запроса необходимо передать  введенные пользователем буквы искомого региона:

/api/prompter/region?query=Рязан

В ответ возвращаются варианты улицы (использовать значение value)

успех:

{
    "success": true,
    "suggestions": [
        {
            "value": "Рязанская область",
            "unrestricted_value": "Рязанская область",
            "data": {
                .... прочие детали варианта
            }
        }
    ]
}

 

ошибка: 

{
"success": false,
"errors": [
 {
 "code": 0,
 "message": "Текст ошибки"
 }
]
}

/api/prompter/countries

Список стран

/api/prompter/countries

(метод требует авторизации по домену)

Выводит список стран с их кодами

Пример ответа:

{
    "countries": [
        {
            "title": "Россия",
            "code": "RU"
        },
        {
            "title": "Беларусь",
            "code": "BY"
        },
        {
            "title": "Казахстан",
            "code": "KZ"
        },
        ...
    ]
}