Описание процесса работы API
Общение вашего магазина с системой происходит с помощью протокола SOAP.
Все запросы отправляются на сервер http://www.anycent.com/API/cart/.
Чтобы отправить запрос, необходимо авторизироваться через заголовок запроса.
Для этого следует добавить в заголовок SOAP запросов следующие поля:
login= API username (задается в панели управления магазином)password= API password (задается в панели управления магазином)httpAuthType= "Basic"
Для того, чтобы сформировать заказ вам нужно:
- Сформировать уникальный идентификатор покупателя (обычно ID сессии). Все дальнейшие действия будут производиться для формирования заказов покупателю с этим идентификатором
- Добавить товары в корзину системы (
addProduct) - Получить стоимость доставки (
getShippingByProducts) - Проверить баланс покупателя (
checkStoreCredit) - Проверить скидку по купону (
checkCouponCode) - На основе предыдущих шагов посчитать итоговую сумму заказа по формуле:
[стоимость товаров в корзине] + [стоимость доставки] - [скидка] - [баланс покупателя]
В том случае если итоговая сумма меньше 0, т.е. баланс покупателя больше суммы заказа, то покупатель ничего не платит, а после оформления (saveOrder) его заказ будет помечен как оплаченный - Добавить адрес доставки заказа (
addShippingAddress) - Сформировать заказ (
saveOrder), получить ссылку на оплату заказа - Отправить пользователю ссылку, где он сможет произвести оплату
- Проверить оплату заказа (
checkPayment). После проверки отметить заказ в магазине как оплаченый
Список доступных функций:
addProduct- добавление, измение или удаление товаров из корзины на ACgetShippingByProducts- возврат стоимости доставки в разные стран товаров в корзинеaddShippingAddress- сохранение адреса доставки покупателяsaveOrder- оформление заказаcheckPayment- проверка оплаты заказаcheckCouponCode- проверка скидки по купонуcheckStoreCredit- проверка кредита покупателяgetPaymentGates- возвращение списка доступных платежных систем
addProduct
Добавить, удалить или изменить количество товаров в корзине.
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
Уникальный идентификатор покупателя , обычно session_id |
id_product |
Идентификатор цены товара (ВАЖНО, это не id товара, а id цены) |
price |
Цена товара |
count_products |
Количество товара; 0 - удаление товара из корзины |
| Результат выполнения | |
status |
Результат выполнения: ok, error |
message |
Возвращение текста ошибки если результат = error |
getShippingByProducts
Возвращение стоимости доставки товаров в корзине покупателя
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
Уникальный идентификатор покупателя, обычно session_id |
| Результат выполнения | |
status |
Результат выполнения: ok, error |
message |
Возврат текста ошибки |
countries |
Массив объектов стран (ShippingCountryPrice) со ценой доставки, в которые она возможна |
countries->ShippingCountryPrice |
обьект доставки в страну, состоит из:
|
addShippingAddress
Добавление адреса доставки для текущего заказа
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
address |
адрес |
address2 |
адрес 2 |
country |
2ух буквенный код страны |
city |
город |
state |
штат/район/округ |
zip |
почтовый код |
phone1 |
телефон |
phone2 |
телефон 2 |
fname |
имя |
lname |
фамилия |
email |
- |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
возврат текста ошибки |
saveOrder
Формирование заказа в системе. Сверка всех сумм, участвующих в формировании заказа.
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
id_order |
уникальный идентификатор заказа в магазине |
price_total |
итоговая стоимость заказа |
shipping_price |
стоимость доставки |
user_comment |
комментарий к заказу |
discount_total |
сумма скидки |
coupon_code |
код скидки |
ip |
IP адрес покупателя |
bill_prop |
системное имя платежной системы с помощью которой будет совершена оплата |
back_url |
ссылка по которой покупатель будет возвращаться в магазин с сайта платежной системы (обычно - на страницу проверки оплаты с помощью checkPayment) |
shipping_method |
id выбранного метода доставки заказа |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
если status=ok - возвращает ссылку по которой пользователь должен перейти чтобы оплатить заказ, если status=error - возвращает текст ошибки |
checkPayment
Проверка факта оплаты заказа.
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
id_order |
id заказа в магазине |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
возвращает текст ошибки если результат = error |
add_fld |
варианты: paid/not paid |
checkCouponCode
Проверка скидки по введенному купону. Возвращает сумму скидки, если есть.
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
coupon_code |
код |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
возврат текста ошибки, если результат = error |
add_fld |
сумма скидки |
checkStoreCredit
Проверка баланса покупателя по e-mail адресу. Возвращает сумму баланса, если есть.
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
email |
email покупателя |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
возвращает текст ошибки если результат = error |
add_fld |
баланс покупателя |
getPaymentGates
Возвращает список платежных систем доступных для оплаты товара в магазине
| Аргументы функции | |
|---|---|
id_shop |
ID магазина |
id_buyer |
уникальный идентификатор покупателя, обычно session_id |
| Результат выполнения | |
status |
результат выполнения: ok, error |
message |
возвращает текст ошибки если результат = error |
gates |
массив обьектов доступных платежных систем (PaymentGate) |
gates->PaymentGate |
обьект платежной системы, состоит из:
|
Пример использования SOAP на php5
Пример функции для вызова SOAP методов
function callSOAPMethod($method_name, $data){
$client = new SoapClient(null, array("location" => WSDL, # ссылка на API
"uri" => 'http://test-uri',
"exceptions" => 0,
"login" => SHOP_LOGIN, # API username
"password" => SHOP_PASSWORD, # API password
"httpAuthType" => "Basic"));
$to_send = array();
$to_send[] = new SoapParam(SHOP_ID,'id_shop'); # shop ID
$to_send[] = new SoapParam(session_id(),'id_buyer'); # уникальный идентификатор кастомера (обычно SESSION_ID)
foreach($data as $k=>$v){
$to_send[] = new SoapParam($v,$k);
}
return call_user_func_array(array($client, $method_name), $to_send);
}
Пример использования функции - добавление товара в корзину системы
$res = callSOAPMethod('addProduct', array("id_product" => "222", # идентификатор цены товара
"price" => "99.99", # стоимость товара
"count_products" => "3")); # количество
if($res->status == 'ok'){
# добавляем товар в корзину магазина
} else {
echo $res->message; exit; # выводим ошибку
}

ICQ: 599691561
доставка сообщений в оффлайн-режим не гарантируется.