@yaelouuu/fortnite-api 7.0.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,44 +1,14 @@
1
1
  import { FortniteAPI } from "../client";
2
- import { EventWindows, PlayerEventHistory, TournamentDetails, ScoringRules, EventLeaderboard, PlayerEventData, EventRewards, PlayerTokensResponse } from "../types";
2
+ import { EventLeaderboard, PlayerTokensResponse } from "../types";
3
3
  /**
4
4
  * Events Resource
5
- * Handles tournament and competitive events data
5
+ * Handles tournament and competitive events leaderboard data
6
6
  */
7
7
  export declare class EventsResource {
8
8
  private client;
9
9
  constructor(client: FortniteAPI);
10
10
  /**
11
- * Get event windows
12
- * @param eventId - Event ID
13
- * @param fortniteToken - Optional user Fortnite token
14
- * @returns Event windows data
15
- */
16
- getEventWindows(eventId: string, fortniteToken?: string): Promise<EventWindows>;
17
- /**
18
- * Get player event history
19
- * @param accountId - Account ID
20
- * @param fortniteToken - Optional user Fortnite token
21
- * @returns Array of events player participated in
22
- */
23
- getPlayerHistory(accountId: string, fortniteToken?: string): Promise<PlayerEventHistory[]>;
24
- /**
25
- * Get tournament details
26
- * @param eventId - Event ID
27
- * @param eventWindowId - Event window ID
28
- * @param fortniteToken - Optional user Fortnite token
29
- * @returns Tournament details
30
- */
31
- getTournamentDetails(eventId: string, eventWindowId: string, fortniteToken?: string): Promise<TournamentDetails>;
32
- /**
33
- * Get event scoring rules
34
- * @param eventId - Event ID
35
- * @param eventWindowId - Event window ID
36
- * @param fortniteToken - Optional user Fortnite token
37
- * @returns Scoring rules
38
- */
39
- getScoringRules(eventId: string, eventWindowId: string, fortniteToken?: string): Promise<ScoringRules>;
40
- /**
41
- * Get event leaderboard
11
+ * Get the paginated leaderboard for a specific event window
42
12
  * @param eventId - Event ID
43
13
  * @param eventWindowId - Event window ID
44
14
  * @param options - Query options
@@ -47,16 +17,16 @@ export declare class EventsResource {
47
17
  */
48
18
  getLeaderboard(eventId: string, eventWindowId: string, options?: {
49
19
  page?: number;
20
+ leaderboardDef?: string;
50
21
  }, fortniteToken?: string): Promise<EventLeaderboard>;
51
22
  /**
52
- * Get player event data
23
+ * Find a player's rank and surrounding entries in an event window leaderboard.
24
+ * Works for any placement including beyond top 10k. No user token required.
53
25
  * @param eventId - Event ID
54
26
  * @param eventWindowId - Event window ID
55
- * @param accountId - Account ID
56
- * @param fortniteToken - Optional user Fortnite token
57
- * @returns Player's event performance data
27
+ * @param accountId - Epic account ID of the player to look up
58
28
  */
59
- getPlayerEventData(eventId: string, eventWindowId: string, accountId: string, fortniteToken?: string): Promise<PlayerEventData>;
29
+ getPlayerLeaderboard(eventId: string, eventWindowId: string, accountId: string): Promise<EventLeaderboard>;
60
30
  /**
61
31
  * Get the raw token set for one or more players.
62
32
  * Tokens are eligibility flags earned by participating in tournaments
@@ -65,12 +35,4 @@ export declare class EventsResource {
65
35
  * @param accountIds - One or more Epic account IDs
66
36
  */
67
37
  getPlayerTokens(accountIds: string | string[]): Promise<PlayerTokensResponse>;
68
- /**
69
- * Get event rewards/prizes
70
- * @param eventId - Event ID
71
- * @param eventWindowId - Event window ID
72
- * @param fortniteToken - Optional user Fortnite token
73
- * @returns Event rewards structure
74
- */
75
- getEventRewards(eventId: string, eventWindowId: string, fortniteToken?: string): Promise<EventRewards>;
76
38
  }
