В RetailCRM тариф нельзя передать в поле "тариф" в блок "доставка" в явном виде, чтобы при заходе в заказ сразу отображался тариф. Выбранный тариф можно только "подсветить" зеленым цветом в списке выбора тарифов.
Если тариф передан по инструкции ниже, то алгоритм работы в RetailCRM будет следующим:
1. заказ выгружается в RetailCRM с типом Яндекс.Доставка;
2. в заказе нажимаете кнопку "выбрать тариф";
3. выбираете нужный тариф.
Алгоритм передачи данных по тарифу в RetailCRM
Для передачи информации в RetailCRM надо знать точные интервалы доставки, получить их можно только через API. Это касается и пунктов ПВЗ, их ID надо запросить через поддержку Яндекса напрямую.
Для того, чтобы передать тариф в RetailCRM, надо сначала получить из API Яндекс Доставка интервалы, затем подготовить код тарифа и дополнительные данные для передачи.
При создании заказа через API RetailCRM , в нём надо передать блок "delivery". Также чтобы посмотреть, как оформлен блок "delivery", можно взять любой успешно оформленный заказ и получить его содержимое через API RetailCRM. В блоке укажите переменную <sync_setting_id> и данные ПВЗ (в нашем примере разобрана "Доставка до адреса").
Примечание
Если при отправке заказ тариф не отображается, оформите заказ через RetailCRM, затем получите его через API и сравните, какие есть отличия от того, что пытаетесь отправить самостоятельно.
Образец блока с пояснениями:
"delivery": {
"code": "yandex-taxi", // внутренний код доставки в ритейле
"integrationCode": "rs_yandex_taxi",
"data": {
"locked": true,
"tariff": "<sync_setting_id>|next_day_time_interval", // sync_setting_id - это внутренний айди синхронизации,
// узнать можно через поддержку retailcrm.services
// next_day_time_interval либо next_day_self_pickup - тип тарифа
// "доставка до адреса" либо "самовывоз"
"tariffName": "Доставка до адреса",
"payerType": "sender",
"cost": 2357.79,
"shipmentpointId": "0262bd9d-5837-4209-8f09-e3217a765198", //ID станции отгрузки
"shipmentpointName": "СЦ тестовый", // название станции отгрузки
"shipmentpointAddress": "Склад, указанный в настройках синхронизации", // адрес станции отгрузки
"extraData": {
"manual_address": "empty",
"manual_addressLabel": "Не задано",
"particular_items_refuse": false, // опция "Разрешить частичный выкуп"
"offer_ndd": "{\"delivery_interval\": {\"from\": \"07:00:00.000000Z\", \"to\": \"20:00:00.000000Z\"}}" // это надо получить из апи яндекса
},
"itemDeclaredValues": [],
"packages": []
},
"cost": 2585.28,
"netCost": 2585.28,
"date": "2024-02-23", // дата доставки
"address": { // адрес доставки, если тип тарифа next_day_time_interval
"index": "115432",
"countryIso": "RU",
"region": "Москва город",
"regionId": 55,
"city": "Москва",
"cityId": 4995,
"cityType": "г.",
"street": "Лобанова",
"streetId": 1777369,
"streetType": "ул.",
"building": "2",
"housing": "2",
"text": "ул. Лобанова, д. 2, корп. 2"
}
}
По полю "offer_ndd": "{\"delivery_interval\" - получить значения нужно при помощи апи метода https://yandex.ru/support2/delivery-profile/ru/api/other-day/ref/1.-Podgotovka-zayavki/apib2bplatformoffersinfo-get