Доработки вебхуков в модуле Интеграция с iiko

Модуль расширенного управления меню для битрикс

Март 12, 2026

Теги: Модули grain, Интеграция с iiko

Для модуля Интеграция с iiko.

Принудительная авторизация вебхуков по IP адресу (например, если в заголовках не приходит Authorization):


<?php

namespace Partner;

\Bitrix\Main\EventManager::getInstance()->addEventHandler
    
'grain.iiko'
    
'OnGetWebhook'
    
'\Partner\WebhookAuth::onGetWebhook'
); 

class 
WebhookAuth
{
    public static function 
onGetWebhook(\Bitrix\Main\Event $event
    {
        
$restaurant $event->getParameter('RESTAURANT'); // массив ресторана
        
$token $event->getParameter('TOKEN'); // токен из настроек модуля
        
$headers $event->getParameter('HEADERS'); // заголовки запроса
        
$webhook $event->getParameter('WEBHOOK'); // вебхук
        
        
foreach ($event->getResults() as $eventResult// получение данных после другого обработчика, если он был
        
{
            if(
$eventResult->getType() == \Bitrix\Main\EventResult::ERROR)
                continue;
            if(
$parameters $eventResult->getParameters())
            {
                if(isset(
$parameters['WEBHOOK']))
                    
$webhook $parameters['WEBHOOK'];
            }
        }
        
        
$forceAuth $_SERVER['REMOTE_ADDR']=='194.67...';

        if(
$forceAuth)
        {
            
$result = new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, ['FORCE_AUTH'=>$forceAuth]);
            return 
$result;
        }
    }
}
Интеграция с iiko и rkeeper, готовый сайт ресторана

← Переход к списку