Для себя я примерно так увидел. Если ИС1 использует публичное API ИС2 - это взаимодействие. Если ИС2 разрабатывает какой-то шлюз или адаптер для ИС1 - это интеграция.
Не вполне точно. ИС2 должно иметь адаптер к API ИС 1. При этом ИС 2 осведомлено об API ИС1 и имеет возможность к нему адаптироваться в случае изменения (изменить адаптер).
А вот если ИС2 разрабатывает сторонний разработчик, то есть возможности адаптации у ИС2 нет, или нарушены коммуникации, то уже нужна интеграция.
Так же интеграция нужна если у ИС1 нет контракта/API. Тогда приходится, например, реплицировать базу ИС1, сверху делать API или вообще реплицировать сразу данные из базы ИС1 в базу ИС2 (плохой сценарий)