Сверху над шапкой Сверху над шапкой
Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
Для тех, кто ценит
время и качество
+7 (950) 695-32-20
+7 (950) 695-32-20
+7 (953) 271-62-24
E-mail
bussolweb@yandex.ru
Задать вопрос
  • VK
Для тех, кто ценит
время и качество
  • Портфолио
  • V-blog
  • Новости
  • Частые вопросы
  • ...
    +7 (950) 695-32-20 bussolweb@yandex.ru
    Заказать звонок
    Услуги
    • Разработка сайтов
      Разработка сайтов
    • Продвижение сайтов
      Продвижение сайтов
    • Техническая поддержка сайтов
      Техническая поддержка сайтов
    • Внедрение Битрикс24
      Внедрение Битрикс24
    • B2B-кабинет
      B2B-кабинет
    • Свободный старт для селлеров на WB/Ozon
      Свободный старт для селлеров на WB/Ozon
    Лицензии
    • Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс
    • Лицензии 1С-Битрикс24
      Лицензии 1С-Битрикс24
    • Лицензии BUSSOL
      Лицензии BUSSOL
    • Лицензии Аспро
      Лицензии Аспро
    • Лицензии INTEC
      Лицензии INTEC
    Хостинг
    • Виртуальный хостинг
      • Blog
      • Start
      • Noble
      • Great
    • VIP-хостинг
      • Town
      • City
      • Mega
    • Хостинг для 1С-Битрикс
      • Bitrix-1
      • Bitrix-2
      • Bitrix-3
    Акции
    Компания
    • О компании
    • Ценные бумаги
    • Команда
    • Отзывы
    • Реквизиты
    • Стратегические активы
    Контакты
      Задать вопрос
      Заказать звонок
      Поиск
      Задать вопрос
      Задать вопрос
      • +7 (950) 695-32-20
        • Телефоны
        • +7 (950) 695-32-20
        • +7 (953) 271-62-24
        • Заказать звонок
      • Брянская обл., Брянский р-н, п. Путевка, ул. Рославльская, д. 8
      • bussolweb@yandex.ru
      • Пн. – Пт.: с 10:00 до 19:00
      Главная
      —
      Видео-блог
      —Получить заказы пользователя с сортировкой по дате создания

      Получить заказы пользователя с сортировкой по дате создания

      7 мая 2025

      Рассмотрим в этой статье пример получения истории заказов пользователя на Bitrix API

      Иногда требуется выгрузить заказы в какую-то внешнюю систему, отличную от 1С, в формате XML или JSON для их дальнейшей обработки. Рассмотрим как это можно сделать на примере Bitrix Framework. Предположим, что внешняя система должна получить данные заказа пользователя по его ID, отправляя на сайт GET-запрос. Создадим на сайте файл, допустим, /local/api/getorders.php. В файле подключим пролог, класс Loader и установим кодировку utf-8:

      
      header('Content-Type: application/json; charset=utf-8');
      use Bitrix\Main\Loader;
      

      Далее, обработаем GET-параметр uid, в котором передается ID пользователя на сайте:

      
      $query = $_GET['uid'];	
      $query = trim(htmlspecialchars(strip_tags($query)));
      
      if (!$query) {
      	echo json_encode(["error" => "Пустой запрос"]);
      }
      if (!Loader::includeModule('sale')) {
      	echo json_encode(["error" => "Модуль sale не подключен"]);
      	exit;
      }
      

      Здесь мы также проверяем доступность модуля sale (Интернет-магазин) и если он отсутствует в системе, то будет выдано сообщение об ошибке. Также, если GET-запрос окажется пустым, то тоже будет возвращаться сообщение об ошибке. Далее, используя метод GetList класса CSaleOrder модуля sale получаем все заказы пользователя по его ID, отсортированные по убыванию даты создания заказа:

      
      $arFilter = Array(
         "USER_ID" => $_GET["uid"], 
      );
      
      $db_sales = CSaleOrder::GetList(
          array("DATE_INSERT" => 'DESC'), 
          $arFilter
      );
      

      Заказы мы получили. Но, чтобы передать их во внешнюю систему, нужно сформировать массив заказов $result только с нужными данными, конвертировать его в JSON и предать:

      
      $result = [];
       
      while ($ar_sales = $db_sales->Fetch()){
      	$arStatus = CSaleStatus::GetByID($ar_sales["STATUS_ID"], "RU");
      
      	$result[] = [
      		"oid" => $ar_sales["ID"], // ID заказа
      		"onum" => $ar_sales["ACCOUNT_NUMBER"], // номер заказа
      		"date" => $ar_sales["DATE_INSERT"], // дата создания заказа
      		"summ" => $ar_sales["PRICE"], // сумма заказа
      		"status" => $arStatus["NAME"], // статус заказа
      	];
      }
      
      echo json_encode($result, JSON_UNESCAPED_UNICODE);
      

      Обратите внимание на то, что статус заказа мы должны получить по его коду с помощью метода GetByID класса CSaleStatus модуля интернет-магазин. Ниже полный листинг примера:

      
      require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
      header('Content-Type: application/json; charset=utf-8');
      use Bitrix\Main\Loader;
      
      $query = $_GET['uid'];	
      $query = trim(htmlspecialchars(strip_tags($query)));
       
      if (!$query) {
      	echo json_encode(["error" => "Пустой запрос"]);
      }
      if (!Loader::includeModule('sale')) {
      	echo json_encode(["error" => "Модуль sale не подключен"]);
      	exit;
      }
       
      $arFilter = Array(
         "USER_ID" => $_GET["uid"], 
      );
      
      $db_sales = CSaleOrder::GetList(
          array("DATE_INSERT" => 'DESC'), 
          $arFilter
      );
      
      $result = [];
       
      while ($ar_sales = $db_sales->Fetch()){
      	$arStatus = CSaleStatus::GetByID($ar_sales["STATUS_ID"], "RU");
      
      	$result[] = [
      		"oid" => $ar_sales["ID"],
      		"onum" => $ar_sales["ACCOUNT_NUMBER"],
      		"date" => $ar_sales["DATE_INSERT"],
      		"summ" => $ar_sales["PRICE"],
      		"status" => $arStatus["NAME"],
      	];
      }
      
      echo json_encode($result, JSON_UNESCAPED_UNICODE);
      
      Назад к списку
      +7 (950) 695-32-20
      +7 (950) 695-32-20
      +7 (953) 271-62-24
      E-mail
      bussolweb@yandex.ru
      Заказать звонок
      bussolweb@yandex.ru
      Брянская обл., Брянский р-н, п. Путевка, ул. Рославльская, д. 8
      Услуги
      Разработка сайтов
      Продвижение сайтов
      Техническая поддержка сайтов
      Внедрение Битрикс24
      B2B-кабинет
      Свободный старт для селлеров на WB/Ozon
      Лицензии
      Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс24
      Лицензии BUSSOL
      Лицензии Аспро
      Лицензии INTEC
      Компания
      О компании
      Ценные бумаги
      Команда
      Отзывы
      Реквизиты
      Стратегические активы
      Политики и согласия
      Публичная оферта
      Политика обработки ПДн
      Соглашение об использовании cookie-файлов
      Сведения о направлениях ИТ-деятельности
      Согласие на получение рекламно-информационных материалов
      © 2021-2026, Центр разработки и продвижение сайтов: BUSSOL - решения для бизнеса
      Разработано в
      0 Корзина

      Ваша корзина пуста

      Исправить это просто: выберите в каталоге интересующий товар и нажмите кнопку «В корзину»
      Перейти в каталог
      Порядок оплаты
      1 вариант
      После заключения договора
      50%
      стоимости работ + стоимость CMS и хостинга
      После сдачи сайта
      50%
      стоимости работ
      2
      платежа
      2 вариант
      После заключения договора
      34%
      от общей стоимости
      Через 20 календарных дней
      33%
      от общей стоимости
      После сдачи сайта
      33%
      от общей стоимости
      3
      платежа

      Заполните форму и мы свяжемся с Вами:

      Отправляя форму я соглашаюсь с политикой конфеднциальности

      Ваше сообщение успешно отправлено! В ближайшее время мы Вам перезвоним

      • МАКС
      • ВКонтакте
      • Telegram
      • Б24

        Битрикс24
      Задать вопрос
      Напишите нам свой вопрос и мы на него ответим

      Ваше сообщение успешно отправлено!
      Наши специалисты свяжутся с Вами в ближайшее время. Спасибо за интерес к нашим услугам