Для использования OpenCart API Вы должны включить его предварительно через административную часть Вашего сайта.
Отредактируйте его - и у Вас нет API-ключа, поэтому сгенерируйте его, нажав кнопку и установив «Статус» для включения.
Затем добавьте свой IP-адрес в список разрешенных для доступа API на другой вкладке..
API доступен через URL, например
http://myopencart.example.com/index.php?route=api/cart/add
где используется маршрут, выберите соответствующий контроллер.
Во-первых, Вы можете и обязательно должны получить токен для своей сессии - Вы получите файл cookie, и сервер OpenCart определит активность таким образом.
import requests
s = requests.Session()
username = 'Default'
key='L3MYyzlYMRL8gBcpCm6CdrVarFUXtPORZkJKP7vgaY8M8EIZWOr3EJxq'
# Actually, key is 256 character-long
s.post(
'http://myopencart.example.com/index.php?route=api/login',
data={'username':username, 'key':key}
).text
Если все было сделано правильно, Вы получите json-response с маркером api для Вашей сессии. Проверьте страницу API администратора сайта, отредактируйте пользователя API и откройте вкладку «Сеансы» - Вы можете увидеть установленный сеанс.
Теперь, что Вы можете сделать с OpenCart API?
Установление сеанса для пользователя API по ключу
PARAMS:
DATA:
username:username from oc_api
key:key from oc_api
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/shipping/address',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'username':username,
'key':key
}
)
ОПИСАНИЕ: изменить валюту сессии
PARAMS:
api_token
DATA:
currency:code from table oc_currency
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/currency',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={'currency':'USD'}
)
ОПИСАНИЕ: добавление товара в корзину
PARAMS:
api_token
DATA:
product_id:product_id from table oc_cart
quantity:quantity from table oc_cart
option:option array from table oc_cart
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/cart/add',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'product_id':'100'
'quantuty':'1'
}
)
ОПИСАНИЕ: изменить количество товара в корзине
PARAMS:
api_token
DATA:
key:cart_id from table oc_cart
quantity:quantity from table oc_cart
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/cart/edit',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'key':'10'
'quantuty':'2'
}
)
ОПИСАНИЕ: удаление товара из корзины
PARAMS:
api_token
DATA:
key:cart_id from table oc_cart
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/cart/remove',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'key':'10'
}
)
ОПИСАНИЕ: содержимое корзины
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/cart/products',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={}
)
ОПИСАНИЕ: применить существующий купон
PARAMS:
api_token
DATA:
coupon:code from oc_coupon;
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/coupon',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'coupon':'2222'
}
)
ОПИСАНИЕ: установить клиента для текущей сессии
PARAMS:
api_token
DATA:
firstname:
lastname:
email:
telephone:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/customer',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'firstname':'Dear',
'lastname':'Customer',
'email':'[email protected]',
'telephone':'+1 879 2548022'}
}
)
ОПИСАНИЕ: применить существующий сертификат
PARAMS:
api_token
DATA:
voucher:code from oc_voucher;
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/voucher',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'voucher':'VOU-7271'
}
)
ОПИСАНИЕ: добавить новый ваучер для текущей сессии
PARAMS:
api_token
DATA:
from_name:from_name from oc_voucher
from_email:from_email from oc_voucher
to_name:to_name from oc_voucher
to_email:to_email from oc_voucher
amount :amount from oc_voucher in selected currency
code :code from oc_voucher
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/voucher/add',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'from_name':'MyOpenCart Admin'
'from_email':'[email protected]'
'to_name':'Dear Customer'
'to_email':'[email protected]'
'amount':'100'
'code':'VOU-7177'
}
)
ОПИСАНИЕ: установить адрес доставки для текущего сеанса
PARAMS:
api_token
DATA:
firstname
lastname
address_1
city
country_id
zone_id
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/shipping/address',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'firstname':'Customer',
'lastname':'Dear',
'address_1':'Somewhere',
'city':'KLD',
'country_id':'RUS',
'zone_id':'KGD'
}
)
DESCRIPTION:returning avaliable shipping methods
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/shipping/methods',
params={'api_token':'768ef1810185cd6562478f61d2'},
)
ОПИСАНИЕ: установить способ доставки для текущего сеанса
PARAMS:
api_token
DATA:
shipping_method
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/shipping/method',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'shipping_method':'pickup.pickup'
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/reward',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/reward/maximum',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/reward/avaliable',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ: новый заказ по содержимому корзины и информации об оплате / доставке был установлен в текущем сеансе
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/order/add',
params={'api_token':'768ef1810185cd6562478f61d2'},
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/order/edit',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/order/delete',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/order/info',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/order/history',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
}
)
ОПИСАНИЕ: установить адрес оплаты для этого сеанса
PARAMS:
api_token
DATA:
firstname
lastname
address_1
city
country_id
zone_id
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/payment/address',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'firstname':'Customer',
'lastname':'Dear',
'address_1':'Somewhere',
'city':'KLD',
'country_id':'RUS',
'zone_id':'KGD'
}
)
ОПИСАНИЕ: возврат доступных способов оплаты
PARAMS:
api_token
DATA:
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/payment/methods',
params={'api_token':'768ef1810185cd6562478f61d2'},
)
ОПИСАНИЕ: настройка способа оплаты доступна в api/payment/methods
PARAMS:
api_token
DATA:
payment_method
ПРИМЕР:
session.post(
'http://myopencart.example.com/index.php?route=api/payment/method',
params={'api_token':'768ef1810185cd6562478f61d2'},
data={
'payment_method':'bank_transfer'
}
)