API 客户端

概述

Umami API 客户端使用 TypeScript 构建,包含调用 Umami 中所有可用 API 端点的函数。

要求

安装

npm install @umami/api-client

配置

调用您自己的 API 需要以下环境变量。

UMAMI_API_CLIENT_USER_ID
UMAMI_API_CLIENT_SECRET
UMAMI_API_CLIENT_ENDPOINT

访问 Umami Cloud 需要以下环境变量。

UMAMI_API_KEY
UMAMI_API_CLIENT_ENDPOINT

有关访问 Umami Cloud 的更多详情,请参见 API 密钥

使用方法

导入已配置的 api-client,并使用可用的类方法进行查询。

import { getClient } from '@umami/api-client';

const client = getClient();

const { ok, data, status, error } = await client.getWebsites();

结果将以以下格式返回。

{
  ok: boolean;
  status: number;
  data?: T;
  error?: any;
}

API 客户端函数映射

Me(我的信息)

getMe() ⇒ GET /me
updateMyPassword(data) ⇒ POST /me/password
getMyWebsites() ⇒ GET /me/websites

Users(用户)

getUsers() ⇒ GET /users
createUser(data) ⇒ POST /users
getUser(id) ⇒ GET /users/{id}
updateUser(id, data) ⇒ POST /users/{id}
deleteUser(id) ⇒ DEL /users/{id}
getUserWebsites(id) ⇒ GET /users/{id}/websites
getUserUsage(id, data) ⇒ GET /users/{id}/usage

Teams(团队)

getTeams() ⇒ GET /teams
createTeam(data) ⇒ POST /teams
joinTeam(data) ⇒ POST /teams/join
getTeam(id) ⇒ GET /teams/{id}
updateTeam(id) ⇒ POST /teams/{id}
deleteTeam(id) ⇒ DEL /teams/{id}
getTeamUsers(id) ⇒ GET /teams/{id}/users
deleteTeamUser(teamId, userId): DEL /teams/{teamId}/users/{userId}
getTeamWebsites(id) ⇒ GET /teams/{id}/websites
createTeamWebsites(id, data) ⇒ GET /teams/{id}/websites
deleteTeamWebsite(teamId, websiteId) ⇒ DEL /teams/{teamId}/websites/{websiteId}

Websites(网站)

getWebsites() ⇒ GET /websites
createWebsite(data) ⇒ POST /websites
getWebsite(id) ⇒ GET /websites/{id}
updateWebsite(id, data) ⇒ POST /websites/{id}
deleteWebsite(id) ⇒ DEL /websites/{id}
getWebsiteActive(id) ⇒ GET /websites/{id}/active
getWebsiteEvents(id, data) ⇒ GET /websites/{id}/events
getWebsiteMetrics(id, data) ⇒ GET /websites/{id}/metrics
getWebsitePageviews(id, data) ⇒ GET /websites/{id}/pageviews
resetWebsite(id) ⇒ GET /websites/{id}/reset
getWebsiteStats(id, data) ⇒ GET /websites/{id}/stats

Event Data(事件数据)

getEventDataEvents(id, data) ⇒ GET /event-data/events
getEventDataFields(id, data) ⇒ GET /event-data/fields
getEventDataStats(id, data) ⇒ GET /event-data/stats

环境变量

UMAMI_API_CLIENT_USER_ID = <用户 UUID>

执行 API 调用的用户的 USER_ID。权限限制将根据应用设置生效。

UMAMI_API_CLIENT_SECRET = <随机字符串>

用于生成唯一值的随机字符串。此值需与 Umami 应用中使用的 APP_SECRET 匹配。

UMAMI_API_CLIENT_ENDPOINT = <API 端点>

您的 Umami API 端点地址。例如:https://{yourserver}/api/

UMAMI_API_KEY = <API 密钥字符串>

Umami Cloud 提供的唯一字符串。