< Blogs
Alex Venetidis

Alex Venetidis

November 7, 2022

November updates

Even more integrations, more user-friendly authentication, and additional data samples from existing integrations.

New integrations! 🔌

What?

We've added integrations with Biostrap, RideWithGPS, and InBody this month! Bringing our range of integrations to an even more extensive breadth, and depth. RideWithGPS adds to our cycling-focused integrations, InBody to our body measurement ones, and Biostrap to our more clinically-driven device integrations

How?

We've been in touch with Biostrap over the past year as they were developing their API, and have been excited to finally get to work with it and provide it as an integration now that they're more ready to release that!

As for InBody, we've also been in touch with InBody over the past couple of months, planning the best way to add them into our system due to their authentication-less system for querying data 😺 instead, each facility has its users & identifies them internally, and can fetch their data at any point.

For RideWithGPS, this was a standard OAuth2-based integration that fits right into the current ones such as Wahoo, Garmin, Zwift & the like in terms of the data types returned.

Why?

We're always looking at expanding the number of integrations we offer. Being a one-to-all API is a core driver of our main product, and this goes in that exact direction. For some of these integrations, our users have been requesting them and been excited to use them; for others we need to reach out to form partnerships & proactively plan ahead.

User-friendly authentication

What?

Until now, our authentication mechanism has been developer-focused. We made sure that all users connecting through the service would need to share all possible data points requested by the developer to be successfully authenticated.

If all the boxes aren't ticked, the authentication will be unsuccessful.

Instead, we now can allow users to restrict the range of data they consent to share with developers, and instead let developers know the scopes they have agreed to share.

How?

We changed our authentication mechanism to be more permissive, and keep track of the user's accepted scopes at any given moment. This allows us to also return the scopes in the Terra User object as metadata for debug purposes and lets users keep utilizing the various functionalities of developers' apps that they have access to

Why?

While this meant that developers would never be left wondering why a certain user wouldn't receive e.g. heart rate data but would receive the rest, it meant that users who don't want to share the entirety of this data with a developer wouldn't be able to use their app, causing potential frustration.

We were now confident that at this stage, as our systems have become a lot more robust & confusion has been reduced as to why certain data may not show up for a given user, UX should take priority, and focus should be placed on making connection as smooth as possible for end users.

Additional data samples

What?

We've added calorie samples, duration data to these and step samples and allowed Coros activities to provide sample data as often as second-by-second.

How?

For calorie & step samples, it's now possible to retrieve how long it took a user to accomplish those steps thanks to the timer_duration_seconds field, which in the Daily payload, indicates the time elapsed between the start of the very first sample in the area until the end of the current sample.

Combined with the sample's timestamp, which indicates the start time, it is possible to deduce how long the user took to burn a certain amount of calories or walk a certain amount of steps.

Coros has always provided FIT files in a non-standard format, which all available FIT parsers out there for Python could not parse. Recently, however, Garmin (who owns the FIT standard) released a Python version of their official SDK in early October, which was able to decode Coros fit files (even though it issues a warning letting us know that the FIT file is technically invalid)

Why?

Coros has been gaining popularity over the recent past, and users wanted to be able to access more granular data coming from activities recorded with their watches. To this effect, combined with the fact that Garmin released their newest SDK promptly, we wanted to implement this feature ASAP to fully use Coros' data!

More Topics

All Blogs
Team Spotlight
Startup Spotlight
How To
Blog
Podcast
Product Updates
Wearables
See All >
CEO and Co-Founder of Bioniq - Vadim Fedotov

CEO and Co-Founder of Bioniq - Vadim Fedotov

In this podcast with Kyriakos the CEO of Terra, Vadim Fedotov a former professional athlete turned entrepreneur, shares his journey in founding Bioniq.

Terra APITerra API
December 10, 2024
5 Lessons for Standing Out at HLTH

5 Lessons for Standing Out at HLTH

5 lessons from team Terra API for making a lasting impact at HLTH: from engaging senses to building real touch points, here’s what we learned from the HLTH event.

VanessaVanessa
December 5, 2024
November '24 Updates by Terra

November '24 Updates by Terra

Terra’s Latest Updates: Zepp Metrics, Support Revamp, and Teams API Enhancements 🚀✨

Alex VenetidisAlex Venetidis
December 1, 2024
Strava Pulls the Plug on their API: What This Means for Developers

Strava Pulls the Plug on their API: What This Means for Developers

Strava discontinued their API service, changing the ecosystem of third-party apps that have relied on their platform. How can developers react to this?

Terra APITerra API
November 21, 2024
Alternatives to the latest changes in the Strava API

Alternatives to the latest changes in the Strava API

Strava just introduced big changes to their API program. These changes will basically kill off a lot of apps. Use Terra API instead to avoid this

Kyriakos EleftheriouKyriakos Eleftheriou
November 19, 2024
next ventures
pioneer fund
samsung next
y combinator
general catalyst

Cookie Preferences

Essential CookiesAlways On
Advertisement Cookies
Analytics Cookies

Crunch Time: Embrace the Cookie Monster Within!

We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.