@@ -3,68 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventsResource = void 0;
4
4
  /**
5
5
  * Events Resource
6
- * Handles tournament and competitive events data
6
+ * Handles tournament and competitive events leaderboard data
7
7
  */
8
8
  class EventsResource {
9
9
  constructor(client) {
10
10
  this.client = client;
11
11
  }
12
12
  /**
13
- * Get event windows
14
- * @param eventId - Event ID
15
- * @param fortniteToken - Optional user Fortnite token
16
- * @returns Event windows data
17
- */
18
- async getEventWindows(eventId, fortniteToken) {
19
- const headers = {};
20
- if (fortniteToken) {
21
- headers["x-fortnite-token"] = fortniteToken;
22
- }
23
- return this.client.request(`/events/${eventId}/windows`, { headers }, "v2");
24
- }
25
- /**
26
- * Get player event history
27
- * @param accountId - Account ID
28
- * @param fortniteToken - Optional user Fortnite token
29
- * @returns Array of events player participated in
30
- */
31
- async getPlayerHistory(accountId, fortniteToken) {
32
- const headers = {};
33
- if (fortniteToken) {
34
- headers["x-fortnite-token"] = fortniteToken;
35
- }
36
- return this.client.request(`/events/history/${accountId}`, { headers }, "v2");
37
- }
38
- /**
39
- * Get tournament details
40
- * @param eventId - Event ID
41
- * @param eventWindowId - Event window ID
42
- * @param fortniteToken - Optional user Fortnite token
43
- * @returns Tournament details
44
- */
45
- async getTournamentDetails(eventId, eventWindowId, fortniteToken) {
46
- const headers = {};
47
- if (fortniteToken) {
48
- headers["x-fortnite-token"] = fortniteToken;
49
- }
50
- return this.client.request(`/events/${eventId}/windows/${eventWindowId}`, { headers }, "v2");
51
- }
52
- /**
53
- * Get event scoring rules
54
- * @param eventId - Event ID
55
- * @param eventWindowId - Event window ID
56
- * @param fortniteToken - Optional user Fortnite token
57
- * @returns Scoring rules
58
- */
59
- async getScoringRules(eventId, eventWindowId, fortniteToken) {
60
- const headers = {};
61
- if (fortniteToken) {
62
- headers["x-fortnite-token"] = fortniteToken;
63
- }
64
- return this.client.request(`/events/${eventId}/windows/${eventWindowId}/scoring`, { headers }, "v2");
65
- }
66
- /**
67
- * Get event leaderboard
13
+ * Get the paginated leaderboard for a specific event window
68
14
  * @param eventId - Event ID
69
15
  * @param eventWindowId - Event window ID
70
16
  * @param options - Query options
@@ -76,23 +22,23 @@ class EventsResource {
76
22
  if (fortniteToken) {
77
23
  headers["x-fortnite-token"] = fortniteToken;
78
24
  }
79
- const query = options?.page ? `?page=${options.page}` : "";
80
- return this.client.request(`/events/${eventId}/windows/${eventWindowId}/leaderboard${query}`, { headers }, "v2");
25
+ const params = new URLSearchParams();
26
+ if (options?.page != null)
27
+ params.append("page", String(options.page));
28
+ if (options?.leaderboardDef)
29
+ params.append("leaderboardDef", options.leaderboardDef);
30
+ const qs = params.toString();
31
+ return this.client.request(`/events/${eventId}/windows/${eventWindowId}/leaderboard${qs ? `?${qs}` : ""}`, { headers }, "v2");
81
32
  }
82
33
  /**
83
- * Get player event data
34
+ * Find a player's rank and surrounding entries in an event window leaderboard.
35
+ * Works for any placement including beyond top 10k. No user token required.
84
36
  * @param eventId - Event ID
85
37
  * @param eventWindowId - Event window ID
86
- * @param accountId - Account ID
87
- * @param fortniteToken - Optional user Fortnite token
88
- * @returns Player's event performance data
38
+ * @param accountId - Epic account ID of the player to look up
89
39
  */
90
- async getPlayerEventData(eventId, eventWindowId, accountId, fortniteToken) {
91
- const headers = {};
92
- if (fortniteToken) {
93
- headers["x-fortnite-token"] = fortniteToken;
94
- }
95
- return this.client.request(`/events/${eventId}/windows/${eventWindowId}/players/${accountId}`, { headers }, "v2");
40
+ async getPlayerLeaderboard(eventId, eventWindowId, accountId) {
41
+ return this.client.request(`/events/${eventId}/windows/${eventWindowId}/leaderboard/player?accountId=${encodeURIComponent(accountId)}`, {}, "v2");
96
42
  }
97
43
  /**
98
44
  * Get the raw token set for one or more players.
@@ -106,19 +52,5 @@ class EventsResource {
106
52
  const qs = ids.map(encodeURIComponent).join("%2C");
107
53
  return this.client.request(`/events/tokens?teamAccountIds=${qs}`, {}, "v1");
108
54
  }
109
- /**
110
- * Get event rewards/prizes
111
- * @param eventId - Event ID
112
- * @param eventWindowId - Event window ID
113
- * @param fortniteToken - Optional user Fortnite token
114
- * @returns Event rewards structure
115
- */
116
- async getEventRewards(eventId, eventWindowId, fortniteToken) {
117
- const headers = {};
118
- if (fortniteToken) {
119
- headers["x-fortnite-token"] = fortniteToken;
120
- }
121
- return this.client.request(`/events/${eventId}/windows/${eventWindowId}/rewards`, { headers }, "v2");
122
- }
123
55
  }
124
56
  exports.EventsResource = EventsResource;
@@ -18,9 +18,14 @@ export declare class ProfilesResource {
18
18
  getLevel(accountId: string, fortniteToken: string): Promise<ProfileLevel>;
19
19
  /**
20
20
  * Get enriched ranked progress — human-readable rank names, game mode labels, season dates.
21
- * @param displayName - Epic Games display name
21
+ * Accepts either a display name or an account ID. Account ID is preferred: it is faster
22
+ * (skips the name→ID lookup) and is not affected by display name changes.
23
+ * @param displayName - Epic Games display name (ignored if accountId is provided)
24
+ * @param options - Optional: pass `accountId` to bypass the name lookup
22
25
  */
23
- getRanked(displayName: string): Promise<RankedProgress[]>;
26
+ getRanked(displayName: string, options?: {
27
+ accountId?: string;
28
+ }): Promise<RankedProgress[]>;
24
29
  /**
25
30
  * Get all available ranked game mode tracks — modes, division counts, and season dates.
26
31
  * @param options - Optional filters
@@ -24,10 +24,20 @@ class ProfilesResource {
24
24
  }
25
25
  /**
26
26
  * Get enriched ranked progress — human-readable rank names, game mode labels, season dates.
27
- * @param displayName - Epic Games display name
27
+ * Accepts either a display name or an account ID. Account ID is preferred: it is faster
28
+ * (skips the name→ID lookup) and is not affected by display name changes.
29
+ * @param displayName - Epic Games display name (ignored if accountId is provided)
30
+ * @param options - Optional: pass `accountId` to bypass the name lookup
28
31
  */
29
- async getRanked(displayName) {
30
- return this.client.request(`/profile/ranked?displayName=${encodeURIComponent(displayName)}`);
32
+ async getRanked(displayName, options) {
33
+ const params = new URLSearchParams();
34
+ if (options?.accountId) {
35
+ params.append("accountId", options.accountId);
36
+ }
37
+ else {
38
+ params.append("displayName", displayName);
39
+ }
40
+ return this.client.request(`/profile/ranked?${params.toString()}`);
31
41
  }
32
42
  /**
33
43
  * Get all available ranked game mode tracks — modes, division counts, and season dates.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaelouuu/fortnite-api",
3
- "version": "7.0.0",
3
+ "version": "7.1.1",
4
4
  "description": "SDK for Fortnite API - api-fortnite.com - Author : Yael Brinkert",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",