Jump to content

  • You cannot start a new topic
  • This topic is locked This topic is locked

Помогите Правильно Подключить Свой Скрипт Отправки Sms К Cs-Cart Rate Topic   - - - - -

 
  • DarkLynx
  • Member
  • Members
  • Join Date: 03-Jun 17
  • 23 posts

Posted 17 February 2018 - 02:47 PM #1

Здравствуйте,

 

У меня есть колл центр базе на FreePBX(Asterisk) на отдельном компе, к нему подключено два донгла с мобильными номерами, я написал php скрипт отправки SMS через них вот такого вида:

 

https://сайт/sms.php?dongle=1&number=1234567&text=Любой текст&password=XXX, где

 

dongle - номер донгла с которого будет отправлено смс

number - номер на который будет отправлено смс

text - собственно сам текст сообщения

password - пароль для защиты от несанкционированного использования, хотя скрипт и так снаружи недоступен)))

 

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

 

В CS-Cart я еще не очень хорошо разбираюсь и только учусь, просьба подскажите в каком месте движка я могу вставить на выполнение эту ссылку и как это правильно сделать? Знаю, что в модуле "Мои изменения" хуками, но не очень пока понимаю как.

 

Почему хочу сделать именно так? Ответ простой у меня на номерах в тарифном плане куча бесплатных смс)))

 

Буду признателен за любые дельные советы!


Мой интернет-магазин Gambler World https://gambler.world на движке CS-Cart :grin:


 
  • masterok
  • Member
  • Trial users
  • Join Date: 14-Feb 18
  • 15 posts

Posted 18 February 2018 - 10:02 AM #2

Здравствуйте,

 

У меня есть колл центр базе на FreePBX(Asterisk) на отдельном компе, к нему подключено два донгла с мобильными номерами, я написал php скрипт отправки SMS через них вот такого вида:

 

https://сайт/sms.php?dongle=1&number=1234567&text=Любой текст&password=XXX, где

 

dongle - номер донгла с которого будет отправлено смс

number - номер на который будет отправлено смс

text - собственно сам текст сообщения

password - пароль для защиты от несанкционированного использования, хотя скрипт и так снаружи недоступен)))

 

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

 

В CS-Cart я еще не очень хорошо разбираюсь и только учусь, просьба подскажите в каком месте движка я могу вставить на выполнение эту ссылку и как это правильно сделать? Знаю, что в модуле "Мои изменения" хуками, но не очень пока понимаю как.

 

Почему хочу сделать именно так? Ответ простой у меня на номерах в тарифном плане куча бесплатных смс)))

 

Буду признателен за любые дельные советы!

Привет. Может это видео вам поможет 

CS-Cart: Модификация: Запустить любой собственный скрипт



 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 17801 posts

Posted 19 February 2018 - 05:56 AM #3

Вам можно использовать хуки в функции fn_change_order_status (app/functions/fn.cart.php). Для вызова ссылки методом get используйте следующий код

 

$result = Http::get('https://сайт/sms.php?dongle=1&number=1234567&text=Любой текст&password=XXX');

GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration | UniTheme and YOUPI
CS-Cart                USD 345     Multi-Vendor              USD 1250    CS-Cart RU                         24500 руб.
CS-Cart Ultimate  USD 775     CS-Cart + YOUPI      USD 545      CS-Cart RU + UniTheme    36000 руб.


 
  • DarkLynx
  • Member
  • Members
  • Join Date: 03-Jun 17
  • 23 posts

Posted 19 February 2018 - 08:45 AM #4

О круто, благодарю вас! Буду пробовать. Если будут вопросы я обязательно напишу! О результатах тоже дам знать!


Мой интернет-магазин Gambler World https://gambler.world на движке CS-Cart :grin:


 
  • DarkLynx
  • Member
  • Members
  • Join Date: 03-Jun 17
  • 23 posts

Posted 19 February 2018 - 05:11 PM #5

Благодаря помощи ребят, которые носом потыкали меня в нужные мануалы, родился вот этот код, который работает и выполняет задуманное. Я очень рад и благодарю за помощь ребят!!! В планах расширить мод и сделать страницу с настройками и еще кое-какими фичами, которые придумались мной в процессе.

 

Файл func.php

use Tygh\Http;

if (!defined('BOOTSTRAP')) { die('Access denied'); }
                                                                                                                                                                                     
