To Do
- Validate HTML
- Sync/save firmware files from Beanstalk
- Better Stats API?
- Language Codes?
Sample Calls
Note: This is a private API. It requires HTTP Basic authentication: https://en.wikipedia.org/wiki/Basic_access_authentication.
Username is concept2firmware and password is C()rbyn0m1c5
Base URL is https://tech.concept2.com
GET /api/firmware – returns every firmware ever along with their state
GET /api/firmware/latest – this either returns all available versions
GET /api/firmware/latest/public – this either returns all available public versions
GET /api/firmware/latest/beta – this returns latest beta version
GET /api/firmware/latest/developer – this returns latest version available to developer
GET /api/firmware/{version}– this returns a specific version, e.g. /api/firmware/729.4
You can also pass optional monitor and machine parameters to filter it further:
GET /firmware/latest/public?monitor=pm5v2ski
GET /firmware/latest?machine=skierg
GET /firmware/latest/public?machine=skierg&monitor=pm5v2ski
Example return
{
"data": [
{
"version": 108,
"major_version": 108,
"minor_version": null,
"monitor": "pm3",
"machine": "rower",
"public": true,
"beta": false,
"developers": false,
"internal": false,
"description": "Example description",
"short_description": "Example short description",
"new_features": "<ul><li>Enhancements to USB interface for ErgData iPhone App</li><li>Minor fixes and enhancements</li><li>Added Slovak Language</li></ul>",
"bug_fixes": "",
"known_issues": "",
"internal_notes": "",
"files": [
{
"name": "pm3_euro_R108B000.7z",
"path": "https://firmware.concept2.com/files/pm3_euro_R108B000.7z",
"languages": ["EN"],"uploaded": "2017-01-11"
}
]
}
]}
Notes: Version is a concatenation of Major and Minor version.
Stats
Currently you can also update file download stats by POSTing to /api/firmware/download, e.g:
POST /api/firmware/download HTTP/1.1
Host: tech.concept2.com
Authorization: Basic Y29uY2VwdDJmaXJtd2FyZTpDKClyYnluMG0xYzU=
Content-Type: application/json
Cache-Control: no-cache
{ "file":"https://firmware.concept2.com/files/pm5aski_eurochinese_R729B004.7z"}
Updating
To add or edit firmware, go to http://tech.concept2.com/firmware
This will list all currently released firmware.
To change the release status of firmware (e.g. to promote it from beta to general release, or to unpublish) click on Edit, and then change the Release Status at the bottom.
When adding or editing firmware, the following fields are available:
- Release Group: see note below
- Monitor: a dropdown list of available monitors. You can change this by going to Monitor Types and adding/editing a new monitor
- Files: Upload firmware files . Must also include the available languages. Languages can be added/edited by going to the Languages page.
- Major Version: required major version of firmware
- Minor Version: optional
- Short Description: short description of the firmware
- Long Description: long description of the firmware
- New features, Bug fixes, Known issues, internal notes: these override what is set in the Release Group. Leave blank to use the Release Group information.
Release Groups
As multiple firmware releases will often share common characteristicvs (e.g. PM5v2 SkiErg may have identical Bug Fixes to PM5v1 Indoor Rower) to cut down on copy/paste, each firmware should be assigned to a release group. This means that they can share New Features, Bug Fixes, Known Issues and Internal Notes.
To create a new Release Group go to the Release Group section.
You can manually override things for individual firmware. e.g. have a specific Internal Notes for just the PM5v2 SkiErg release.
To add firmware to a release group you can do so either when editing or creating firmware or from the Release Group itself. Click on View to see the Release Group and then you can assign firmware to this group.
From this page you can also edit individual firmware, view the new features etc and also mass set the release status for each firmware.