Получить вебхук в cs_cart в своем модуле

Добрый день, коллеги.

Кто знает как можно получить вебхук от crm системы?
Можно ли запустить контроллер в моем модуле по url и как сформировать такой url?

В cs cart новичок и пока обнаружил только возможность получить по api, но он требует авторизации, а crm система в облаке и возможности заставить ее логиниться нет.

А в чем проблема? Создаете контроллер my_controller и делаете запрос на

https://domain.com/index.php?dispatch=my_controller.post

2 лайка

Благодарю, думал не работает, потому что ошибка 404 выходила, сделал die() в контроллере и увидел что работает.

Ну да, потом система ищет соответствующий шаблон, если не выйти

А как правильнее сделать, чтобы json ответить?

Например так:

Также полезно установить защиту доступа - просто замените * доменом, который вы хотите получить.

<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json');
    $response = array();
    $response[0] = array(
        'id' => '1',
        'value1'=> 'value1',
        'value2'=> 'value2'
    );
echo json_encode($response); 
exit();

связку с битриксом24 делаете? тогда вместо звездочки домен своей crm-ки

Такие заголовки актуальны для ajax, для межсерверного общения это не работает. Нет, не битрикс, а amocrm.

Добрый день.

Из crm хочу отправлять http post или get запрос, который будет содержать id пользователя и количество бонусных баллов.
Нужно, чтобы после получения этого запроса выполнялся апдейт таблицы cscart_user_data.

Подскажите, пожалуйста, для новичков.
Верно ли создать файл /app/addons/my_changes/controllers/frontend/my_changes.post.php и в нем написать код?
Можно ли проверить выполнение sql запроса путем запуска из адресной строки браузера?

use Tygh\Registry;

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

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    return;
}

if ($mode == 'update' || $mode == 'manage') {

code

}

Добрый день.

Не подскажете? Может, есть инструкция?

Примитивное описание задачи:

Тело HTTP POST запроса, который передается из CRM системы - {“id”: 500, “bonus”:1000}. После получения этих параметров в cs-cart должен выполняться sql запрос вида UPDATE table1 SET field1=1000 WHERE field2=500 END. 500 и 1000 - значения, которые постоянно меняются

Вы сделали аддон? создали контроллер в нем?

Я как раз задавался вопросом, как это сделать :slight_smile:

Верно ли создать файл /app/addons/my_changes/controllers/frontend/my_changes.post.php и в нем написать код?
Можно ли проверить выполнение sql запроса путем запуска из адресной строки браузера?

post контроллер без основного не факт, что сработает. Лучше используйте файл

/app/addons/my_changes/controllers/frontend/my_changes.php

и делайте запрос на

https://www.my_domain.com/index.php?dispatch=my_changes.update

Т.е. его можно будет проверить и запуском в адресной строке

Потом добавьте в параметры какой-нибудь ключ или проверку по IP адресу, чтобы исключить выполнение от случайных источников