function fn_my_changes_change_order_status(&$status_to, &$status_from, &$order_info, &$force_notification, &$order_statuses)
{
    $s_phone = str_replace(" ","",$order_info['s_phone']);
    if(!empty($s_phone) && strlen($s_phone) == '12')
    {
        $order_id = $order_info['order_id'];
$statusName = array (
    'Обработан' => 'P',
    'Ожидает отправки' => 'G',
    'Возвращено' => 'E',
    'Ожидает звонка' => 'Y',
    'Доставлено' => 'W',
    'В пункте самовывоза' => 'X',
    'Аннулирован' => 'I',
    'Отложен' => 'B',
    'Отклонен' => 'D',
    'Неудача' => 'F',
    'Открыт' => 'O',
    'Выполнен' => 'C',
    'Отправлен' => 'H'
    );
$status = array_search($status_to, $statusName);
        $result = Http::get("https://сайт/sms.php?dongle=1&number=".$s_phone."&text=Статус заказа №".$order_id." был изменен на ".$status.".&password=XXX");
return $result;
    }
}

 и файл init.php

if (!defined('BOOTSTRAP')) { die('Access denied'); }

fn_register_hooks(
    'change_order_status'
);

Процесс был увлекательным и интересным. Может будут советы, как оптимизировать код, обязательно прислушаюсь. 


Мой интернет-магазин Gambler World https://gambler.world на движке CS-Cart :grin:


 
  • DarkLynx
  • Member
  • Members
  • Join Date: 03-Jun 17
  • 23 posts

Posted 21 February 2018 - 11:35 AM #6

Подскажите каким хуком воспользоваться, чтобы отправить sms после регистрации? Хочу добавить функционал. Поискал, но, что-то у меня пока не очень получилось.


Мой интернет-магазин Gambler World https://gambler.world на движке CS-Cart :grin:


 
  • oleg.gorshkov
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 06-Dec 13
  • 2896 posts

Posted 21 February 2018 - 01:33 PM #7

Подскажите каким хуком воспользоваться, чтобы отправить sms после регистрации? Хочу добавить функционал. Поискал, но, что-то у меня пока не очень получилось.

 

Здравствуйте!

 

Попробуйте 

fn_set_hook('update_profile', $action, $user_data, $current_user_data); 

с проверкой $action == 'add'


Simtech Development | sales@simtechdev.com | www.simtechdev.com
CERTIFIED CS-CART PARTNER | LICENSES | DEVELOPMENT | ADD-ONS | DESIGN | UPGRADE

Mega SEO Package - All you need for your SEO


 
  • eComLabs
  • CS-Cart Expert
  • Authorized Reseller
  • Join Date: 27-Jan 14
  • 17801 posts

Posted 21 February 2018 - 01:46 PM #8

Подскажите каким хуком воспользоваться, чтобы отправить sms после регистрации? Хочу добавить функционал. Поискал, но, что-то у меня пока не очень получилось.

 

Используйте хук update_profile (app/functions/fn.users.php)

if ($action == 'add') {
    .... ваш код ...
}

GET A FREE QUOTE | CS-Cart Add-ons | CS-Cart Licenses | CS-Cart Development | CS-Cart Design | Server Configuration | UniTheme and YOUPI
CS-Cart                USD 345     Multi-Vendor              USD 1250    CS-Cart RU                         24500 руб.
CS-Cart Ultimate  USD 775     CS-Cart + YOUPI      USD 545      CS-Cart RU + UniTheme    36000 руб.


 
  • DarkLynx
  • Member
  • Members
  • Join Date: 03-Jun 17
  • 23 posts

Posted 22 February 2018 - 06:18 PM #9

Всем очередная благодарность, все получилось + я переписал sms.php файл, который вызывается модулем для отправки смс. Дополнительно реализовал помимо отправки смс сообщений на русском языке длиной 70 символов, отправку длинных смс в PDU, через Asterisk модуль chan_dongle. Теперь вообще красота! Приступаю к созданию страницы настроек для модуля и пункта меню"Рассылка СМС" в меню "Маркетинг", чтобы делать рассылку по клиентам магазина! Думаю, что вопросы еще будут)))) Еще раз все спасибо!!!


Мой интернет-магазин Gambler World https://gambler.world на движке CS-Cart :grin: