tesla-fleet-api
Version:
A library for the [Tesla Fleet API](https://developer.tesla.com/docs/fleet-api), and the third parties services [Teslemetry](https://teslemetry.com/docs/getting-started/api) and [Tessie](https://developer.tessie.com/docs/tesla-api-comparison), which provi
40 lines (33 loc) • 1.16 kB
text/typescript
import TeslaFleetApi from "./teslafleetapi.js";
import { Scope } from "./types/commands.js";
type Region = "na" | "eu" | "api";
type Test = { response: boolean };
type Metadata = {
uid: string;
region: "NA" | "EU";
scopes: Scope[];
vins: string[];
};
export default class Telemetry extends TeslaFleetApi {
constructor(accessToken: string, region: Region = "api") {
super({ accessToken, server: `https://${region}.teslemetry.com`, partnerScope: false, userScope: false });
}
/**
* Test the connection to Teslemetry
*/
async test(): Promise<Test> {
return this._request("GET", "/api/test").then(({ response }) => response);
}
/**
* Get details about your Teslemetry account
* @param update_region Update the server URL based on the region in the metadata
*/
async metadata(update_region = true): Promise<Metadata> {
return this._request("GET", "/api/metadata").then((metadata) => {
if (update_region) {
this.server = `https://${metadata.region.toLowerCase()}.teslemetry.com`;
}
return metadata;
});
}
}