diff --git a/rowers/templates/developers.html b/rowers/templates/developers.html index ce4f8d05..51dd5ce6 100644 --- a/rowers/templates/developers.html +++ b/rowers/templates/developers.html @@ -10,91 +10,91 @@
On this page, a work in progress, I will collect useful information for developers of rowing data apps and hardware.
- +I presume you have an app (smartphone app, dedicated hardware, web site) where your users (customers) generate, collect or store their rowing related workout data. You can now offer your users easy ways to get their data on this site.
- + -There are three ways to allow your users to get data to Rowsandall.com.
Enable export of TCX, FIT or CSV formatted files from your app. The users upload the file to Rowsandall.com.
- -Similar as above, generate TCX, FIT or CSV formatted files and email them to workouts@rowsandall.com directly from your app. The From: field should be the email address of the registered user.
- -We are building a REST API which will allow you to post and receive stroke data from the site directly.
- +The REST API is a work in progress. We are open to improvement suggestions (provided they don't break existing apps). Please send email to info@rowsandall.com with questions and/or suggestions. We will get back to you as soon as possible.
-However, some rowing related parameters are not supported by TCX and FIT. Therefore, we are supporting the CSV format that is documented in the following link.
- +Using this standard will guarantee that your user's data are accepted without complaints.
We have disabled the self service app link for security reasons. We will replace it with a secure self service app link soon. If you need to register an app, please send email to info@rowsandall.com
- +Standard Oauth2 authentication. @@ -128,14 +128,15 @@
The redirect URI for user authentication has to be https. Developers of iOS or Android apps should contact me directly if this doesn't work for them. I can add exceptions.
- +
The workout summary data and the stroke data are obtained and sent separately.
+
You can only post stroke data to an existing workout with workout number {id}. If the workout already has stroke data, you @@ -159,9 +162,13 @@ future to enable updating stroke data. Stroke data for workout {id} are posted to:
+
The payload is application/json data and looks as follows:
@@ -176,14 +183,48 @@ } -Mandatory data fields are:
++
The payload is application/json data and looks as follows:
+ +
+ {'data':
+ [
+ {"distance":5, "power": 112, "hr": 132, "pace": 145800, "spm": 11, "time": 0},
+ {"distance":12, "power": 221, "hr": 131, "pace": 116400, "spm": 41, "time": 2200},
+ {"distance":19, "power": 511, "hr": 131, "pace": 88100, "spm": 56, "time": 4599},
+ {"distance":27, "power": 673, "hr": 132, "pace": 80400, "spm": 59, "time": 7000},
+ {"distance":35, "power": 744, "hr": 133, "pace": 77700, "spm": 55, "time": 9599},
+ {"distance":43, "power": 754, "hr": 136, "pace": 77400, "spm": 48, "time": 12000},
+ {"distance":51, "power": 754, "hr": 139, "pace": 77400, "spm": 48, "time": 14400},
+ {"distance":59, "power": 749, "hr": 142, "pace": 77600, "spm": 48, "time": 16799},
+ {"distance":67, "power": 729, "hr": 145, "pace": 78300, "spm": 48, "time": 19400},
+ {"distance":75, "power": 729, "hr": 147, "pace": 78300, "spm": 48, "time": 21799},
+ {"distance":82, "power": 726, "hr": 150, "pace": 78400, "spm": 48, "time": 24200},
+ {"distance":90, "power": 709, "hr": 152, "pace": 79000, "spm": 48, "time": 26599},
+ {"distance":100, "power": 707, "hr": 153, "pace": 79100, "spm": 49, "time": 29000},
+ ]
+}
+
+
+
+ For both v1 and v2, mandatory data fields are:
+
Optional data fiels are:
+
Consistency checks will be done and the stroke data will be +
+For both API versions, consistency checks will be done and the stroke data will be refused if the mandatory data fields don't pass the checks. All mandatory data fields must have the same number of records. If an optional data field fails a test, its values are silently replaced by zeros.
- ++ Please correct the error{{ form.errors|pluralize }} below. +
+{% endif %} +