Приложения для установки в магазин
API InSales работает через HTTP протокол с использованием (GET/POST/PUT/DELETE) запросов. Данные при обмене передаются в XML-формате или JSON-формате. Для корректной работы необходимо указывать Content-Type в запросе (Content-Type: application/xml или Content-Type: application/json ). Для каждой группы объектов: заказов, товаров, категорий и т. д. есть свой URL при помощи которого вы можете управлять соответствующими объектами.
В бек-офисе магазина в разделе Приложения -> Разработчикам вы сможете создать приложение, указав поля:
- Название приложения (будет показываться в списке приложений)
- Идентификатор приложения (должен состоять из латинских букв и цифр, используется в качестве логина для basic авторизации при отправке запросов)
- Секрет (секретный ключ приложения, он не должен быть никому известен, используется для установки приложения. При создании приложения в форме его, он сформируется автоматически, если что его потом можно отредактировать)
- Текст краткого описания приложения (в html формате, будет показываться в списке приложений)
- URL для установки приложения (без параметров, например http://myapp.ru/install)
- URL страницы приложения, куда попадает пользователь после нажатия кнопки установки приложения
- URL страницы приложения, куда попадает шлется запрос для удаления приложения
- Картинку приложения, размером 250x100
- Название компании разработчика
- Контакты для пользователей
Для авторизации используется Basic Authorization. Логин задается в настройках приложения (идентификатор приложения) и он общий при запросах в разные магазины, пароль же формируется в момент установки. Подробнее ..
На приложение накладываются ограничение в 500 запросов к API одного магазина за 5 минут. Время расчитывается с момента первого запроса в серии. Количество выполненых запросов в текущем промежутке времени передается в HTTP заголовке API-Usage-Limit (пример: API-Usage-Limit: 1/500). При превышении лимита доступ к API становится недоступным до окончания текущих 5 минут. В таком случае код ответа сервера - 503 и при этом в HTTP заголовке Retry-After передается время до начала предоставления доступа в секундах.
Приложения для маркетплейс
Для размещения в apps.insales.ru нужно прислать актуальную информацию.
Правила InSales для приемки приложений в Appstore
- Проверить карточку приложения: соответствие всем актуальным данным.
- Проверить описание приложения, наличие актуальной и рабочей инструкции. Просто ссылка на сайт вместо инструкции — это плохо.
- Установка приложения:
- Уровень доступа приложения: должен соответствовать описанию. Лишние разрешения, равно как нехватка оных — это плохо.
- Успешность установки приложения на разные вариации платформы (ru, kz, com.ua и остальные по мере их запуска).
- Успешность установки при разных вариациях доменов (латиница, кириллица)
- Автоматическое создание необходимых данных для работы приложения (способы доставки/оплаты, доп.поля и т. д.). Что именно должно создаваться вопрос к инструкции для приложения.
- Сохранение введенных данных, удобство и простота ввода (ко всем спорным полям нужны пояснения, необходимые для работы пункты не должны особо хорошо прятаться или же, если спрятать необходимо, в инструкции должно быть подробное разъяснение по поводу их нахождения.
- Наличие в приложении кнопки перехода в БО магазина.
- Работа приложения на сайте после настройки по инструкции.
- Вывод необходимых полей и блоков, если они предполагаются, без нарушения верстки сайта.
- Вывод и успешная работа доставок/оплат, если они предполагаются.
- Соответствие работы описанию приложения.
- Передача данных от платформы к приложению/в другую систему и обратно, если это предполагается. Скорее всего, для проверки будут необходимы тестовые аккаунты.
- Наличие и корректная работа виджетов приложения, если такие предполагаются (как правило, на странице заказа в БО магазина).
- Выставление счетов, особенно если предполагается несколько тарифов для работы приложения.
- Удаление созданных приложением элементов: должна быть возможность их легкого восстановления без переустановки самого приложения.
- Вход в приложение, если оно уже установлено: приложение должно быть доступно не только в первый раз до ввода настроек, но и при дальнейшей работе. При этом нежелательно каждый раз заставлять пользователя авторизироваться, лучше это делать автоматически.
- Удаление приложения — не должно нарушать работу сайта. При удалении приложения InSales автоматически удаляет виджеты, js-теги, источники для ПВЗ, все остальное если приложение создовало и это стоит удалить лучше удалять уже через API, так при этом могут повредиться важные данные (созданные заказы, товары, структура категорий и т.д.)
- Переустановка приложения (удаление с установкой без ручного удаления скриптов, полей и т. д.) - в идеале, должны подхватываться старые данные. Обязательно должна не требоваться повторная регистрация, а использоваться уже имеющаяся учетная запись.
Для развертывания приложений мы используем GitLab (для регистрации обратитесть в администратору). Часть приложений работает на нашем Production Server, доступ к коду осуществляется через репозиторий.