This is an old revision of the document!
A REST API into the AGTEK Access system needs to provide full access to the Access server (npi), and it is desirable to mimic the desktop API in terms of API granularity and specificity.
The Web API (AKA REST) will likely be used in the following use cases, in relative priority order:
Implementation notes:
API-class (priority) | Method Name | Return Value | REST Method | params | return | Notes |
CONNECTION (0) | ||||||
connect() | StorageServer | GET | userid,password,token | GR | ||
connectResetPassword() | GET | userid,password | GR | |||
disconnect() | PUT | GR | ||||
getAllAnnouncements() | Announcement* | GET | GR [ Announcement ] | |||
ASSOCIATION (4) | ||||||
getAssociations() | Association* | GET | ||||
addAssociation() | Association | PUT | ||||
updateAssociation() | Association | PUT | ||||
deleteAssociation() | Association | PUT | ||||
CONFIGURATION (4) | ||||||
getAllConfigurations() | Configuration* | GET | ||||
getConfiguration() | Configuration | GET | ||||
updateConfiguration() | Configuration | PUT | ||||
getConfigurationData() | ConfigurationData | POST | ||||
setConfigurationData() | void | POST | ||||
FILEAPI (1) | ||||||
createFolder() | StoredFolder | GET | path | GR { stedFolder } | ||
createPublicUrl() | String url | GET | path | GR { url } | ||
deleteFile() | void | PUT | path | GR | ||
deletePublicUrl() | void | PUT | path | GR | ||
downloadFile() | GET | path | to file… tbd | |||
downloadVersion() | GET | path | to file… tbd | |||
getAccountInfo() | GET | GR { AccountInfo } | ||||
getFolder() | StoredFolder | GET | ??? | |||
getVersions() | StoredFile+ | GET | ||||
getStoredFile() | StoredFile | GET | ||||
moveFile() | void | PUT | path, dstpath | GR | ||
renameFile() | void | PUT | path, newname | GR | ||
renameFolder() | void | PUT | path, newname | GR | ||
setDescription() | void | PUT | path, description | |||
uploadFolder() | StoredFolder | POST | ??? | |||
uploadFile() | StoredFile | POST | ??? | |||
PROJECTS (2) | ||||||
addProject() | Project | PUT | ||||
updateProject() | Project | PUT | ||||
getProjects() | Project* | PUT | ||||
deleteProject() | void | PUT | ||||
archiveProject() | StoredFile | POST | ||||
restoreProject() | Project | POST | ||||
getWorkingTime() | WorkingTime | GET | for a day | |||
getWorkingTime() | WorkingTime* | GET | for a range of times | |||
updatingWorkingTime() | WorkingTime | PUT | ||||
deleteWorkingTime() | void | PUT | ||||
REPORTS (3) | ||||||
getReportFormats() | String+ | GET | ||||
getReports() | String+ | GET | ||||
runReport() | void | POST | ||||
getActiveProducts() | String+ | GET | ||||
ADMIN (3) | All are customer admin functions as defined in current API | |||||
getUsers() | StorageUser* | GET | ||||
addUser() | StorageUser | PUT | ||||
deleteUser() | boolean | PUT | ||||
updateUser() | StorageUser | PUT | ||||
getAllLicenses() | LicenseKey* | GET | ||||
removeLicenseUser() | void | PUT | ||||
addLicenseUser() | void | PUT | ||||
updateLicenseCheckoutTime() | LicenseKey | PUT | ||||
getLicenseLog() | GET | |||||
LICENSE (5) | Needed for web apps at all? | |||||
getLicenses() | LicenseKey* | GET | ||||
checkoutLicense() | LicenseKey | PUT | ||||
checkinLicense() | LicenseKey | PUT | ||||
renewLicense() | LicenseKey | PUT | ||||
submitLicenseComment() | void | PUT | ||||
SUPPORT (5) | Limited to viewing only operations | |||||
getConfig() | Config | GET | ||||
getCustomers() | StorageCustomer* | GET | ||||
getCustomerByLicense() | StorageCustomer | GET | ||||
getCustomerByUser() | StorageCustomer | GET | ||||
getUsers() | StorageUser | GET | ||||
findUsersByPattern() | StorageUser | GET | ||||
runReport() | POST | |||||
| StorageUser | |||||
| Announcement | |||||
| void | |||||
| LicenseKey* | |||||
| LicenseKey | |||||
| LicenseKey | |||||
| LicenseKey | |||||
| LicenseKey | |||||
| LicenseKey | |||||
| StorageCustomer | |||||
| void | |||||
| String* | Server event list | ||||
| Application | |||||
| ||||||
TRACKING (4) | Plus traditional POSITION API | |||||
getSerialNumbers() | String* | GET | ||||
updateGpsStats() | GpsStat | PUT | ||||
updateGpsStats() | GpsStat | PUT | inp telemetry, needed in web? | |||
getGpsStats() | GpsStat+ | GET | ||||
getGpsTelemetry() | GpsTelemetry | GET | ||||
getTracks() | Track* | GET | ||||
getTrack() | Track | GET | ||||
deleteTrack() | void | PUT | ||||
moveTrack() | Track | PUT | ||||
combineTrack() | Track | PUT | ||||
updateTrack() | void | PUT | ||||
getTrackStats() | TrackStats | GET | ||||
getTrackSummaryStats() | TrackStats | GET | ||||
updateTrackStats() | TrackStats | PUT | ||||
VEHICLES (4) | ||||||
getVehicles() | Vehicle* | GET | ||||
addVehicle() | Vehicle | PUT | ||||
updateVehicle() | Vehicle | PUT | ||||
deleteVehicle() | Vehicle | PUT |