Очень хорошие примеры описаны учебных курсах:
Один из вариантов получения стоимости доставки через API:
А если надо просто получить параметры доставки, то выглядеть будет так:
Один из вариантов получения стоимости доставки через API:
| Код |
|---|
$deliveryId = "Идентификатор доставки";
$obBasket = \Bitrix\Sale\Basket::create(SITE_ID);
$obItem = $obBasket->createItem("catalog", "Сюда подставить ID товара");
$arProductFields = array(
'NAME' => "Сюда подставить название товара",
'PRICE' => "Сюда подставить цену товара",
'CURRENCY' => 'RUB',
'QUANTITY' => 1,
'LID' => \Bitrix\Main\Context::getCurrent()->getSite(),
'PRODUCT_PROVIDER_CLASS' => 'CCatalogProductProvider',
);
$obItem->setFields($arProductFields);
$obOrder = \Bitrix\Sale\Order::create(SITE_ID, 1);
$obOrder->setPersonTypeId(1);
$obOrder->setBasket($obBasket);
$obShipmentCollection = $obOrder->getShipmentCollection();
$obShipment = $obShipmentCollection->createItem(\Bitrix\Sale\Delivery\Services\Manager::getObjectById($deliveryId));
$shipmentItemCollection = $obShipment->getShipmentItemCollection();
foreach ($basket as $basketItem)
{
$item = $shipmentItemCollection->createItem($basketItem);
$item->setQuantity($basketItem->getQuantity());
}
$arDelivery = \Bitrix\Sale\Delivery\Services\Manager::calculateDeliveryPrice($obShipment, $deliveryId, array()); |
А если надо просто получить параметры доставки, то выглядеть будет так:
| Код |
|---|
$arDeliveryParams = \Bitrix\Sale\Delivery\Services\Manager::getById($deliveryId); |