Перейти к содержанию
  • 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'
        }
    )

     



×
×
  • Создать...