Центр документации
Карта сайта


Новая документация

Настройка платежных систем
Настройка способа оплаты КупиВкредит
Настройка способа оплаты Acquiro
Настройка способа оплаты AvisoSMS

Обновленная документация 

Разработчикам (API)
Руководство пользователя

Примеры использования API заказа

Сервисные API вызовы (ami_service.php). Метод – GET.

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

Параметры:
service=eshop_cart
action=get_available_shippings
Все параметры обязательны.

В ответе приходит массив, закодированный в json.
Формат массива:
array(
    id_набора_доставки_1 =>array(
        id,
        name,
        items => array(
            item_index =>array(id, name),
            item_index =>array(id, name),
            ...
            item_index =>array(id, name)
        ),
        methods => array(
            0 =>array(id, name),
            1 =>array(id, name),
            ...
            10 =>array(id, name)
        )
    ),
    id_набора_доставки_2 =>array(),
    ...
    id_набора_доставки_3 =>array()
)
Ключами массива являются id наборов доставки.
Каждый элемент массива содержит:
id
id набора доставки,
name
имя набора,
items
массив товаров из корзины (ключ массива - индекс товара в корзине, в элементе массива содержится id товара и его название),
methods
массив методов доставок (элементы –тоже массивы, которые содержат id метода доставки, название метода name).

Этот массив необходим для запроса стоимости заказа.

В шаблон eshop_purchase.tpl в сет purchase_form добавлена js переменная aCartShippings, которая на шаге выбора способа доставки уже содержит этот массив, закодированный в json (в этом случае запрос делать не нужно).

Пример кода

При использовании переменной шаблона:
varaCartShippings = JSON.decode('##cart_shipping##');
При использовании технологии AJAX:
AMI.$(document).ready(function(){
    AMI.$.ajax({
        url: "http://business.amiro.ru/ami_service.php",
        data: {
            service: "eshop_cart",
            action: "get_available_shippings"
        }
    }).done(function(content){
        window.aCartShippings= JSON.parse(content);
    });
});

Получить стоимость заказа

Параметры.
Обязательные параметры:
service=eshop_order
action=get_order_cost
Необязательныепараметры:
person_type = natural|juridical
физическое или юридическое лицо,
coupon
купон, если используется,
shipping
содержит массив групп методов доставки (также закодированный json).
В каждый массив с данными о наборе доставки нужно добавить элемент с индексом selected_method, значением должен быть id выбранного метода доставки.

Пример:
array(
    id_набора_доставки_1 =>array(
        id,
        name,
        items => array(),
        methods => array(),
        selected_method => id_метода_доставки_из_набора_1
    ),
    id_набора_доставки_2 =>array(
        id,
        name,
        items => array(),
        methods => array(),
        selected_method => id_метода_доставки_из_набора_2
    ),
)
Если selected_method будет отсутствовать, то будет использован первый метод доставки из группы методов.

В ответе приходит массив, закодированный в json.Формат массива:
array(
    items =>array() - массив с данными о товарах (цена, скидка, кол-во итд), пример элемента массива:

        [name] => LOTUS ELISE 111s (left hand drive) (1:18)
        [property_caption] =>
        [cat_name] =>Копииимодели
        [sku] =>WL12535L
        [qty] => 1 – количество товаров данной позиции
        [original_price] => 750.00 р. – исходнаяцена
        [percentage_discount] => 10.00 – скидкав %
        [absolute_discount] => 75.00 р. – скидкаврублях
        [price] => 675.00 р.
        [price_tax] => 675.00 р.
        [total_weight] => 0
        [weight] => 0
        [size] => 315x150x130
        [total] => 675.00 р. – полнаяценатовара
        [total_tax] => 675.00 р. – полная цена с учётом налогов

    total =>array() - массив с данными о стоимости заказа, полной скидке, стоимости доставки, величине налога итд. Примермассива:

        [id] => total
        [price_value] => 3292.5
        [tax_value] => 0
        [excise_tax] => 0
        [shipping_tax] => 0
        [shipping_value] => 50
        [shipping] => 50.00 – полнаястоимостьдоставки
        [price] => 3292.50 – полная цена заказа без учёта доставки
        [tax] => 0.00 – общая величина налога заказа
        [total_weight] => 0 – общий вес заказа
        [grand_discount] => 257.5 – полная величина скидки
        [grand_total] => 3342.5 – полная цена заказа без учёта комиссии платёжной системы
        
    drivers =>array() - массив содержащий информацию о стоимости заказа при оплате через определённый драйвер. Примерыэлементовмассива:
        
        [yandex] =>Array
        (
            [currency] =>RUR – валюта платёжной системы
            [fee] =>Array
            (
                [percent] => 0 – комиссия системы в%
                [const] => 0–абсолютная комиссия системы (добавляется к комиссии в %)
                [curr] =>RUR – валюта абсолютной комиссии
            )

            [pay_charge_const] => 0 – величина абсолютной комиссии
            [pay_charge_percent] => 0 – величина процентной комиссии
            [pay_amount] => 3,342.50 р. – форматированная итоговая цена заказа, с учётом комиссии платёжной системы
            [amount] => 3342.50 – неформатированная итоговая цена заказа, с учетом комиссии платёжной системы в валюте currency
        )
        [rbk] => Array
        (
            [currency] => RUR
            [fee] => Array
            (
                [percent] => 0
                [const] => 25
                [curr] => RUR
            )

            [pay_charge_const] =>  +25.00 р.
            [pay_charge_percent] =>
            [pay_amount] => 3,367.50 р.
            [amount] => 3367.50
        )
        [google] => Array
        (
            [currency] => RUR
            [fee] => Array
            (
                [percent] => 0.5
                [const] => 0
                [curr] => RUR
            )

            [pay_charge_const] =>
            [pay_charge_percent] => +0.5%
            [pay_amount] => 3,359.21 р.
            [amount] => 3359.21
        )
)

Пример кода:
AMI.$.ajax({
    url: ami_service.php",
    data: {
        service: "eshop_order",
        action: "get_order_cost",
        json_data: JSON.stringify(aCartShippings)
    }
}).done(function(content){
    window.priceAjaxResponce = JSON.parse(content);
});

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API) Документация для скачивания
 2000 – 2011 © Amiro.CMS Все права защищены.