Получить заказы пользователя с сортировкой по дате создания
Иногда требуется выгрузить заказы в какую-то внешнюю систему, отличную от 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, отсортированные по убыванию даты создания заказа:
Заказы мы получили. Но, чтобы передать их во внешнюю систему, нужно сформировать массив заказов $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 модуля интернет-магазин. Ниже полный листинг примера:
Иногда требуется выгрузить заказы в какую-то внешнюю систему, отличную от 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, отсортированные по убыванию даты создания заказа:
Заказы мы получили. Но, чтобы передать их во внешнюю систему, нужно сформировать массив заказов $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 модуля интернет-магазин. Ниже полный листинг примера:
В последнее время пользователи сайтов, работающих на решениях компании АСПРО, сталкиваются с тем, что в разных разделах сайта левое меню не меняется, хотя оно разное для каждого из этих разделов. В данном видео показан способ обхода этой проблемы
Стандартный компонент "Настраиваемая Яндекс.Карта" не имеет настройки для изменения изображения меток. В качестве изображения метки используется стандартный значок. В этом видео я покажу, как изменить стандартное изображением меток через код компонента
Заказать сайт
Авторизация
Восстановление пароля
Для восстановления пароля на указанный вами адрес электронной почты будет выслан новый пароль
Вы успешно зарегистрированы!
На указанный E-mail отправлено письмо со ссылкой для активации учетной записи.
Пароль изменен
На указанный E-mail отправлено письмо с данными для авторизации
Заказать звонок
Оставьте ваши контакты и мы перезвоним вам в ближайшее время
Ваше сообщение успешно отправлено!
Наши специалисты свяжутся с Вами в ближайшее время. Спасибо за интерес к услугам интернет-магазина
BUSSOL
Купить в 1 клик
Укажите ваши данные и мы свяжемся с Вами для уточнения заказа
Сравнение редакций 1С-Битрикс
CMS
Старт
Стандарт
Малый бизнес
Бизнес
Главный модуль
Сайты24
Число сайтов
2
∞
∞
∞
Число страниц
∞
∞
∞
∞
Управление структурой
Информационные блоки
Highload-блоки
Поиск
Перевод
Форумы и блоги
Фотогалерея 2.0
Социальная сеть
Обучение, тестирование
Веб-мессенджер
Бизнес-процессы
Почта
Техподдержка
Календари
Документооборот
Универсальные списки
База знаний Wiki
Сервис «Есть идея!»
Интернет-магазин
Старт
Стандарт
Малый бизнес
Бизнес
Торговый каталог
Функционал подарков
Интеграция с CRM
Мастер управления магазином
Складской учет
1 склад
∞
Цены
1 тип цен
∞
Валюты
Конструктор отчетов
Разделение заказов между филиалами компании
Маркетинг
Старт
Стандарт
Малый бизнес
Бизнес
SEO-модуль
Социальные сервисы
Интеграция с Битрикс24
Веб-формы
Опросы
Подписка и рассылки
A/B тестирование
E-mail маркетинг
Реклама
Веб-аналитика
Производительность
Старт
Стандарт
Малый бизнес
Бизнес
Композитный сайт
Компрессия
Допустимое число серверов
1
1
1
1
Монитор производительности
Визуальное масштабирование
Пульс конверсии
Веб-сервисы
Среды разработки и тестирования
1 временная среда
1 временная среда
1 временная среда
1 временная среда
Безопасность и мобильность
Старт
Стандарт
Малый бизнес
Бизнес
Облачные хранилища
Автоматический бекап в облако
2 Гб
2 Гб
4 Гб
10 Гб
Маркетплейс
Базы данных
MySQL
MySQL
MySQL
MySQL
Проактивная защита
Мобильное приложение интернет-магазина
Технология Push & Pull
Реквизиты компании BUSSOL (ИП Афанасьев А. А.)
Юр.лицо: ИП Афанасьев Александр Александрович
ОГРНИП: 321325600054519
ИНН: 322601808870
Расчетный счет: 4080 2810 9080 0001 5993
Кор.счет: 3010 1810 4000 0000 0601
Валюта счета: ₽, российский рубль
Банк: "БРЯНСКОЕ ОТДЕЛЕНИЕ N8605 ПАО СБЕРБАНК г Брянск"
БИК: 041501601
Поддерживаем электронный документооборот. Вы можете найти нас по ИНН в своей системе ЭДО