Николай Савин

Николай Савин

С нами с 06 июня 2015; Место в рейтинге пользователей: #5
Николай Савин
01 декабря 2017, 04:53
0
А что уже можно? Я думал ты еще не создал компанию
Николай Савин
30 ноября 2017, 16:37
+1
В принципе если 100 человек по 2 тысячи скинутся уже почти 3000 долларов выходит. Mission complete
А в сообществе уже 5600 человек.
Николай Савин
30 ноября 2017, 14:36
1
+4
Поддерживаю идею.
2-5 тыс. рублей ежемесячно буду оплачивать гарантировано, а там посмотрим как пойдет.
Николай Савин
28 ноября 2017, 15:11
+1
Хм. Давай разбираться, я пока не очень понимаю.
Задача — сделать рассылку тысяче клиентов о подходящей им заявке с сайта.
Я могу напрямую перебрать подходящих пользователей и отправить каждому сообщение через консоль. Это вызовет определенную нагрузку на сервер. Это я понимаю.
В чем польза очередей?
Я вместо отправки сообщений тысяче клиентов делаю тысячу записей в таблице очередей.
А что дальше?
Настроенный мною скрипт будет вызывать скажем по десять записей в минуту и отправлять письма? Нагрузка явно будет меньше. Я правильно понимаю суть компонента и его пользу? Только хранение очередей в заранее подготовленной таблице и упрощенное добавление\запрос из таблицы очередей?
Николай Савин
28 ноября 2017, 14:58
0
Однозначно в избранное.
Спасибо Михаил.
А как работает выполнение действий из очереди? по крону? или что то вроде постоянного запуска через sleep?
Как вообще правильнее всего подобные вещи делать?
Николай Савин
27 ноября 2017, 12:12
0
Да нет там проекта, там ошибки. Достал уже всех бот тупой.
Николай Савин
26 ноября 2017, 01:52
0
После обновления modRetailCRM до версии 2.0 заказы перестали отправляться в CRM.
С таким вопросом обратился ко мне пользователь.
Для решения проблемы я открыл плагин modRetailCRM, нашел строчку, которая отвечает за отправку заказа в RetailCRM
$response = $modRetailCrm->request->ordersCreate($orderData, $site);
Результат выполнения команды сохраняется в переменную $response.
Чтобы просмотреть возможную ошибку (а к слову RetailCRM присылает подробное описание ошибки на русском языке) достаточно распечатать эту переменную и сохранить ее в лог журнал MODX
$modx->log(1, '[modRetailCRM]  Order Response '.print_r($response, true));
После создания тестового заказа — пошел посмотреть журнал ошибок и увидел результат выполнения запроса, в котором русским по белому написано, что ошибка возникла из за несуществующего способа оплаты.

Оказывается если передать в этой строке
$orderData['payments'][0]['type'] = $order['payment']['description'];
произвольный текст — RetailCRM не примет заказ.
Проблема решилась комментированием строки.

А откуда собственно взялся произвольный текст?
При создании способов оплаты я предложил в поле Описание — description указывать символьный код способа оплаты из справочника REtailCRM. Например Оплата наличными — cash.
Если же указать там именно произвольное описание способа оплаты, чтобы показать его клиенту в корзине — получится ошибка, которая решается всего лишь исключением передачи способа оплаты в CRM.

Для чего я так подробно все расписал.
Ну помимо очевидного решения бага я надеюсь будет полезна сама методика выявления возможных ошибок.
Николай Савин
26 ноября 2017, 01:10
0
Я не силен в серверной части, поэтому не до конца понял момент, если предусматривается случай с отсутствующим интернетом, как будет работать синхронизация с главным сервером?
Николай Савин
24 ноября 2017, 03:00
0
Написал в телеграм тебе
Николай Савин
24 ноября 2017, 02:50
0
На меня в этом году выходил владелец местной сети кофеен с предложением создать такой продукт. Может ему было бы интересно.
Николай Савин
24 ноября 2017, 02:48
0
А права на софт тебе принадлежат или заказчику? То есть будешь ли выводить продукт на рынок?
Николай Савин
24 ноября 2017, 02:39
0
Я так понимаю следующая статья Почему MODX? будет иметь примерно следующее содержание. «Потому что я его неплохо знаю»
Николай Савин
20 ноября 2017, 23:27
1
0
Да конечно можно, вот собственно готовый пример
case 'msOnChangeOrderStatus':
        if($status == 2){
            $orderData = array();
            $orderData['externalId'] = $order->id;
            $orderData['status'] = 'complete';
            $response = $modRetailCrm->request->ordersEdit($orderData, $by = 'externalId', $site); 
        }
        
        break;
Дописываем плагин modRetailCRM, добавляя событие отслеживания статусов заказа msOnChangeOrderStatus
Вам нужно указать id заказа для того чтобы найти нужный заказ в CRM и символьный код статуса в CRM.
Статусы могут быть разные, это все индивидуально для вашей CRM, список статусов и их символьные коды можно посмотреть в разделе Администрирование — Статусы.
В данном примере я указал соотношение для статуса оплачено в Minishop — статус Выполнен в CRM
Николай Савин
20 ноября 2017, 22:50
0
Шикарные у вас работы. Вот прямо визуальный оргазм получил.
С удовольствием посотрудничал бы с вами, но что-то заказов набрал много.
Николай Савин
10 ноября 2017, 21:00
0
Купил пакет. У меня два вопроса.
Во первых будет ли перевод на русский? Ну или хотя бы белорусский ))
Во вторых что с записью, а точнее ее стоимостью? На страничке написано, 50% скидка на запись. Это сколько?
Николай Савин
10 ноября 2017, 20:49
0
Аха-ха. Кто нибудь забаньте уже бота!