Техподдержка сайтов
+7 (904) 589-06-04
+7 (904) 589-06-04
telegram @sng24
MAX
info@sng-it.ru
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ 1С-БИТРИКС
разработка · доработка · техподдержка
  • О себе
  • Услуги
    Обновление сайтов на 1С-БитриксPHP 8.2+, MySQL 8, ядро и модули›Поиск и удаление вирусовПроверка, очистка и защита сайта›Создание сайтовРазработка сайтов под задачи бизнеса›Интеграция сайта с 1СОбмен товарами, остатками и заказами›Композитный сайт›Внутренняя оптимизация сайтаТехническое SEO и оптимизация›Доработка сайтовНовые функции, интеграции, нестандартные решения›Импорт каталога из файла поставщикаИмпорт и обновление товарных данных›Перенос сайта на 1С БитриксМиграция сайта на 1С-Битрикс›Парсинг контентаСбор и импорт данных›Установка готового сайтаУстановка и настройка готового решения›Купить лицензию 1С Битрикс›Битрикс 24CRM и автоматизация бизнеса›Выгрузка товаров в Яндекс.Маркет›Настройка служб доставкиИнтеграция служб доставки›Интеграция с соцсетями›Заказ на Маркете›Перевод сайта на https›Сопровождение сайтов на 1С БитриксОбслуживание и развитие сайтов›Настройка платежных системПодключение и настройка оплаты›
    Все услуги →
  • Портфолио
  • Готовые сайты
    Недвижимость›Медицина›Ресторанный бизнес›Автомобили и автозапчасти›Бухгалтерские и юридические услуги›Государство›Детские товары›Красота и здоровье›Мебель, интерьер, декор›Образование›Одежда и обувь›Подарки и сувениры›Продукты питания›Спорт, туризм и отдых›Строительство, ремонт, инструменты›Товары для животных›ТСЖ, ЖСК›Украшения, аксессуары, подарки›Электроника и бытовая техника›Универсальные›
    Все готовые сайты →
  • 1С Битрикс
    Старт (7 100 ₽)›Стандарт (20 500 ₽)›Малый бизнес (47 000 ₽)›Бизнес (96 500 ₽)›Интернет-магазин + CRM (109 000 ₽)›Продление лицензии›Сравнить редакции›
  • CRM
  • Контакты
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ 1С-БИТРИКС
О себе
Услуги
Портфолио
Готовые сайты
1С Битрикс
CRM
Контакты
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ
1С-БИТРИКС
  • Главная
  • О себе
  • Услуги
    • Назад
    • Услуги
    • Обновление сайтов на 1С-Битрикс
    • Поиск и удаление вирусов
    • Создание сайтов
    • Интеграция сайта с 1С
    • Композитный сайт
    • Внутренняя оптимизация сайта
    • Доработка сайтов
    • Импорт каталога из файла поставщика
    • Перенос сайта на 1С Битрикс
    • Парсинг контента
    • Установка готового сайта
    • Купить лицензию 1С Битрикс
    • Битрикс 24
    • Выгрузка товаров в Яндекс.Маркет
    • Настройка служб доставки
    • Интеграция с соцсетями
    • Заказ на Маркете
    • Перевод сайта на https
    • Сопровождение сайтов на 1С Битрикс
    • Настройка платежных систем
  • Портфолио
  • Готовые сайты
    • Назад
    • Готовые сайты
    • Недвижимость
    • Медицина
    • Ресторанный бизнес
    • Автомобили и автозапчасти
    • Бухгалтерские и юридические услуги
    • Государство
    • Детские товары
    • Красота и здоровье
    • Мебель, интерьер, декор
    • Образование
    • Одежда и обувь
    • Подарки и сувениры
    • Продукты питания
    • Спорт, туризм и отдых
    • Строительство, ремонт, инструменты
    • Товары для животных
    • ТСЖ, ЖСК
    • Украшения, аксессуары, подарки
    • Электроника и бытовая техника
    • Универсальные
    • Разное
  • 1С Битрикс
    • Назад
    • 1С Битрикс
    • Старт (7 100 ₽)
    • Стандарт (20 500 ₽)
    • Малый бизнес (47 000 ₽)
    • Бизнес (96 500 ₽)
    • Интернет-магазин + CRM (109 000 ₽)
    • Продление лицензии
    • Сравнить редакции
  • CRM
  • Контакты
  • Личный кабинет
  • +7 (904) 589-06-04
Будьте на связи
info@sng-it.ru
  • Вконтакте
  • YouTube

Скрипт обработки исходящего вебхука Битрикс24 для обновления статуса заказа на сайте

  • Главная
  • ❶ Сниппеты
  • ❷ Скрипт обработки исходящего вебхука Битрикс24 для обновления статуса заказа на сайте

Скрипт обрабатывает исходящий из Битрикс24 вебхук. По идентификатору сделки получаем стадию сделки вебхуком, методом crm.deal.get, далее устанавливаем на сайте соответствующий статус заказа.



require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("sale");

