diff --git a/rowers/templates/developers.html b/rowers/templates/developers.html index 3e5ed958..ff0f01d0 100644 --- a/rowers/templates/developers.html +++ b/rowers/templates/developers.html @@ -665,9 +665,10 @@ POST
{
-    "totalDistance": 100,
+    "distance": 100,
     "elapsedTime": 29000,
-    "title": "Test Workout (GO)",
+    "duration": "0:00:29.0",		
+    "name": "Test Workout (GO)",
     "startdatetime": "2023-01-16 17:54:35.588838+00:00",
     "workouttype": "water",
     "boattype": "1x",
diff --git a/rowers/tests/test_api.py b/rowers/tests/test_api.py
index 32fc2af6..bf7d74e4 100644
--- a/rowers/tests/test_api.py
+++ b/rowers/tests/test_api.py
@@ -226,9 +226,10 @@ class OwnApi(TestCase):
                     }
 
         form_data = {
-            "totalDistance": 100,
-            "elapsedTime": 29000,
-            "title": "Test Workout (GO)",
+            "distance": 2100,
+            "elapsedTime": 592,
+            "duration": "0:09:52",    
+            "name": "Test Workout (GO)",
             "startdatetime": "2023-01-16 17:54:35.588838+00:00",
             "workouttype": "water",
             "boattype": "1x",
diff --git a/rowers/views/apiviews.py b/rowers/views/apiviews.py
index 88efe374..354b79d1 100644
--- a/rowers/views/apiviews.py
+++ b/rowers/views/apiviews.py
@@ -213,9 +213,10 @@ def strokedatajson_v3(request):
     GET: Get stroke data of workout
     This v2 API works on stroke based data dict:
     {
-    "totalDistance": 100,
+    "distance": 2100,
     "elapsedTime": 592,
-    "title": "Test Workout (GO)",
+    "duration": "0:09:52",    
+    "name": "Test Workout (GO)",
     "startdatetime": "2023-01-16 17:54:35.588838+00:00",
     "workouttype": "water",
     "boattype": "1x",
@@ -244,13 +245,21 @@ def strokedatajson_v3(request):
 
     dologging('apilog.log', request.user.username+" (strokedatajson_v3 POST)")
 
-    title = request.data.get('title','')
+    title = request.data.get('name','')
     try:
         elapsedTime = request.data['elapsedTime']
     except KeyError:
-        return HttpResponse("Missing Elapsed Time", status=400)
+        try:
+            duration = request.data['duration']
+            try:
+                t = datetime.strptime(duration,"%H:%M:%S.%d")
+            except ValueError:
+                t = datetime.strptime(duration,"%H:%M:%S")
+            elapsedTime = 3600*t.hour+60.*t.minute+t.second+t.microsecond/1.e6
+        except:
+            return HttpResponse("Missing Elapsed Time", status=400)
     try:
-        totalDistance = request.data['totalDistance']
+        totalDistance = request.data['distance']
     except KeyError:
         return HttpResponse("Missing Total Distance", status=400)
     timeZone = request.data.get('timezone','UTC')