Категории

API

API

Для использования OpenCart API Вы должны включить его предварительно через административную часть Вашего сайта.
Отредактируйте его - и у Вас нет API-ключа, поэтому сгенерируйте его, нажав кнопку и установив «Статус» для включения.
Затем добавьте свой IP-адрес в список разрешенных для доступа API на другой вкладке..

API доступен через URL, например

http://myopencart.example.com/index.php?route=api/cart/add

где используется маршрут, выберите соответствующий контроллер.

ЗАМЕТКИ:

  • Пользователи API всегда имеют customer_id как «0». И иметь свой собственный api_id.
  • Для этих примеров я буду использовать библиотеку Python-запросов, но основная идея заключается в описании параметров, поэтому сгибание консоли будет достаточно хорошим.
  • И в описаниях я буду предполагать, что у нас есть префикс "oc_" в таблицах БД.

Во-первых, Вы можете и обязательно должны получить токен для своей сессии - Вы получите файл 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/login

Установление сеанса для пользователя 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
    }
)

Валюта

api/currency

ОПИСАНИЕ: изменить валюту сессии
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'}
)

Корзина

api/cart/add

ОПИСАНИЕ: добавление товара в корзину
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'
    }
)

api/cart/edit

ОПИСАНИЕ: изменить количество товара в корзине
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'
    }
)

api/cart/remove

ОПИСАНИЕ: удаление товара из корзины
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'
    }
)

api/cart/products

ОПИСАНИЕ: содержимое корзины
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/cart/products',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={}
)

Купон

api/coupon

ОПИСАНИЕ: применить существующий купон
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'
    }
)

Клиент

api/customer

ОПИСАНИЕ: установить клиента для текущей сессии
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'}
    }
)

Сертификат

api/voucher

ОПИСАНИЕ: применить существующий сертификат
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'
    }
)

api/voucher/add

ОПИСАНИЕ: добавить новый ваучер для текущей сессии
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'
    }
)

Доставка

api/shipping/address -

ОПИСАНИЕ: установить адрес доставки для текущего сеанса
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'
    }
)

api/shipping/methods

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'},
)

api/shipping/method

ОПИСАНИЕ: установить способ доставки для текущего сеанса
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'
    }
)

Награда

api/reward

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/reward',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

api/reward/maximum

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/reward/maximum',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

api/reward/available

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/reward/avaliable',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

Заказ

api/order/add

ОПИСАНИЕ: новый заказ по содержимому корзины и информации об оплате / доставке был установлен в текущем сеансе
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/order/add',
  params={'api_token':'768ef1810185cd6562478f61d2'},
)

api/order/edit

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/order/edit',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

api/order/delete

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/order/delete',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

api/order/info

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/order/info',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

api/order/history

ОПИСАНИЕ:
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/order/history',
  params={'api_token':'768ef1810185cd6562478f61d2'},
  data={
    }
)

Оплата

api/payment/address

ОПИСАНИЕ: установить адрес оплаты для этого сеанса
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'
    }
)

api/payment/methods

ОПИСАНИЕ: возврат доступных способов оплаты
PARAMS:
api_token
DATA:
ПРИМЕР:

session.post(
    'http://myopencart.example.com/index.php?route=api/payment/methods',
  params={'api_token':'768ef1810185cd6562478f61d2'},
)

api/payment/method

ОПИСАНИЕ: настройка способа оплаты доступна в 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'
    }
)