1. Ввести номер заказа в поле «Номер заказа:»;
ВАЖНО! Номер заказа вводиться в формате ГГММДД–0000;

2. Нажать кнопку [Рассчитать доставку];
ВАЖНО! Кнопка [Рассчитать доставку] становиться активной только после ввода номера заказа;

3. Результат отобразиться в табличной части экрана;
A. Почтовые тарифы;
B. Курьерская доставка;
C. ПВЗ (пункт выдачи заказов);

В столбце ошибка описание ошибки.
Либо "нет правила" - отсутсвует правило доставки в црм
Либо "not allowed" - не сработали разрешения на доставку, проект / лоты исключения / канал и все в этом духе.
Данный инструмент применяется ТОЛЬКО к предоплаченным заказам!
1. Ввести номер заказа в поле «Номер заказа:»;
ВАЖНО! Номер заказа вводиться в формате ГГММДД–ХХХХ;

2. Нажать кнопку [Рассчитать доставку];
ВАЖНО! Кнопка [Рассчитать доставку] становиться активной только после ввода номера заказа;

3. Результат отобразиться в табличной части экрана;
A. Почтовые тарифы;
B. Курьерская доставка;

4. Указатель стоит на доставке, которая указана в заказе;

5. Для изменения варианта доставки, необходимо нажать в столбике “Выбор” на чек-бокс, в строке с выбранным вариантом доставки;
ВАЖНО! Только курьерская и почтовая доставка имеют адрес клиента, поэтому если ранее был выбран один из этих вариантов, то изменить его можно на любой вариант доставки, а если был выбран pvz, то только на другой pvz.

6. Нажать на кнопку [Сохранить];

ВАЖНО! При изменении варианта доставки, в СРМ стоимость не меняется! Меняется только способ доставки.
1. На вкладке “Изменение варианта доставки” после нажатия кнопки [Рассчитать доставку], открывается область изменения адреса доставки;

2. Для изменения адреса доставки введите новый адрес доставки в поле “Новый адрес”;

3. После введения адреса, нажать кнопку [Проверить адрес];

4. Инструмент выведет все варианты адреса подходящие под запрос;

5. Для сохранения адреса доставки, нажать кнопку [Сохранить адрес];

6. Внесенные изменения сохраняться в СРМ;
Описание сервиса
Внутренний технический сервис. Позволяет найти варианты доставки заказа и изменить выбранный вариант на другой без пересчёта стоимости. Это требуется в ситуации, когда клиент уже заплатил, а склад говорит, что нельзя доставить и аннулирует заказ. Поэтому надо изменить способ доставки и согласовать с клиентом. Однако, если это делать через CRM, то она посчитает новую цену за доставку. Поэтому делаем отдельный инструмент, который напрямую меняет в базе поля, отвечающие за доставку.
Существуют три вида доставки:
· pvz –пункт выдачи заказа
· Курьерка –доставка курьером на указанный адрес
· Почта – почтовое отправление, забирают на почте
Из них только курьерка и почта имеют адрес клиента, поэтому если ранее был выбран один из этих вариантов, то изменить его можно только на любой, а если был выбран pvz, то только на другой pvz.
Чтобы изменить адрес доставки, сделана нижняя часть инструмента. Оператор пишет предполагаемый адрес и проверяет его кнопкой «Проверить адрес» с помощью сервиса dadata. Сервис возвращает возможные варианты, из которых оператор выбирает подходящий. Также он может уточнить дом, корпус, строение и квартиру (под эти данные в CRM отведены отдельные поля). При нажатии «Сохранить адрес», новый адрес прописывается в CRM.

Логика работы
Оператор вводит номер заказа. По номеру определяются параметры заказа и предаются api-серверу GET-запросом (https://api.hsr24.ru/v1/delivery/by-project?number=181103-0442).
Api-сервер запрашивает бету, берёт варианты доставок с Беты, рассчитывает доставку, и возвращает оператору в браузер доступные способы доставки.
Оператор выбирает метод доставки и сохраняет в базу.
Аналогично, для смены адреса оператор отправляет запрос на сервер вебутилз, тот запрашивает наш API-сервер, а тот – дадату.
Запросы API-серверу:
Get запрос на /v1/delivery/by-project
| Наименование | Обязательное поле? | Тип данных | Описание |
| number | Да | string | Номер заказа |
Параметры тела GET запроса
Get запрос на /v1/address/hint
| Наименование | Обязательное поле? | Тип данных | Описание |
| address[] | Да | string | Введённый адрес |
| count | Да | string | Требуемое кол-во подсказок |
Параметры тела GET запроса
Бизнес логика взята из Iris CRM https://github.com/LuckySkils/HSR24
config/common/Lib/lib.php
config/common/Lib/lib_custom.php
config/sections/Project/c_project_custom.php
config/sections/Circulation_custom/c_circulation_custom.php
config/sections/MyScripts/address_custom.php
Используемые ресурсы
Сервис Webutils HSR
API-сервер HSR
Внешний сервис Dadata
Изменения варианта доставки касаются таблицы iris_project, полей deliverymethodid, deliveryserviceid, deliverykindid, pvzcode
|
|
Ссылки
https://github.com/hflabs/dadata-php-Dadata API Client
https://dadata.ru/api/suggest/address/#request -API подсказок по адресам
https://gist.github.com/nalgeon/79a7609bf24bc0e833699f7eca125e86-Вызов дадаты одним файлом