Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

API в OpenCart


Рекомендуемые сообщения

API

Для использования OpenCart API вы должны предварительно включить его в административной части вашего сайта.
Перейдите в Система > Пользователи > API, и вы увидите пользователя, созданного по умолчанию, с API Username "Default".
При добавлении нового пользователя по умолчанию не будет никакого API-ключа, его необходимо с генерировать, нажав на кнопку "Генерировать" и установив "Статус" в положение "Включено.
Затем добавьте свой IP-адрес в список разрешенных для доступа к API на вкладке "IP адрес".

API доступен через URL-адрес, такой, как

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

где в параметре route указывается нужный контроллер.

Примечание:

  • У API пользователей поле customer_id всегда  '0'. У них есть свой собственный api_id.
  • Для примеров использована библиотека python-requests, но основная идея заключается в описании параметров, поэтому console curl будет достаточно.
  • И в описаниях предполагается, что у нас есть префикс "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-ответ с помощью api_token для вашего сеанса. Проверьте страницу API в административной части сайта, нажмите "Редактировать" на пользователе API и откройте вкладку "Сессия" - там вы можете увидеть установленную сессию.

Что вы можете сделать с OpenCart API?

Логин - Вход

api/login

Создание сессии для пользователя API по ключу PARAMS:

DATA:
username: username из таблицы oc_api
key: key из 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 из таблицы 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 из таблицы oc_cart
quantity: quantity из таблицы oc_cart
option: option array из  таблицы 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 из таблицы oc_cart
quantity: quantity из таблицы 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 из таблицы 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 из таблицы 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':'customer@example.com',
    'telephone':'+1 879 2548022'}
    }
)

Подарочные сертификаты

api/voucher

ОПИСАНИЕ: применить существующий подарочный сертификат
PARAMS:
api_token
DATA:
voucher: code из таблицы 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 из таблицы oc_voucher
from_email: from_email из таблицы oc_voucher
to_name: to_name из таблицы oc_voucher
to_email: to_email из таблицы oc_voucher
amount: amount из таблицы oc_voucher в выбранной валюте
code: code из таблицы 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':'admin@example.com'
        'to_name':'Dear Customer'
        'to_email':'customer@example.com'
        '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

ОПИСАНИЕ: возврат доступных способов доставки
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:
EXAMPLE:

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

 

Ссылка на комментарий
  • Это тема был закреплено и закрыто
  • тема был открыт

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...