| ||||||||||
Shopping cart software Solutions for online shops and malls | ||||||||||
|
X-Cart Home | FAQ | Forum rules | Calendar | User manuals | Login |
REST API Module: need to extend the functionality | |||
|
|
Thread Tools | Search this Thread |
#1
|
|||||||||
|
|||||||||
REST API Module: need to extend the functionality
Добрый день!
Я крайне внимательно изучил документацию по REST API Module, но вот что никак не могу понять - подобный функционал нужен для чего... очевидно что для обмена информацией между БД X-Cart и другими приложениями. И я не могу понять - как мне понять, какая информация изменялась и/или вобще может быть запрошена? get запросы по ID - не просто неудобно, это вообще ставит крест всей идее. Вот, например, по итогам дня мне нужно синхронизировать базы на сайте и в моем оффлайновом бухгалтерском приложении. И как мне понять, какие order_ID запрашивать? Мало того, что последний ID неизвестен - эти ID вовсе необязательно идут по порядку (заказы могли быть удалены). Мне кажется (нечто подобное реализовано у нас в ФНС, где я работаю), нужен какой то универсальный метод, который по имени сущности и одному из параметров (например диапазон дат или ID) - должен отдавать клиенту список доступных ID. Понятно, что самостоятельно (с Вашей помощью) или обратившись к более опытным разработчикам, я смогу реализовать подобное для моего сайта, но имхо это нужно всем, чтобы REST API действительно можно было пользоваться. Спасибо! |
|||||||||
#2
|
|||||||||
|
|||||||||
Re: REST API Module: need to extend the functionality
Здравствуйте!
Я правильно понимаю, что вам надо выдергивать заказы по датам? Если да, то это можно реализовать через текущий РЕСТ АПИ. Скажите, пожалуйста, какую именно выборку заказов вы хотите делать и я скажу, какой запрос надо делать.
__________________
Found a bug in X-Cart? Post it to our bug tracker! Know how to make X-Cart better? Suggest an idea! |
|||||||||
#3
|
|||||||||
|
|||||||||
Re: REST API Module: need to extend the functionality
tony_sologubov, Спасибо за ответ!
В таком случае я (и, уверен, многие мои коллеги) буду благодарен Вам, если Вы вместо ответа мне просто, когда у Вас найдется время, дополните уже имеющуюся у Вас на сайте документацию по РЕСТ АПИ, расположенную на странице http://kb.x-cart.com/display/XDD/REST+API+documentation Да, на данном этапе мне нужно выдергивать заказы по датам. Так когда то вышло, что вместо известного всем нам 1С мне пришлось писать свое приложение со сходным функционалом, и теперь для синхронизации данных между БД X-Cart и БД моего приложения у меня два пути - или напрямую лезть в базу и выдергивать своими скриптами все что мне нужно или попытаться использовать готовые модули (что как мне кажется правильнее). Соответственно, как минимум, мне нужно читать из X-Cart новые изменившиеся, с момента последнего чтения, заказы. |
|||||||||
#4
|
|||||||||
|
|||||||||
Re: REST API Module: need to extend the functionality
Здравствуйте!
Извините, что долго не отвечал. Последние две недели вышли очень загруженными и я не заглядывал на форум. Ниже пример запроса, который будет выдергивать заказы, которые были оформлены с 01-01-2014 (1388534400 unix timestamp) по 01-01-2015 (1420070400 unix timestamp) Code:
При этом запросе, Икс-Карт начинает использовать функцию prepareCndDate() из класса \XLite\Model\Repo\Order, чтобы отсеить нужные записи. Как я понимаю, это не совсем то, что вам надо, потому что вам надо дергать заказы по дате последнего изменения, а не по дате оформления. В этом случае, вам надо создать свой модуль, которые добавит новый prepareCnd%() метод, который будет работать с lastRenewDate полем таблицы заказов, вместо поля date. Пример создания такого метода тут: http://kb.x-cart.com/display/XDD/search%28%29+method После создания этого метода в классе \XLite\Model\Repo\Order, в запросе вы сможете указывать, что он должен запуститься для фильтрации (например, как _cnd[date][0]=1388534400&_cnd[date][1]=1420070400) и таким образом получите нужную выборку. Если я что-то недостаточно объяснил, то дайте, пожалуйста, знать. Антон.
__________________
Found a bug in X-Cart? Post it to our bug tracker! Know how to make X-Cart better? Suggest an idea! |
|||||||||
#5
|
|||||||||
|
|||||||||
Re: REST API Module: need to extend the functionality
Большое спасибо за ответ!!!
Теперь мне все ясно, и создание произвольных выборок больше не будет представлять для меня сложности. Вынужден признать, что без документации и Вашей помощи сам бы я никогда до этого не докопался Подскажите пожалуйста, а судя по коду модуля, я же могу запрашивать данные не только в формате Json но и сразу Xml? |
|||||||||
#6
|
|||||||||
|
|||||||||
Re: REST API Module: need to extend the functionality
Да, чтобы получать данные в XML, то HTTP_ACCEPT заголовок запроса должен быть передан как "application/xml".
Кроме того, если вы будете делать модуль надстройки над РЕСТ АПИ, то там сможете задать какое-то иное условие, по которому результаты будут выводить как XML.
__________________
Found a bug in X-Cart? Post it to our bug tracker! Know how to make X-Cart better? Suggest an idea! |
|||||||||
|
|||
X-Cart forums © 2001-2020
|