Передача тарифа с сайта в RetailCRM

Последние изменения: 03.05.2024

В RetailCRM тариф нельзя передать в поле "тариф" в блок "доставка" в явном виде, чтобы при заходе в заказ сразу отображался тариф. Выбранный тариф можно только "подсветить" зеленым цветом в списке выбора тарифов. 

Если тариф передан по инструкции ниже, то алгоритм работы в RetailCRM будет следующим:

1. заказ выгружается в RetailCRM с типом Яндекс.Доставка;

2. в заказе нажимаете кнопку "выбрать тариф";

3. выбираете нужный тариф.

e0a900e7054b7db076fe6b983fb4c3ea.jpg


Алгоритм передачи данных по тарифу в RetailCRM

Для передачи информации в RetailCRM надо знать точные интервалы доставки, получить их можно только через API. Это касается и пунктов ПВЗ, их ID надо запросить через поддержку Яндекса напрямую.

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

При создании заказа через API RetailCRM, в нём надо передать блок "delivery".  Также чтобы посмотреть, как оформлен блок "delivery", можно взять любой успешно оформленный заказ и получить его содержимое через API RetailCRM. В блоке укажите переменную <sync_setting_id>  и данные ПВЗ (в нашем примере разобрана "Доставка до адреса").

Образец блока с пояснениями ниже:

"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

Помогла ли вам статья?