# FASPRO Tracker Developer's Guide ## Table of Contents [TOC] ###### tags: `Faspro`, `Tracker` ## API Specifications * [Full API Listings](https://spec.tracker.fasprosystems.com/) (web pages) * [Basic call flows](https://docs.google.com/spreadsheets/d/1g6zkIQ4dGe-8pVhS7KSFFz6nxJHTvZM2ACSHK01Ov9Y/edit?usp=sharing) (spreadsheets) ## Sample Codes https://gitlab.com/faspro.dev/tracker-samples The sample project which includes: * Android client * User login * Register devices * Subscribe to topics * Change device settings * RESTful API (Postman collections) * Test scripts (PHP, bash) ## Sequence Diagrams ### User Signup ```sequence CustomApp->CustomServer: Signup CustomServer->UGS: User registration UGS-->CustomApp: verification CustomApp-->UGS: confirm UGS->CustomServer: callback ``` ### User Login ```sequence CustomApp->CustomServer: Login CustomServer->UGS: User login UGS-->CustomServer: UGS token CustomApp->CustomServer: (request) CustomServer->AppServer: invoke with UGS token AppServer-->CustomServer: (response) CustomServer-->CustomApp: (response) ``` ### Device Settings ```sequence CustomApp->CustomServer: Change settings CustomServer->AppServer: Change settings AppServer->Device: Publish MQTT Device->AppServer: Get settings Note over Device: apply settings Device->AppServer: Ack AppServer->CustomServer: Ack CustomServer-->CustomApp: Notifications ``` ### App Request Location Report ```sequence Participant App as A Participant MQTT Server as S Participant Tracker as T Note Left of S: Setup Phase T->S: Subscribe location request A->S: Subscribe location report Note Left of S: Request Phase A->S: Publish location request S->T: Location request T->S: Publish location report S->A: Location report ``` More: [Tracker sequence diagrams](https://s3-us-west-2.amazonaws.com/faspro.dev/docs/Tracker_sequence_diagrams.pdf)