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

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

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

1. создаете заказ в RetailCRM;

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

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

e0a900e7054b7db076fe6b983fb4c3ea.jpg

Можно настроить автооформление заявки на доставку, чтобы после выгрузки заказа с заполненными данными доставки поступало изменение статуса заказа на статус автооформления, тогда заявка будет создана в службе доставки без выбора тарифа вручную. Либо же статус заказа изменится на статус ошибки оформления заявки, который также указывается при настройках автооформления (https://docs.retailcrm.ru/Users/Administration/SettingBlock/DeliveryUnitActivation/AutoregistrationDelivery).

Если тариф был передан по API, и после этого заказ перевели в статус автооформления, - заявка должна создастся корректно. Для автооформления нужно, чтобы все идентификаторы (тарифов, ПВЗ, городов и т.п.) и обязательные поля для доставки были заполнены в заказе.


Для корректной передачи тарифа нужно заполнять обязательные поля для доставки, в частности, обратите внимание на правильное заполнение кастомного поля RetailCRM "Ручной ввод адреса":
"manual_address":"empty",
"manual_addressLabel":"Не задано".

Код тарифа должен соответствовать коду тарифа, который используется в модуле. Код тарифа в модуле формируется следующий образом:

{setting.id}|{point['tariffId']}|{point['delivery']['partner']['id']}|{point['delivery']['type']}, где {setting.id} - это id настройки синхронизации.

aed30c49352ba57d70870c7f4751693c.png


Остальные данные нужно взять из тарифа Агрегатора Яндекс.Доставки, который рассчитался в виджете на сайте.

Пример запроса для блока "доставка": 

"delivery":{
"code":"yandex-delivery",
"integrationCode":"rs_yandex_delivery",
"data":{
"locked":true,
"pickuppointAddress":"115582, Москва, Москва, Ореховый б., д. 14, к. 3",
"days":"1",
"tariff":"4|100040|107|PICKUP",
"tariffName":"PickPoint МСК - ПВЗ",
"pickuppointId":"10000018477|213",
"pickuppointSchedule":"Пн - Пт с 10:00 до 23:59, Выходные с 10:00 до 23:59",
"pickuppointPhone":"+7(495)9843122",
"payerType":"sender",
"cost":262,
"minTerm":1,
"maxTerm":1,
"pickuppointName":"Постамат: PickPoint: ТЦ Домодедовский",
"pickuppointCoordinateLatitude":"55.609675",
"pickuppointCoordinateLongitude":"37.720106",
"extraData":{
"confirm":false,
"manual_address":"empty",
"manual_addressLabel":"Не задано"
}

Полный пример запроса доступен здесь. Массив передает как post-запрос.

В файле пример успешного запроса для тестовой RetailCRM аккаунта для разработки модуля. Необходимо использовать пример, используя свои данные (терминал, тариф, id синхронизации и тд).




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