Публичный API SaaS-продукта: интеграции клиентов с 1С и CRM без поддержки каждой
Каждый клиент подключается по одному документированному интерфейсу, а не по отдельной доработке под него
Проверяется: контрактные тесты и песочница для клиентов
SaaS и продуктыРаботаем по NDA
SaaS-продукт продаётся компаниям, у которых есть 1С, CRM и свои сайты. Каждый просит обмен, и каждый раз делается отдельная доработка. Команда не успевает развивать продукт, а любое изменение формата ломает чьё-то подключение.
Что съедает срок и бюджет на самом деле
Проблема не в количестве интеграций, а в отсутствии договорённого интерфейса. Вот что мешает.
Нет версий интерфейса
изменение поля ломает клиентов без предупреждения. Версии и срок поддержки старой версии записываются заранее.
Повтор запроса создаёт дубль
сеть теряет ответы, клиент повторяет запрос, и заказ создаётся дважды. Нужны ключи идемпотентности.
Нет лимитов и журнала
один клиент с ошибкой в цикле нагружает всех. Лимиты на клиента и журнал вызовов нужны с первого дня.
Клиенты не могут проверить свою интеграцию
без песочницы любая проверка идёт на боевых данных. Нужна тестовая среда с понятными примерами.
Ограничение, которое определяет решение
Интеграции с 1С зависят от конфигураций клиентов, которые мы не контролируем. Поэтому продукт даёт стабильный интерфейс и документацию, а обмен на стороне 1С клиента делается отдельной работой по нашей шкале интеграций. Мы не обещаем «подключим любую систему»: требуется интерфейс или выгрузка с их стороны, и об этом говорим до договора.
Как проверить, что работа сделана
Контрактные тесты: автоматический набор проверяет, что ответы интерфейса соответствуют описанию, и запускается на каждом изменении.
Песочница: клиент получает тестовую среду и пример обмена, и может пройти полный сценарий без вмешательства разработчика.
Повторы и лимиты: повторный запрос с тем же ключом не создаёт дубль, превышение лимита даёт понятный ответ и запись в журнал.
О чём спросить любого подрядчика
- Как версионируется интерфейс и как долго живёт старая версия.
- Как защищено от дублей при повторе запроса.
- Какие лимиты установлены и что видит клиент при превышении.
- Есть ли тестовая среда и описание интерфейса в стандартном формате.
- Кто сопровождает подключения клиентов и как это оплачивается.
Как мы идём по этапам
На каждом этапе назван результат, который остаётся у заказчика. Остановиться можно после любого.
- Опрос клиентовВыясняем, какие данные и события нужны чаще всего. Результат: перечень сущностей и операций интерфейса.
- Описание интерфейсаПишем описание до кода и согласуем его с несколькими клиентами. Результат: документ, по которому можно подключаться.
- РеализацияВерсии, ключи идемпотентности, лимиты, вебхуки, журнал вызовов. Результат: рабочий интерфейс на стенде.
- Песочница и примерыТестовая среда и готовые примеры обмена с 1С и CRM. Результат: подключение без участия команды.
- Сопровождение подключенийМониторинг ошибок по клиентам и порядок обращений. Передаём код и регламент.
Как это обычно устроено внутри
Типовая схема: программный интерфейс с версиями в адресе, аутентификация ключами с ограниченными правами, ключи идемпотентности для изменяющих запросов, очередь для тяжёлых операций. Изменения клиентов отправляются вебхуками с подписью и повтором. Все вызовы пишутся в журнал с идентификатором клиента.
- REST API
- OpenAPI
- Вебхуки
- PostgreSQL
- Очередь задач
- Контрактные тесты
Похожая задача у вас?
Разберём её на созвоне за 40 минут: назовём объём работ, ограничения контура и по каким числам вы будете принимать результат. Если задача не наша — скажем прямо.