Надежная интеграция начинается с ответа на вопрос, какая система владеет каждым типом данных. Если CRM и 1С могут независимо менять один реквизит, конфликт неизбежен.
Опишите контракт
Зафиксируйте идентификаторы, обязательные поля, форматы дат, статусы и правила удаления. Версионируйте API и отделяйте внутреннюю модель от внешнего контракта.
Не связывайте системы напрямую во всех случаях
Для критичного синхронного запроса допустим прямой вызов с коротким таймаутом. Массовые обновления лучше передавать через очередь. Она сглаживает нагрузку и позволяет повторить обработку.
Учтите сбои
- идемпотентный ключ исключает повторное создание
- ограниченный retry обрабатывает временную ошибку
- неуспешные сообщения уходят в отдельную очередь
- регулярная сверка находит пропущенные изменения
Журнал должен связывать бизнес-объект, запрос и результат без записи секретов и лишних персональных данных.
Безопасность
Используйте отдельные учетные данные сервиса, минимальные права, шифрование канала и ротацию ключей. Базовые меры подробнее разобраны в статье о защите API.