Перейти к содержанию

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

Web API

Скачать/Купить дополнение

Небольшой модуль для OpenCart 1.5.3+, позволяющий получать данные о товарах и категориях из интернет магазиа в формате JSON. Дальше эти данные можно использовать для чего угодно, к примеру, для вывода товаров из магазина на другом своем сайте.

Собственно, модуль в первую очередь расчитан на разработчиков. Первая версия умеет:

  • Получать список категорий
  • Получать список товаров в категории
  • Получать полную информацию о товаре

Патчи приветствуются. Исходные коды доступны на GitHub: https://github.com/ethernet1/opencart-webapi. Документация на английском с примерами находится внутри архива. Там же можно найти ссылку на русскую документацию.

P.S. В админке модуль находится в разделе Дополнения > Каналы продвижения.


 

  • +1 8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в доках (https://github.com/ethernet1/opencart-webapi/blob/master/README.md) в примерах нет инфы про API_KEY в запросе.

есть только упоминание API_KEY в описании обработки ошибок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А на тебе жмяк в карму, мил человек. А оценку модулю не ставлю - как потестю так и выскажу)

P.S. А сообщение это тут оставляю для себя - чтобы "обратный путь" найти, когда понадобится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zenwalker, а возможна адаптация под Яндекс Острова?

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zenwalker, а возможна адаптация под Яндекс Острова?

Если написано как в описании, то почему нет, ведь данные все о товаре передаёт, да и о категориях.

А Вы попробуйте и расскажите)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогите новичку! В модуле Web Api требует ключ,подскажите что это за ключ и где его найти.Заранее благодарен всем отозвавшимся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

придумываете и задаете в админке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

придумываете и задаете в админке

Спасибо :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Документация кривая, так и не нашел как передать API_KEY, где указать нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Документация кривая, так и не нашел как передать API_KEY, где указать нашел.

нашел, просто нужно в строке передать key= ключик указанный в настройках web api фида

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как получить еще и URL товара? У меня включены SEO URL

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Скажите, а может кто-нибудь доработать этот модуль, чтобы у него появилась функция создавать и сохранять заказ в базе?

Спасибо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Скажите, а может кто-нибудь доработать этот модуль, чтобы у него появилась функция создавать и сохранять заказ в базе?

Спасибо?

 

Есть модуль, но платный http://opencart-api.com/

 

Походже что он единственный в своей роде для CRUD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В модуле ошибка с картинками товара. И с именами тегов маленькие опечатки)

Исправления:

 
foreach ($additional_images as $additional_image) {
$images[] = $this->model_tool_image->resize($additional_image['image'], $this->config->get('config_image_additional_width'), $this->config->get('config_image_additional_height'));
}
 
Форкнул на гитхабе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть модуль, но платный http://opencart-api.com/

 

Походже что он единственный в своей роде для CRUD.

 

Смотреть надо здесь

https://github.com/opencart/opencart/blob/master/upload/catalog/controller/api/cart.php

 

 

Надо только $this->request->post['product_id']) забирать по другому. А так работает. Тоже хотел расширить API в этом направлении

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

За модуль огромное спасибо.

 

Опечатка в коде: строка 114 в catalog\controller\feed\web_api.php  'pirce' вместо 'price'.  Модуль скачивал с GitHub

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как она работает ?

1) Залил на сайт.

2) Дополнения > Каналы продвижения  (включил, вставил api)

3) ???
Не загружает товары с сайта 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Документация кривая, так и не нашел как передать API_KEY, где указать нашел.

Аналогично! Напишите пожалуйста понятнім язіком где взять єтот ключь? если просто прописать  то как его вызвать? по всем ссылкам получаю {"success":false,"code":20,"message":"Invalid secret key"} 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтоб не было проблем с урлами надо это:

 

 

private function getCategoriesTree($parent = 0, $level = 1) {
$this->load->model('catalog/category');
$this->load->model('tool/image');


$result = array();


$categories = $this->model_catalog_category->getCategories($parent);


if ($categories && $level > 0) {
$level--;


foreach ($categories as $category) {


if ($category['image']) {
$image = $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
} else {
$image = false;
}


$result[] = array(
'category_id'   => $category['category_id'],
'parent_id'     => $category['parent_id'],
'name'          => $category['name'],
'image'         => $image,
'href'          => $this->url->link('product/category', 'category_id=' . $category['category_id']),
'categories'    => $this->getCategoriesTree($category['category_id'], $level)
);
}


return $result;
}
}
Заменить на это:
 
