Один продукт, а не общий движок задач
Продукты экосистемы не переезжают на A3.Projects и не ломаются без него. Они обращаются к его публичному API, когда у организации есть соответствующая подписка.
Направление вызова одно
Другой продукт вызывает API A3.Projects. Обратного опроса нет: продукт-источник знает, когда его сущность изменилась, а A3.Projects был бы вынужден опрашивать всех по расписанию.

Сущность живёт в родном продукте
Юрист создаёт поручение по делу в A3.Lawyer, как и раньше. Ни одна функция не переносится сюда.
Проверяется подписка
Перед вызовом продукт-источник спрашивает у A3.ID, активна ли подписка на A3.Projects у организации.
Создаётся внешнее назначение
Заголовок, исполнитель, срок, тип сущности и ссылка обратно. Ключ идемпотентности не даёт повторному вызову создать дубль.
Работа попадает в общий список
Поручение видно рядом с обычными задачами. На него списывается время, его видно в срезе просроченного.
Интеграционный вызов всегда выполняется вне основной транзакции продукта-источника. Поручение юриста сохранится, даже если A3.Projects в этот момент недоступен.
Кто владеет полями
Разделение владения делает одностороннюю интеграцию честной. Пользователь видит, что срок пришёл извне и меняется не здесь.
Принадлежит продукту-источнику
- Заголовок
- Срок
- Исполнитель
- Состояние сущности
Принадлежит A3.Projects
- Комментарии
- Теги
- Списания времени
- Принадлежность проекту
Что передают продукты экосистемы
| Продукт | Содержание связи |
|---|---|
| A3.ID | Вход, организации, права и подписка. Единственная обязательная зависимость |
| A3.HR | Себестоимостные ставки сотрудников: в продукте они только читаются |
| A3.Lawyer | Поручения по делам приходят внешними назначениями, акт хранит ссылку на акт по договору |
| A3.Accounting | Учётные поручения приходят внешними назначениями, расходы проекта пока вносятся по статьям бюджета |
| A3.Sales | Акт по оплачиваемым часам хранит ссылку на счёт, сделки приходят внешними назначениями |
| A3.Meet | Звонок по задаче, запись и расшифровка вложением, поручения из протокола встречи |
| A3.Drive | Файлы задач и комментариев. Обязательная зависимость для вложений |
| A3.Trust | Запросы на проверку контрагента приходят как внешние назначения |
Связи, которым нужна доработка соседних продуктов, перечислены на странице развития. Без них расчёт работает на ручных ставках и расходах, а интерфейс сообщает, что канал не настроен.
Работает вместе с
- A3.MeetЗвонок запускается из карточки задачи, запись прикрепляется к ней, а поручения из протокола встречи становятся задачами.
- A3.DriveВложения задач и комментариев хранятся в A3.Drive и открываются из карточки задачи по ссылке, без копий файлов.
- A3.HRСебестоимостные ставки сотрудников приходят из кадров и показываются только для чтения: маржа считается по фактическим ставкам.
- A3.LawyerПоручения юриста попадают в общий список работы как внешние назначения со ссылкой на дело в A3.Lawyer.
Нужна своя интеграция?
Публичный API документирован и версионируется по пути. Если ваш продукт умеет вызывать REST, он умеет создавать внешние назначения.
