View Single Post
  #12  
Old 12-23-2011, 01:53 PM
Eugene Rimmer's Avatar
Eugene Rimmer Eugene Rimmer is offline
Senior Member
 
Join Date: Jan 2011
Location: Ecwid headquarters
Posts: 7,765
Default

Quote:
Originally Posted by C1 Developer View Post
gorbachev.sasha, а какую 10-ую или 11-ую?
Throrka, а Вы какую конфигурацию используете (ли)?

Полноценную интеграцию сделать не получится, потому что ecwid-api позволяет только забирать данные, а вот "вкачивать" не позволяет. Импорт товаров из CSV не поддерживается на уровне API, и в описании нет ни слова о том, как в CSV "засунуть" параметры и их комбинации (то что в 1С называется характеристики номенклатуры) - это позволило бы хотя бы готовить csv.
Объективности ради, стоит добавить, что если вы используете каталог товаров без характеристик, то csv генерить можно. Можно также сгенерить csv и для всех характеристик (но это увеличит вашу базу во много раз - и можно достигнуть ограничения в 20000 товаров).

Заказы, кстати, можно забирать.
Программный импорт продуктов в Эквид (включая и обновляющий импорт, когда новые продукты не создаются, а обновляются поля существующих) сделать всё-таки можно - для этого нужно эмулировать работу формы импорта продуктов из панели управления Эквида, отправляя данные POST-запросом на тот же адрес и в том же формате, что и форма (адрес различается для каждого владельца магазина). Однако здесь есть несколько важных НО:

1. Во-первых это недокументированная возможность Эквида, поведение может измениться со временем и мы не можем гарантировать обратную совместимость. Когда мы реализуем документированный API, позволяющий менять товары внешними запросами, мы будем поддерживать и обратную совместимость этого API.

2. Формат запроса должен в точности соответствовать тому, что отправляет браузер при попытке импорта через панель управления (включая настройки колонок). Ошибка в самом формате запроса заставит сервер вернуть ошибку, если же вы передадите настройки импорта, не соотствествующие содержимому файла, импорт в лучшем случае не пройдет, в худшем испортит поля товаров в этом магазине (например, никто не обрадуется, что вместо описаний у товаров стоит цена).

3. Для авторизации система импорта ожидает в этом запросе также куку с названием 'token' и содержимым вида 'логин:пароль' (используется HTTPS соединение, так что подслушать их не могут). Неавторизованный запрос (без куки или с неправильной кукой) не будет удовлетворен.

4. Даже когда все условия запроса удовлетворены, запрос никак не сигнализирует о состоянии импорта - присланный файл ставится в очередь и импортируется по мере возможности. Ваше приложение не сможет знать, что импорт окончен.

Если вышеописанные сложности не пугают, импорт продуктов вполне возможен. В любом случае, с введением API позволяющего изменять продукты, все эти сложности отпадут.