г. Санкт-Петербург
Войти
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Заказать звонок
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности
Логин
Пароль
Зарегистрироваться
После регистрации на сайте вам будет доступно отслеживание состояния заказов, личный кабинет и другие новые возможности

RSS
Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет, Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет
 
Авто уведомление на почту или смс на мобильный при приходе заказа Битрикс и проверка если заказ проверочный от Яндекс, Часто бывает что требуется получать смс о поступлении заказа, либо уведомление о проверке Яндекс маркет



Уведомление по смс, или на почту при поступлении заказа простым кодом, конечно есть множество модулей которые чаще платные или просто без условно шлют вам смс.

В нашем случае мы можем проверять что именно за заказ и слать уведомления только в случае если заказ проверочный от яндекса

обычно яндекс присылает чтото такое в комментариях:

Это контрольный заказ Яндекс.Маркета: мы проверяем, вовремя ли вы отвечаете на заказы. Чтобы пройти проверку, в течение часа пришлите на inga.pertrova@yandex.ru код fhEy9i weC228sV, но удалите из него пробел, добавьте комментарий, например «Код проверки», и укажите тему письма. Если заказ поступил в нерабочее время, отправьте письмо, когда магазин откроется — в течение первого рабочего часа. Подробности: https://yandex.ru/support/partnermarket/quality/critical-mistakes.html#order__check-code

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

открываем init.php

добавляем функцию yandex_check для обработки которая будет слать смс и писать вам на почту в случае если в комментарии заказа указано что заказ проверочный.


Код
Код
function Yandex_check($zakaz) 
{

$mail="vashapochta@mail.ru"; // ваша почта
$subject ="Проблема с заказом №".$zakaz ; // тема письма
$texto='Внимание заказ №'.$zakaz.' проверочный, срочно проверить и обработать в течении часа!';



$order = \Bitrix\Sale\Order::load($zakaz); // объект заказа
$order->getFields(); // получение полей заказа
$desc=$order->getField("USER_DESCRIPTION"); // получение комментария

if (stristr ( $desc , "пройти проверку")) {
// если находим слова "пройти проверку" то считаем что заказ сделал яндекс и выполняем два действия

//отправляем почту на ваш_емейл"майл.ру

if( mail($mail, $subject, $texto ) )
{
echo 'Успешно отправлено!'; }
else{
echo 'Отправка не удалась!';
}

// если вы зарегистрированы на sms.ru то можете сразу и смс отправлять.

Код
require_once '/home/bitrix/www/include/sms.ru.php'; // проверьте путь и скачайте последнюю версию с sms.ru

$smsru = new SMSRU(' сюда вставьте ключ из SMS.ru'); // Ваш уникальный программный ключ, который можно получить на главной странице

$data = new stdClass();
$data->to = '7911388838,730030300'; // через запятую перечень телефонов для отправки.

$data->text = $texto; // Текст сообщения в СМС

// $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию
// $data->time = time() + 7*60*60; // Отложить отправку на 7 часов
// $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС)

//для начала можно попробовать тест, но для реальной отправки надо будет закомментировать строку ниже

$data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения

// $data->partner_id = '1'; // Можно указать ваш ID партнера, если вы интегрируете код в чужую систему

$sms = $smsru->send_one($data); // Отправка сообщения и возврат данных в переменную

//дальше можно удалить нужно только для debug 
if ($sms->status == "OK") { // Запрос выполнен успешно
    echo "Сообщение отправлено успешно. ";
    echo "ID сообщения: $sms->sms_id. ";
    echo "Ваш новый баланс: $sms->balance";
} else {
    echo "Сообщение не отправлено. ";
    echo "Код ошибки: $sms->status_code. ";
    echo "Текст ошибки: $sms->status_text.";
}



}
}

Осталась мелочь, добавить обработчик получающий ID заказа в момент его создания и запускающий нашу функцию:

Следует убедится что у вас уже нет события ModifyOrderSaleMails

и соответственно модифицировать код
Код

Код
function ModifyOrderSaleMails($orderID, &$eventName, &$arFields)
{
   if(CModule::IncludeModule("sale") && CModule::IncludeModule("iblock"))
   {

Yandex_check($orderID);
   }
}