---
# System prepended metadata

title: FASPRO Tracker Developer's Guide
tags: [Faspro, Tracker]

---

# 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)

