Как интегрироваться с InSales — различия между версиями
Vb (обсуждение | вклад) м (→Введение) |
Vb (обсуждение | вклад) (→Введение) |
||
Строка 4: | Строка 4: | ||
Кроме того, есть механизм позволяющий другим пользователям подключить написанную Вами интеграцию нажатием одной кнопки. | Кроме того, есть механизм позволяющий другим пользователям подключить написанную Вами интеграцию нажатием одной кнопки. | ||
− | Это механизм называется приложениями. | + | Это механизм называется [[Расширение системы с помощью приложений|приложениями]]. |
=Протокол обмена данными= | =Протокол обмена данными= |
Версия 19:47, 27 сентября 2010
Содержание
Введение
Для того чтобы интегрироваться с InSales есть API позволяющее создавать, читать и удалять объекты бек-офиса. Также есть механизм для оповещения внешних систем о событиях.
Кроме того, есть механизм позволяющий другим пользователям подключить написанную Вами интеграцию нажатием одной кнопки. Это механизм называется приложениями.
Протокол обмена данными
Обмен данными происходит по протоколу HTTP, данные передаются в формате xml. Более подробно о командах API
Авторизация
Для авторизации используется Basic Authorization. Для получения логина и пароля зайдите в бек-офисе в раздел Настройки -> Приложения.
Внизу раздела будет ссылка на подраздел для разработчиков.
В разделе для разработчиков вам надо нажать кнопку создать приложение
и вам сгенерируют реквизиты для доступа к API
Оповещение о событии
Для оповещения о событиях, в InSales есть webhook-и: для определенных событий по заданному HTTP адресу отправляется POST запрос. В теле запроса в xml формате передается объект, с которым связанно событие. Для того чтобы оповещение заработало, надо через API установить обработчик, для событий соответствующего типа. Пока доступны два типа событий: создание и изменение заказа.
Создание приложения
Добавление приложения
Для того чтобы разместить кнопку для установки приложения надо получить согласие от администрации и сообщить ей:
- Название приложения (будет показываться в списке приложений)
- Идентификатор приложения (должен состоять из латинских букв и цифр, используется для авторизации)
- Секретный ключ приложения (он не должен быть никому известен, используется для установки приложения)
- Текст краткого описания приложения (в html формате, будет показываться в списке приложений)
- URL для установки приложения (без параметров)
- URL станицы приложения, куда попадает пользователь после нажатия кнопки установки приложения
Процедура установки
После того как пользователь нажал кнопку установить приложение InSales генерирует token и устанавливает пароль для подключения password = MD5(token + secret_key), где seсret_key - секретный ключ приложения.
После этого отправляется GET запрос на URL для установки приложений с параметрами token и shop, где shop - адрес магазина на домене myinsales.ru, например myshop.myinsales.ru.
Если приложение отвечает 200 OK, то InSales считает, что приложение успешно установлено. Теперь можно слать запросы к insales через API, используя сгенерированный пароль и идентификатор, приложения в качестве.
Поле того как приложение ответило 200 OK, приложение может установить свои обработчики для событий, создать в InSales необходимые данные или загрузить данные в приложение из InSales.
Процедура авто-логина пользователя
Для того чтобы пользователь не утруждал себя запоминанием логина и пароля для каждого есть процедура позволяющая авторизовать пользователя по адресу его магазина - shop_host. Для этого надо отправить GET запрос на адрес
http://shop_host/admin/applications/api_key/login?token=token&login=api_autologin_url
где shop_host - адрес интернет магазина на под-домене myinsales.ru, api_key - идентификатора приложения, token - одноразовый токен, api_autologin_url - URL, на который будет выполнено перенаправление в приложение.
Если пользователь уже вошел в бек-офис магазиа, и у него установлено приложение, его перенаправляют на URL
api_autologin_url?token=MD5(token + password)
где password - пароль приложения.
Если пользователь еще не вошел в приложение, то ему предложат войти в бек-офис, а потом перенаправят на указанный URL.