private function getCategoriesTree($parent = 0, $level = 1, $current_path = '') {
        $this->load->model('catalog/category');
        $this->load->model('tool/image');


        $result = array();


        $categories = $this->model_catalog_category->getCategories($parent);


        if ($categories && $level > 0) {
            $level--;


            foreach ($categories as $category) {
                if (!$current_path) {
                    $new_path = $category['category_id'];
                } else {
                    $new_path = $current_path . '_' . $category['category_id'];
                }


                if ($category['image']) {
                    $image = $this->model_tool_image->resize($category['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
                } else {
                    $image = false;
                }


                $result[] = array(
                    'category_id' => $category['category_id'],
                    'parent_id' => $category['parent_id'],
                    'name' => $category['name'],
                    'image' => $image,
                    'href' => $this->url->link('product/category', 'path=' . $new_path),
                    'categories' => $this->getCategoriesTree($category['category_id'], $level)
                );
            }


            return $result;
        }
    }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня. Данные экспортируются в json формат. Документации правда не нашел по ссылкам. А вопрос такой: можно ли импортировать эти данные в другой сайт на опен карте? И собственно как? Подскажите хотя бы направление куда двигаться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нашел, просто нужно в строке передать key= ключик указанный в настройках web api фида

Привет!

Подскажи пожалуйста где указать это ключик надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго дня. Данные экспортируются в json формат. Документации правда не нашел по ссылкам. А вопрос такой: можно ли импортировать эти данные в другой сайт на опен карте? И собственно как? Подскажите хотя бы направление куда двигаться?

Да собственно нужен модуль чтобы получать(обрабатывать) эти данные на другом сайте

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да собственно нужен модуль чтобы получать(обрабатывать) эти данные на другом сайте

Список главных категорий я получаю через этот код:

<?php
$jsonString = file_get_contents("http://ваш домен/index.php?route=feed/web_api/categories&parent=0&level=2&key=ваш ключ");

$api_shop = json_decode( $jsonString, true );

for ($i = 0; $i < count($api_shop['categories']); $i++)
  { 
    echo ('<a href="' . $api_shop['categories'][$i]['href'] . '" title="' . $api_shop['categories'][$i]['name'] . '" style="font-size:16px;">' . $api_shop['categories'][$i]['name'] . '</a><br/>');
  }
?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен клиент обработчик ответов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто смог добавить в API отображение похожих товаров? Опишите как это сделать пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Mishan
      Здравствуйте. Работаю над интеграцией API, первый такой опыт. Есть пункт, в котором написано "В теле запроса передаётся контракт в формате JSON, описывающий новый счет". Как я понимаю, в запросе, который я отправляю для авторизации на сайт в котором необходимо отправлять данные, я должен передавать body в формате json.
      Пример запроса:
      Body: 

          "Number": "аб324",  
          "Date": "2014-02-07T00:00:00.000Z", 
          "WithNds": true, 
          "SumsWithNds": true, 
          "Comment": "test comment", 
          "BankAccount": { 
            "AccountNumber": "40802810363030003088", 
            "Bank": { 
              "Name": "ОАО \"БАНК\"", 
              "Bik": "23424", 
              "City": "МОСКВА", 
              "CityType": "Г.", 
              "CorrAccount": "2342342342342342" 
            }  
       
      Как это можно реализовать? Спасибо!
    • От RamilBgd
      Всем привет!
       
      Скажите пожалуйста, кто работал с модулем RESTful для OpenCart. Где можно найти пример работы с этим модулем и описание всех методов?
      Так же хотел поинтересоваться, какие бывают аналоги этого модуля? может есть что-то бесплатное и такое же функциональное?
    • От RamilBgd
      Всем привет!
       
      Помогите пожалуйста с установкой модуля RESTful API (https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=15445)
      В архиве под названием upload находится следующая структура папок:

      admin
          controller
                feed
          language
                feed
          view
                feed
       
      catalog
          controller
                feed
       
      В инструкции по установке говорится:
      "2. Upload the "catalog" & "admin" folder to your opencart installation folder"
       
      Тут мне не совсем понятно, о какой установочной папке идет речь?
      Правильно я понимаю, что нужно папки feed перенести в одноименные папки в соответсвии со структурой каталогов на сервере? Скопировал, но это не сработало, модуль не виден из админки.

      Подскажите пожалуйста как мне правильно установить данный модуль?
      Вот инструкция по установке, но линя я не правильно делаю что-то, либо инструкция не соответствует действительности

      1. Navigate to your opencart root folder using an FTP program
      2. Upload the "catalog" & "admin" folder to your opencart installation folder
      3. Go to your admin area in Extensions->Product Feeds and enable your REST API extension
         You have to fill the security key field (eg. 12345 or anything else)
         You have to use this key in your REST URLs, eg:
        http://example.com/orders/key/12345
        http://example.com/products/key/12345
    • От php5
      * вероятно OC 2.2. я его не ковырял, жду комментариев исполнителя относительно целесообразности.
       
      ТЗ
      есть магазин на 2.1 (пока на 1.5, но всё это дело конвертну аккуратно) есть МС, из OC туда попадают заказы через одно место надо так:
      остатки и цены в магазине, МС забирает их из OC
      при создании заказа в МС, заказанный товар вычитается со склада в OC
      при изменении статуса в МС, он же меняется в ОС, придётся подружить это с почтовым респондером видимо Advanced Professional Email Template  или предложите аналог (т.е. почтовые события должны иметь связь с изменением статуса заказа)
      если в OC поменяли статус заказа, в МС тоже поменялся
      покупатель из ОС заводится в МС, в обратном порядке нет надо как-то победить дубли номеров заказов 1254 (2,3,) и прочуую фигню в МС если заказы создаются в МС. Я однажды победил, но забыл где и как... Жесть. дублей в спраочнике товаров не должно быть такие дела
    • От zenwalker
      Небольшой модуль для OpenCart 1.5.3+, позволяющий получать данные о товарах и категориях из интернет магазиа в формате JSON. Дальше эти данные можно использовать для чего угодно, к примеру, для вывода товаров из магазина на другом своем сайте.
      Собственно, модуль в первую очередь расчитан на разработчиков. Первая версия умеет:
      Получать список категорий
      Получать список товаров в категории
      Получать полную информацию о товаре

      Патчи приветствуются. Исходные коды доступны на GitHub: https://github.com/ethernet1/opencart-webapi. Документация на английском с примерами находится внутри архива. Там же можно найти ссылку на русскую документацию.
      P.S. В админке модуль находится в разделе Дополнения > Каналы продвижения.
  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.