ProvincialSquid1 month ago
Some activity data from my Garmin is showing up as null on my webhook.
The following payload contains missing data:
example_full_q_atividade_format = teste ={ 'data': { 'metadata': { 'city': None, 'state': None, 'country': None, }, 'lap_data': {'laps': []}, 'distance_data': { 'summary': { 'floors_climbed': None, 'elevation': { 'gain_planned_meters': None, } }, }, 'active_durations_data': { 'inactivity_seconds': None, 'rest_seconds': None, 'low_intensity_seconds': None, 'moderate_intensity_seconds': None, 'vigorous_intensity_seconds': None, 'num_continuous_inactive_periods': None, 'standing_seconds': None, 'standing_hours_count': None }, 'MET_data': { 'avg_level': None, 'num_inactive_minutes': None, 'num_low_intensity_minutes': None, 'num_moderate_intensity_minutes': None, 'num_high_intensity_minutes': None, 'MET_samples': [] }, 'movement_data': { 'adjusted_max_speed_meters_per_second': None, 'normalized_speed_meters_per_second': None, 'avg_velocity_meters_per_second': None, 'max_velocity_meters_per_second': None, 'avg_torque_newton_meters': None, 'max_torque_newton_meters': None, }, 'calories_data': { 'net_activity_calories': None, 'BMR_calories': None, 'net_intake_calories': None, }, 'heart_rate_data': { 'summary': { 'min_hr_bpm': None, 'avg_hrv_rmssd': None, 'avg_hrv_sdnn': None, 'user_max_hr_bpm': None, 'resting_hr_bpm': None, 'hr_zone_data': [] }, }, 'strain_data': {'strain_level': None}, 'oxygen_data': { 'vo2max_ml_per_min_per_kg': None, 'avg_saturation_percentage': None, 'saturation_samples': [], }, 'polyline_map_data': {'summary_polyline': None}, } }
Vanessaadmin2 hours ago
Hey there,
This is expected behavior, in Terra's data models, all fields are nullable except for the required metadata fields (start_time, end_time, summary_id, type, upload_type). If Garmin doesn't record a particular metric for a given activity (e.g. location/GPS was off, no laps recorded), those fields will be null.
The key required fields you can always rely on are in metadata: start_time, end_time, summary_id, type, and upload_type. Everything else (distance_data, heart_rate_data, calories_data, position_data, lap_data, etc.) depends on what the device actually captured.
Docs on data models: https://docs.tryterra.co/reference/data-models
Cookie Preferences