function crmPostDeal($token, $metod, $queryData)
{
	$queryUrl = 'https://[ваше_название].bitrix24.ru/rest/[идентификатор_пользователя]/'.$token.'/'.$metod;	
	
	// обращаемся к Битрикс24 при помощи функции curl_exec
	$curl = curl_init();
	curl_setopt_array($curl, array(
	  CURLOPT_SSL_VERIFYPEER => 0,
	  CURLOPT_POST => 1,
	  CURLOPT_HEADER => 0,
	  CURLOPT_RETURNTRANSFER => 1,
	  CURLOPT_URL => $queryUrl,
	  CURLOPT_POSTFIELDS => $queryData,
	));
	$result = curl_exec($curl);
	curl_close($curl);	
	return $result; 
}

if($_REQUEST['auth']['application_token'] == '0o3i00000cb000q600000z0')    //проверка токена(у каждого свой)
{	
	$token = 'токен входящего вебхука';
	$metod = "crm.deal.get";			
	
	$queryData = http_build_query(array(	
		'id' =>  $_REQUEST["data"]["FIELDS"]["ID"]
	));		
	
	$result = crmPostDeal($token, $metod, $queryData);	
	$obj = json_decode($result);
	
	$STATUS_ID = "";
	if($obj->result->STAGE_ID == "NEW")  //В обработке (принят)   
	{
		$STATUS_ID = "N";  //Принят
	}
	if($obj->result->STAGE_ID == "DETAILS") //Уточнение информации 
	{		
		$STATUS_ID = "R";		// В обработке
	}	
	if($obj->result->STAGE_ID == "3")  //Отказ от заказа
	{		
		$STATUS_ID = "Z";	//Отказ от заказа
	}	
	if($obj->result->STAGE_ID == "4")  //Самовывоз  
	{		
		$STATUS_ID = "E";	//Самовывоз  
	}	
	if($obj->result->STAGE_ID == "1")  // Отгружен     
	{		
		$STATUS_ID = "G";	// Отгружен     
	}
	if($obj->result->STAGE_ID == "WON")  // Завершение сделки
	{		
		$STATUS_ID = "F";	// Выполнен    
	}	

	//получаем по ID сделки			
	$arFilter = array('PROPERTY_VAL_BY_CODE_DEALCRM' => $_REQUEST["data"]["FIELDS"]["ID"]);
	$rsOrders = CSaleOrder::GetList(array('ID' => 'DESC'), $arFilter, array('ID',"STATUS_ID"));
	if ($arSales = $rsOrders->GetNext())
	{	
		if($STATUS_ID && ($STATUS_ID != $arSales[STATUS_ID]))
		{
			CSaleOrder::StatusOrder($arSales['ID'], $STATUS_ID);
			file_put_contents($_SERVER["DOCUMENT_ROOT"]."/log_dealUpdateFromCrm.txt", 
				date('d m o, H:i:s') ." ".serialize($arSales). ' STATUS_ID = ' .$STATUS_ID. PHP_EOL,
				FILE_APPEND
			);			
		}		
		if($STATUS_ID == "Z") // Отказ от заказа
		{			
            $orderToChange = \Bitrix\Sale\Order::load($arSales["ID"]);
            $orderToChange->setField("CANCELED","Y");
            $orderToChange->save();		
		}
		elseif($arSales[STATUS_ID] == "Z")
		{
            $orderToChange = \Bitrix\Sale\Order::load($arSales["ID"]);
            $orderToChange->setField("CANCELED","N");
            $orderToChange->save();			
		}	
	}	
}

Теги: crm.deal.get, Битрикс24, вебхук

13.03.2020

Поделиться:
Назад к списку
  • Услуги
  • Обновление сайтов на 1С-Битрикс
  • Поиск и удаление вирусов
  • Интеграция сайта с 1С
  • Создание сайтов
  • Композитный сайт
  • Внутренняя оптимизация сайта
    • Доработка сайтов
    • Импорт каталога из файла поставщика
    • Парсинг контента
    • Перенос сайта на 1С Битрикс
    • Установка готового сайта
    • Купить лицензию 1С Битрикс
      • Битрикс 24
        • Выгрузка товаров в Яндекс.Маркет
        • Заказ на Маркете
        • Интеграция с соцсетями
        • Настройка служб доставки
        • Перевод сайта на https
        • Сопровождение сайтов на 1С Битрикс
        • Настройка платежных систем
        Аудит сайта
        Записаться на техподдержку

        Программист 1С-Битрикс — Семён Голиков
        Программист 1С-Битрикс
        разработка · доработка · техподдержка
        Работаю с 1С-Битрикс с 2010 года
        Есть задача по 1С-Битрикс?
        Выберите удобное время в календаре техподдержки.
        Выбрать времяНаписать в Telegram
        Услуги
        Доработка сайтовСопровождение сайтовОбновление 1С-БитриксПоиск и удаление вирусовИнтеграция с 1СХостинг для битрикса
        Проекты и продукты
        ПортфолиоГотовые сайтыЛицензии 1С-БитриксБитрикс24Отзывы
        Материалы
        БлогСниппетыВидеоурокиОптимизация сайтаАкции
        Связаться со мной
        +7 (904) 589-06-04Позвонитьinfo@sng-it.ruНаписать на e-mail
        Telegram M MAX
        Обычно отвечаю в течение дня
        © 2010-2026 Семён Голиков · программист 1С-Битрикс
        Политика конфиденциальностиОбработка персональных данныхКарта сайта
        VK
        Спасибо за заявку!
        Мы свяжемся с Вами в ближайшее
        время и ответим на все вопросы.
        Заполните форму и отправьте
        заявку на консультацию!