protected static function getOrderInfo($orderId) { // order itself $order = \CSaleOrder::getById($orderId); // buyer info $siteUserId = $order['USER_ID']; $phone = ''; $email = ''; $result = \CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $orderId)); while ($row = $result->fetch()) { if (empty($phone) && stripos($row['CODE'], 'PHONE') !== false) { $stPhone = static::normalizePhoneNumber($row['VALUE']); if (!empty($stPhone)) { $phone = sha1($stPhone); } } if (empty($email) && stripos($row['CODE'], 'EMAIL') !== false) { if (!empty($row['VALUE'])) { $email = sha1($row['VALUE']); } } } // products info $products = array(); $result = \CSaleBasket::getList(array(), $arFilter = array('ORDER_ID' => $orderId), false, false, array('PRODUCT_ID')); while ($row = $result->fetch()) { $products[] = array('product_id' => $row['PRODUCT_ID'], 'recommendation' => '0'); } // all together $data = array('order_id' => $orderId, 'user_id' => $siteUserId, 'phone' => $phone, 'email' => $email, 'products' => $products); return $data; }
protected static function getOrderInfo($orderId) { // order itself $order = \CSaleOrder::getById($orderId); // buyer info $siteUserId = $order['USER_ID']; $phone = ''; $email = ''; $result = \CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $orderId)); while ($row = $result->fetch()) { if (empty($phone) && stripos($row['CODE'], 'PHONE') !== false) { $stPhone = static::normalizePhoneNumber($row['VALUE']); if (!empty($stPhone)) { $phone = sha1($stPhone); } } if (empty($email) && stripos($row['CODE'], 'EMAIL') !== false) { if (!empty($row['VALUE'])) { $email = sha1($row['VALUE']); } } } // products info $products = array(); $result = \CSaleBasket::getList(array(), $arFilter = array('ORDER_ID' => $orderId, 'MODULE' => 'catalog'), false, false, array('PRODUCT_ID', 'RECOMMENDATION', 'QUANTITY', 'PRICE', 'CURRENCY')); while ($row = $result->fetch()) { $productInfo = \CCatalogSKU::GetProductInfo($row['PRODUCT_ID']); $iblockId = 0; if (!empty($productInfo['ID'])) { $realProductId = $productInfo['ID']; $iblockId = $productInfo['IBLOCK_ID']; } else { $realProductId = $row['PRODUCT_ID']; // get iblock id $element = \Bitrix\Iblock\ElementTable::getRow(array('select' => array('IBLOCK_ID'), 'filter' => array('=ID' => $realProductId))); if (!empty($element)) { $iblockId = $element['IBLOCK_ID']; } } $products[] = array('product_id' => $realProductId, 'iblock_id' => $iblockId, 'quantity' => $row['QUANTITY'], 'price' => $row['PRICE'], 'currency' => $row['CURRENCY'], 'recommendation' => $row['RECOMMENDATION']); } // all together $data = array('order_id' => $orderId, 'user_id' => $siteUserId, 'phone' => $phone, 'email' => $email, 'products' => $products, 'price' => $order['PRICE'], 'currency' => $order['CURRENCY']); return $data; }