Как интегрировать msg91 РНР API с Prestasms или тема?

Как интегрировать msg91 РНР API с Prestasms или тема?

29.11.2017 04:21:45 Просмотров 38 Источник

<?php
error_reporting(E_ALL ^ E_NOTICE);ini_set('error_reporting', E_ALL ^ E_NOTICE);
    
define('IS_ADMIN_FLAG', false);

include_once(dirname(__FILE__).'/../../config/config.inc.php');
include_once(dirname(__FILE__).'/../../config/setting.inc.php');

include_once('includes/model/smsAdapter.php');
include_once('includes/model/sms.php');
include_once('includes/model/variables.php');

class ControllerSmsApi
{
    public function __construct()
    {
        $this->index();
    }                  

    public function index()
    {
        die("DISABLED");
                         
        $to = $this->getVar("to");
        $text = $this->getVar("text");
        $unicode = $this->getVar("unicode");
        $type = $this->getVar("type");
        $transaction = $this->getVar("transaction");
        
        if(isset($to) && strlen($to) > 4 && strlen($text) > 0)
        {   
            $sms = new SmsModel(true, SmsModel::TYPE_SIMPLE, $type, ($transaction ? SmsModel::SMS_TRANSACTION : SmsModel::SMS_BULK));
            
            $sms->number($to)->text($text)->unicode($unicode)->send();

            if(!$sms->isError())
            {
                echo "SMSSTATUS:OK";
            }
            else
            {
                echo "SMSSTATUS:ERROR";
            }
        }
        else
        {
            echo "SMSSTATUS:ERROR";
        }
    }
    
    private function getVar($var)
    {
        if(filter_input(INPUT_POST, $var))
        {
            return filter_input(INPUT_POST, $var);
        }
        elseif(filter_input(INPUT_GET, $var))
        {
            return filter_input(INPUT_GET, $var);
        }
        else
        {
            return null;
        }
    }
}

new ControllerSmsApi();
  
?>

У меня есть сайт ecommers, на котором клиент разместил заказ и получил все обновления через службу электронной почты ,но теперь я хочу сделать это для службы sms, для которой у меня есть sms api в msg91 для php. Но, к сожалению, я не могу интегрировать его с prestashop через prestasms или любой другой бесплатный модуль.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop#comment82064298_47553870
Покажите нам некоторые некоторые работы, прежде чем просить о помощи :)
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop#comment82064451_47553870
Вот модуль, совместимый с вашим sms providerr: addons.prestashop.com/fr/emails-notifications/…
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop#comment82064506_47553870
я сказал свободный модуль
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop#comment82064914_47553870
Тогда я говорю: покажите нам, что вы сделали до сих пор.
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop#comment82072247_47553870
это на localhost, как я могу показать вам? Файл Prestasms? или какой-то конкретный код? на самом деле я хочу запустить sms, когда статус заказа будет изменен, я не понимаю основные файлы prestashop для этого. и нет ничего, что предоставляет эту информацию в интернете.

Ответы - Как интегрировать msg91 РНР API с Prestasms или тема? / How to integrate msg91 php api with Prestasms or Prestashop?

Является ответом!
Matt Loye

30.11.2017 10:26:15

На самом деле создание модуля должно выполнять эту работу и добавлять различные крючки могут выполнять эту работу, вы можете создать один с почти всем, что вам понадобится здесь : https://validator.prestashop.com/

Основываясь на вашем ответе, вам, безусловно, понадобятся два крючка : actionOrderStatusUpdate и actionValidateOrder. Вы также можете получить обновленный список здесь http://www.prestarocket.com/blog/prestashop-1-7-hook-list-liste-des-hooks/.

Если вам нужен пример хорошо работающего модуля, вы можете взглянуть на модули / dashactivity/, которые наиболее соответствуют рекомендациям Prestashops.

Ваш код может выглядеть так в конце концов :

<?php


class Msg91SMS extends Module
{
    public function __construct()
    {
        $this->name = 'msg91sms';
        $this->tab = 'front_office';
        $this->version = '1.0.1';
        $this->author = 'YourName';

        $this->displayName = $this->l('MSG91SMS');
        $this->description = $this->l('Description');

        // Hooks you need, setup on install so you might do it again
        $this->hooks = array(
            'actionValidateOrder',
            'actionOrderStatusUpdate',
        );
    }

    public function install() {
        if (!parent::install()) {
            return false;
        } else {
            if (isset($this->hooks) && !empty($this->hooks)) {
                foreach ($this->hooks as $v) {
                    if (!$this->registerHook($v)) {
                        return false;
                    }
                }
            }
        }

    }

    public function hookActionValidateOrder($params) {
       $order = $params['order'];
       // Do your magic here
    }

    public function hookActionOrderStatusUpdate($params) {
        // Same as above, remember to check order state to see if it interests you some ways with $order->id_state and a switch / case
    }

}
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82141089_47567994
Да, я просто думаю о создании модуля. Ваш код поможет мне лучше всего для этого, спасибо приятель
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82145398_47567994
как я могу получить данные о пользователе, которому отправлено сообщение?
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82145432_47567994
В крючке вы можете сделать это: $customer = new Customer($order - >id_customer);
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82145450_47567994
тогда как получить мобильный нет клиента?
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82145693_47567994
на самом деле я хочу доставку мобильного нет.
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82146203_47567994
ОХК я его нашел, заказ->delivery_number, ну где ты этому всему научился?
https://stackoverflow.com/questions/47553870/how-to-integrate-msg91-php-api-with-prestasms-or-prestashop/47567994#comment82146757_47567994
Вам нужно взглянуть на папку классов, там есть все, что вам нужно, с небольшим поиском. Если вам нужен номер доставки, просто сделайте : $address = new Address ($order - >id_deliver_address); или что-то подобное, тогда вы можете прикрепить номер.
Закрыть X