Hi team,
We’re using the current Ring Partner API with:
-
GET /v1/history/devices/{device_id}/events
-
POST /v1/devices/{device_id}/media/image/download
What we’re doing right now is:
-
calling Event History with event_types=motion,on_demand for cameras, or ding,on_demand,motion for doorbells
-
taking the timestamps from those events
-
calling Image Download with type: “latest_in_range”
That flow works, but the images we get back do not seem to match what we’re seeing in the Ring app.
In the Ring app, we can clearly see newer person-detection events and newer clips for the same device. But when we call Event History through the Partner API, we only get older events back. Because of that, the still image we get from Image Download is also older.
A few questions:
-
If the Ring app is showing person-detection events, should those also show up in Event History through the Partner API? If so, should we be querying for motion.human, or something else?
-
If the Ring app shows newer events and clips, but Event History only returns older ones, is that expected? Or does that suggest we’re filtering the events incorrectly?
-
Is Event History + Image Download the right way to get the most recent still image?
-
Is there any supported way to get a current still image without starting a WebRTC/WHEP session and grabbing a frame from that?
-
Should we treat X-Media-Timestamp as the real capture time of the image returned by media/image/download?
One other detail: this is running on a very minimal IoT controller, so downloading a clip and extracting a frame is not really practical for us. We don’t have the storage or compute budget to install something like ffmpeg on the device. So if there is a lightweight way to get a recent still image directly, that would help a lot.
Mostly we’re trying to understand whether we should expect the Partner API to show the same recent events/images that we can already see in the Ring app, or whether those can differ.
Thanks!