У меня есть приложение, над которым я работаю, в основном принимает данные из Active Collab и создает отчеты/графики из данных. Сам API недостаточно для получения правильных данных для каждого запроса, поэтому я прибегал к тому, чтобы вытащить данные в отдельный набор данных, который можно запросить более эффективно.Active Collab 5 Webhooks/Поддержание «метрических» данных
Поэтому, чтобы избежать необходимости постоянно запрашивать весь API, я решил использовать webhooks, чтобы сделать преобразования для соответствующих данных и снизить необходимость повторной синхронизации данных.
Однако я заметил, что не все события отправлены, в частности следующее.
TaskListUpdated
MemberUpdated
TimeRecordUpdated
ProjectUpdated
Существует, вероятно, больше, но вот основные из них я заметил до сих пор,
сообщаетвремени, возможно, самое главное, на самом деле отсутствует webhooks означает, что практически любое приложение имеет хороший шанс неверные данные, если для этого требуется время записи данных. Его довольно распространено, чтобы сделать опечатку в записи времени, а затем настроить ее позже.
Так что я ничего не пропустил здесь? Есть ли способ надежно видеть эти события?
EDIT: Для того, чтобы избежать длинный комментарий к Илии я ставлю большую часть здесь.
Веб-сайты, какая информация вам нужна, чтобы потянуть? API, который поддерживает отчеты о отслеживании времени, могут делать все виды фильтрации по перекрестным проектам, поэтому ваш подход к сохранению отдельной базы данных может быть чрезмерным.
В основном мы делаем многоступенчатый многоуровневый отчет о времени. Он может быть отсортирован/сгруппирован по любому мыслимому методу, который вы можете посмотреть.
http://www.appsmagnet.com/product/time-reports-plus/
Это ближе к тому, что мы пытаемся сделать, назад, когда мы использовали активный совм 4 это сделал свою работу, но даже с этим мы должны были закрепить его в наших собственных электронных таблиц.
Таким образом, идея состоит в том, чтобы лучше интегрировать наши данные Active Collab в наш собственный рабочий процесс.
Так основные данные мы ищем в этом случае
Job Types
Projects
Task Lists
Tasks
Time Records
Categories
Members/Clients
Companies
Эти элементы могут питаться не только наши отчеты, но и многие другие аспекты нашей компании, а также. Для нас Active Collab - это истина, поэтому мы хотим, чтобы данные были быстро доступны и полностью доступны для запросов.
Таким образом, я настроил систему синхронизации, которая первоначально захватывает все данные, которые она может использовать из Active Collab, а затем использует сочетание cron и webhooks, чтобы поддерживать ее в актуальном состоянии.
Работы Cron хорошо работают для всех аспектов, которые не имеют «подпунктов» (проекты/задачи/списки задач/записи времени). Поэтому тем, кому я должен полагаться на веб-сайт, поскольку синхронизация их занимает много времени, чтобы иметь возможность обновлять ее в реальном времени.
Для веб-камеры я заметил, что вышеуказанное не переносит.Записи времени Я выяснил, как это происходит в моем ответе, и член может быть выполнен через cron. Однако список задач и обновление проекта являются лишь одной из двух проблем. Проект довольно важен, так как бюджет может измениться и который будет использоваться в отчетах, списки задач имеют даты начала и окончания, которые также могут быть использованы. Поскольку просмотр каждого проекта/списка задач постоянно, чтобы увидеть, есть ли изменения, действительно не отличная идея. Я ищу способ надежно увидеть обновления для них.
Я основывал эту систему на https://developers.activecollab.com/api-documentation/, но я знаю, что есть хотя бы несколько конечных точек, которые не указаны.
Cross-project time-record filtering using Active Collab 5 API
Этот вопрос на самом деле от другого разработчика на той же системе (а также показывает отчет TrackingFilter
не указан в документации). Из-за проблем с поддержанием точного набора данных нам пришлось его адаптировать. Я на самом деле замечаю, что вы (Ilija) - человек, отвечающий и рекомендующий переходить к этому стилю системы.
Веб-сайты, какая информация вам нужна? API, который предоставляет отчеты о отслеживании времени, может выполнять все виды фильтрации по перекрестным проектам, поэтому ваш подход к сохранению отдельной базы данных может быть чрезмерным. – Ilija
@Ilija Я обновил вопрос с ответом на ваш комментарий. Из-за этого довольно долго я хотел избежать использования комментария для него. –