Интеграции
Интеграция сайта с внешними системами по API
Связываем сайт с системой, для которой нет готового модуля: ERP, складская программа, отраслевой сервис, кабинет поставщика. Обмен строим на том, что система умеет отдавать, - REST, SOAP, вебхуки или выгрузка файлов.
документацию разбираем до сметы, а не послеТочная смета - после брифа.
Кому подходит
Системы нет на маркетплейсе
Учетная программа или отраслевой сервис не из типовых, готового модуля под Битрикс для него нет
Данные переносят руками
Сотрудник выгружает файл из одной системы и загружает во вторую, и так каждый день
Обмен на старом протоколе
Система отдает данные по SOAP или файлом по расписанию, готовые модули так не умеют
Какие задачи решаем
Что входит в работу
Разбор API
Читаем документацию и проверяем методы на тестовом контуре, до того как называть сметуСхема обмена
Что и в какую сторону передается, как сопоставляются поля, где источник правдыСопоставление справочников
Связываем номенклатуру, статусы и единицы измерения двух систем по правилам на бумагеПередача данных
Обмен по REST, SOAP или файлами - на том протоколе, который дает системаОбмен по событию
Вебхуки там, где данные нужны сразу, а не в следующем цикле обменаЖурнал обмена
Лог запросов и ответов: видно, что ушло и что вернулось с ошибкойПовторные попытки
Пока внешняя система не отвечает, запрос остается в очереди и повторяетсяХранение ключей
Токены и пароли лежат в настройках на сервере, а не в коде страниц и не в шаблонеИнструкция
Что делать, если система сменила API или перестала отвечать, и к кому с этим идтиЭтапы работы
Технологии и интеграции
REST
HTTP и JSON, авторизация по токену, ключу или OAuth
SOAP
Работа с WSDL и XML-конвертами для систем на старых протоколах
Файловый обмен
XML, CSV и Excel по расписанию через FTP, SFTP или каталог на сервере
Вебхуки
Прием событий от внешней системы и отправка своих на ее адрес
Очереди и повторы
Запрос остается в очереди, пока сторонний сервис не ответит
Журнал и уведомления
Лог обмена с ошибками и оповещение о сбое
Часто задаваемые вопросы
Эта услуга считается по часам: заранее назвать сумму нельзя, пока неизвестно, что умеет внешняя система. Первый этап - разбор документации и проверка методов на тестовом контуре, после него мы называем объем в часах и смету. На объем влияют число методов и направлений обмена, состояние документации, наличие тестового доступа, нужны ли вебхуки и насколько расходятся справочники двух систем.
С теми, у которых есть способ отдать и принять данные: REST, SOAP, обмен файлами или доступ к базе. Готовый модуль для этого не нужен, обмен пишется под конкретные методы системы. Если документации на API нет, сначала разбираемся, что система умеет: иногда обмен строится через выгрузку файлов по расписанию, и это рабочий вариант.
Доступ к тестовому контуру внешней системы, документация на API и человек со стороны ее поставщика, у которого можно уточнить вопросы. Без тестового доступа обмен пришлось бы отлаживать на боевых данных, так мы не работаем. Если тестового контура у системы нет, скажите сразу - будем искать безопасный способ проверки вместе с поставщиком.
Зависит от ограничений внешней системы: одна разрешает частые запросы, другая принимает обмен раз в час. Ставим самый короткий цикл, который сторона выдерживает, а для срочных данных используем вебхуки, если система умеет их присылать. Частоту фиксируем в схеме обмена, чтобы потом не спорить о том, почему данные приехали с задержкой.
Часто да. Многие системы умеют регулярную выгрузку в XML, CSV или Excel, и обмен строится на файлах: сайт забирает их из каталога на сервере или по SFTP и раскладывает по своим справочникам. Обратная сторона - данные приходят с задержкой на цикл выгрузки, поэтому этот вариант подходит для каталога и остатков, но не для оплаты в реальном времени.
Обмен начнет возвращать ошибки, они попадут в журнал, а ответственному придет уведомление. Правка под новую версию API - отдельная небольшая работа; на сопровождении она входит в часы по договору. Поэтому в инструкции при сдаче мы пишем, где смотреть журнал и по каким признакам понятно, что изменилась сторона поставщика, а не сайт.
Первые 30 дней ошибки по нашей части правим бесплатно. Код обмена, доступы и журнал остаются у вас, продолжать можно с нами или с другой командой. Если обмен нужен под наблюдением - берем его в договор поддержки: тогда сбои разбираем мы, а не ваш сотрудник по уведомлению.