# traccar-api-client

Traccar - JavaScript client for traccar
No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 4.5
- Package version: 4.5.0
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/),
please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install traccar-api-client --save
```

##### Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing 
into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
npm link
```

Finally, switch to the directory you want to use your traccar from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

You should now be able to `require('traccar')` in javascript files from the directory you ran the last 
command above from.

#### git
#
If the library is hosted at a git repository, e.g.
https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file, that's to say your javascript file where you actually 
use this library):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var Traccar = require('traccar-api-client');

var defaultClient = Traccar.ApiClient.instance;
// Configure HTTP API Server
defaultClient.basePath = 'https://YOUR-TRACCAR-SERVER/api';

// Configure HTTP basic authorization: basicAuth
var basicAuth = defaultClient.authentications['basicAuth'];
basicAuth.username = 'YOUR USERNAME'
basicAuth.password = 'YOUR PASSWORD'

var api = new Traccar.DefaultApi()

var opts = { 
  'all': true, // {Boolean} Can only be used by admins or managers to fetch all entities
  'userId': 56, // {Number} Standard users can use this only with their own _userId_
  'deviceId': 56, // {Number} Standard users can use this only with _deviceId_s, they have access to
  'groupId': 56, // {Number} Standard users can use this only with _groupId_s, they have access to
  'refresh': true // {Boolean} 
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.attributesComputedGet(opts, callback);

```

## Documentation for API Endpoints

All URIs are relative to *http://demo.traccar.org/api*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*Traccar.DefaultApi* | [**attributesComputedGet**](docs/DefaultApi.md#attributesComputedGet) | **GET** /attributes/computed | Fetch a list of Attributes
*Traccar.DefaultApi* | [**attributesComputedIdDelete**](docs/DefaultApi.md#attributesComputedIdDelete) | **DELETE** /attributes/computed/{id} | Delete an Attribute
*Traccar.DefaultApi* | [**attributesComputedIdPut**](docs/DefaultApi.md#attributesComputedIdPut) | **PUT** /attributes/computed/{id} | Update an Attribute
*Traccar.DefaultApi* | [**attributesComputedPost**](docs/DefaultApi.md#attributesComputedPost) | **POST** /attributes/computed | Create an Attribute
*Traccar.DefaultApi* | [**calendarsGet**](docs/DefaultApi.md#calendarsGet) | **GET** /calendars | Fetch a list of Calendars
*Traccar.DefaultApi* | [**calendarsIdDelete**](docs/DefaultApi.md#calendarsIdDelete) | **DELETE** /calendars/{id} | Delete a Calendar
*Traccar.DefaultApi* | [**calendarsIdPut**](docs/DefaultApi.md#calendarsIdPut) | **PUT** /calendars/{id} | Update a Calendar
*Traccar.DefaultApi* | [**calendarsPost**](docs/DefaultApi.md#calendarsPost) | **POST** /calendars | Create a Calendar
*Traccar.DefaultApi* | [**commandsGet**](docs/DefaultApi.md#commandsGet) | **GET** /commands | Fetch a list of Saved Commands
*Traccar.DefaultApi* | [**commandsIdDelete**](docs/DefaultApi.md#commandsIdDelete) | **DELETE** /commands/{id} | Delete a Saved Command
*Traccar.DefaultApi* | [**commandsIdPut**](docs/DefaultApi.md#commandsIdPut) | **PUT** /commands/{id} | Update a Saved Command
*Traccar.DefaultApi* | [**commandsPost**](docs/DefaultApi.md#commandsPost) | **POST** /commands | Create a Saved Command
*Traccar.DefaultApi* | [**commandsSendGet**](docs/DefaultApi.md#commandsSendGet) | **GET** /commands/send | Fetch a list of Saved Commands supported by Device at the moment
*Traccar.DefaultApi* | [**commandsSendPost**](docs/DefaultApi.md#commandsSendPost) | **POST** /commands/send | Dispatch commands to device
*Traccar.DefaultApi* | [**commandsTypesGet**](docs/DefaultApi.md#commandsTypesGet) | **GET** /commands/types | Fetch a list of available Commands for the Device or all possible Commands if Device ommited
*Traccar.DefaultApi* | [**devicesGet**](docs/DefaultApi.md#devicesGet) | **GET** /devices | Fetch a list of Devices
*Traccar.DefaultApi* | [**devicesIdAccumulatorsPut**](docs/DefaultApi.md#devicesIdAccumulatorsPut) | **PUT** /devices/{id}/accumulators | Update total distance and hours of the Device
*Traccar.DefaultApi* | [**devicesIdDelete**](docs/DefaultApi.md#devicesIdDelete) | **DELETE** /devices/{id} | Delete a Device
*Traccar.DefaultApi* | [**devicesIdPut**](docs/DefaultApi.md#devicesIdPut) | **PUT** /devices/{id} | Update a Device
*Traccar.DefaultApi* | [**devicesPost**](docs/DefaultApi.md#devicesPost) | **POST** /devices | Create a Device
*Traccar.DefaultApi* | [**driversGet**](docs/DefaultApi.md#driversGet) | **GET** /drivers | Fetch a list of Drivers
*Traccar.DefaultApi* | [**driversIdDelete**](docs/DefaultApi.md#driversIdDelete) | **DELETE** /drivers/{id} | Delete a Driver
*Traccar.DefaultApi* | [**driversIdPut**](docs/DefaultApi.md#driversIdPut) | **PUT** /drivers/{id} | Update a Driver
*Traccar.DefaultApi* | [**driversPost**](docs/DefaultApi.md#driversPost) | **POST** /drivers | Create a Driver
*Traccar.DefaultApi* | [**eventsIdGet**](docs/DefaultApi.md#eventsIdGet) | **GET** /events/{id} | 
*Traccar.DefaultApi* | [**geofencesGet**](docs/DefaultApi.md#geofencesGet) | **GET** /geofences | Fetch a list of Geofences
*Traccar.DefaultApi* | [**geofencesIdDelete**](docs/DefaultApi.md#geofencesIdDelete) | **DELETE** /geofences/{id} | Delete a Geofence
*Traccar.DefaultApi* | [**geofencesIdPut**](docs/DefaultApi.md#geofencesIdPut) | **PUT** /geofences/{id} | Update a Geofence
*Traccar.DefaultApi* | [**geofencesPost**](docs/DefaultApi.md#geofencesPost) | **POST** /geofences | Create a Geofence
*Traccar.DefaultApi* | [**groupsGet**](docs/DefaultApi.md#groupsGet) | **GET** /groups | Fetch a list of Groups
*Traccar.DefaultApi* | [**groupsIdDelete**](docs/DefaultApi.md#groupsIdDelete) | **DELETE** /groups/{id} | Delete a Group
*Traccar.DefaultApi* | [**groupsIdPut**](docs/DefaultApi.md#groupsIdPut) | **PUT** /groups/{id} | Update a Group
*Traccar.DefaultApi* | [**groupsPost**](docs/DefaultApi.md#groupsPost) | **POST** /groups | Create a Group
*Traccar.DefaultApi* | [**maintenanceGet**](docs/DefaultApi.md#maintenanceGet) | **GET** /maintenance | Fetch a list of Maintenance
*Traccar.DefaultApi* | [**maintenanceIdDelete**](docs/DefaultApi.md#maintenanceIdDelete) | **DELETE** /maintenance/{id} | Delete a Maintenance
*Traccar.DefaultApi* | [**maintenanceIdPut**](docs/DefaultApi.md#maintenanceIdPut) | **PUT** /maintenance/{id} | Update a Maintenance
*Traccar.DefaultApi* | [**maintenancePost**](docs/DefaultApi.md#maintenancePost) | **POST** /maintenance | Create a Maintenance
*Traccar.DefaultApi* | [**notificationsGet**](docs/DefaultApi.md#notificationsGet) | **GET** /notifications | Fetch a list of Notifications
*Traccar.DefaultApi* | [**notificationsIdDelete**](docs/DefaultApi.md#notificationsIdDelete) | **DELETE** /notifications/{id} | Delete a Notification
*Traccar.DefaultApi* | [**notificationsIdPut**](docs/DefaultApi.md#notificationsIdPut) | **PUT** /notifications/{id} | Update a Notification
*Traccar.DefaultApi* | [**notificationsPost**](docs/DefaultApi.md#notificationsPost) | **POST** /notifications | Create a Notification
*Traccar.DefaultApi* | [**notificationsTestPost**](docs/DefaultApi.md#notificationsTestPost) | **POST** /notifications/test | Send test notification to current user via Email and SMS
*Traccar.DefaultApi* | [**notificationsTypesGet**](docs/DefaultApi.md#notificationsTypesGet) | **GET** /notifications/types | Fetch a list of available Notification types
*Traccar.DefaultApi* | [**permissionsDelete**](docs/DefaultApi.md#permissionsDelete) | **DELETE** /permissions | Unlink an Object from another Object
*Traccar.DefaultApi* | [**permissionsPost**](docs/DefaultApi.md#permissionsPost) | **POST** /permissions | Link an Object to another Object
*Traccar.DefaultApi* | [**positionsGet**](docs/DefaultApi.md#positionsGet) | **GET** /positions | Fetches a list of Positions
*Traccar.DefaultApi* | [**reportsEventsGet**](docs/DefaultApi.md#reportsEventsGet) | **GET** /reports/events | Fetch a list of Events within the time period for the Devices or Groups
*Traccar.DefaultApi* | [**reportsRouteGet**](docs/DefaultApi.md#reportsRouteGet) | **GET** /reports/route | Fetch a list of Positions within the time period for the Devices or Groups
*Traccar.DefaultApi* | [**reportsStopsGet**](docs/DefaultApi.md#reportsStopsGet) | **GET** /reports/stops | Fetch a list of ReportStops within the time period for the Devices or Groups
*Traccar.DefaultApi* | [**reportsSummaryGet**](docs/DefaultApi.md#reportsSummaryGet) | **GET** /reports/summary | Fetch a list of ReportSummary within the time period for the Devices or Groups
*Traccar.DefaultApi* | [**reportsTripsGet**](docs/DefaultApi.md#reportsTripsGet) | **GET** /reports/trips | Fetch a list of ReportTrips within the time period for the Devices or Groups
*Traccar.DefaultApi* | [**serverGet**](docs/DefaultApi.md#serverGet) | **GET** /server | Fetch Server information
*Traccar.DefaultApi* | [**serverPut**](docs/DefaultApi.md#serverPut) | **PUT** /server | Update Server information
*Traccar.DefaultApi* | [**sessionDelete**](docs/DefaultApi.md#sessionDelete) | **DELETE** /session | Close the Session
*Traccar.DefaultApi* | [**sessionGet**](docs/DefaultApi.md#sessionGet) | **GET** /session | Fetch Session information
*Traccar.DefaultApi* | [**sessionPost**](docs/DefaultApi.md#sessionPost) | **POST** /session | Create a new Session
*Traccar.DefaultApi* | [**statisticsGet**](docs/DefaultApi.md#statisticsGet) | **GET** /statistics | Fetch server Statistics
*Traccar.DefaultApi* | [**usersGet**](docs/DefaultApi.md#usersGet) | **GET** /users | Fetch a list of Users
*Traccar.DefaultApi* | [**usersIdDelete**](docs/DefaultApi.md#usersIdDelete) | **DELETE** /users/{id} | Delete a User
*Traccar.DefaultApi* | [**usersIdPut**](docs/DefaultApi.md#usersIdPut) | **PUT** /users/{id} | Update a User
*Traccar.DefaultApi* | [**usersPost**](docs/DefaultApi.md#usersPost) | **POST** /users | Create a User


## Documentation for Models

 - [Traccar.Attribute](docs/Attribute.md)
 - [Traccar.Calendar](docs/Calendar.md)
 - [Traccar.Command](docs/Command.md)
 - [Traccar.CommandType](docs/CommandType.md)
 - [Traccar.Device](docs/Device.md)
 - [Traccar.DeviceAccumulators](docs/DeviceAccumulators.md)
 - [Traccar.Driver](docs/Driver.md)
 - [Traccar.Event](docs/Event.md)
 - [Traccar.Geofence](docs/Geofence.md)
 - [Traccar.Group](docs/Group.md)
 - [Traccar.Maintenance](docs/Maintenance.md)
 - [Traccar.Notification](docs/Notification.md)
 - [Traccar.NotificationType](docs/NotificationType.md)
 - [Traccar.Permission](docs/Permission.md)
 - [Traccar.Position](docs/Position.md)
 - [Traccar.ReportStops](docs/ReportStops.md)
 - [Traccar.ReportSummary](docs/ReportSummary.md)
 - [Traccar.ReportTrips](docs/ReportTrips.md)
 - [Traccar.Server](docs/Server.md)
 - [Traccar.Statistics](docs/Statistics.md)
 - [Traccar.User](docs/User.md)


## Documentation for Authorization


### basicAuth

- **Type**: HTTP basic authentication

