Hello everyone,
I have a question about an issue I'm dealing with regarding the use of Meraki APIs.
Current Setup
Currently, I have software that calls all the Meraki GET APIs once a day to update the data in my inventory. I want to optimize this process by avoiding unnecessary API calls when only a few changes have occurred.
Initial Approach
To address this, I’ve implemented the Meraki "Organization Configuration Changes" API to identify which organizations have undergone modifications. Additionally, I use Redis to store the timestamp of the last changes, ensuring that only unprocessed changes are handled.
Challenges Encountered
Initially, I thought of using this API to filter networks based on the networkId field provided in the response for each change. However, I encountered difficulties in creating a reliable standard to determine which network has been modified. For example, when a new network is created, the networkId field is not populated in the response.
Current Solution
My current solution involves calling the "Organization Configuration Changes" API, and if no changes are detected, I skip processing that specific organization. However, this approach means that even minor changes, like updating a note on a device, would trigger processing of the entire organization, including all associated networks and devices.
Question
Is there an API or a better method to apply a more efficient filter and at the same time reduce API calls to Meraki without risking the loss of important information?