Player platform labels
Nintendo labels were added after
0.3.2. Check the
release notes
for package availability.matches.list preserves each player’s raw namespace and adds
derivedLabels.platformFamily and derivedLabels.exactPlatform when they
can be resolved.
switch means the Nintendo Switch family, including Switch 2. EA exposes
one nx pool with no field to distinguish the consoles. Numeric namespaces
are also accepted. Friendly-match ("0"), empty, and unknown namespaces
remain unresolved. resolvePlatformFamily works without request context;
resolveExactPlatform also requires the requested EA platform.
The Nintendo mapping was checked against live EA responses on 2026-10-01:
118 player-match rows across 28 distinct league matches and 15 club rosters
all carried namespace "4". The sampled clubs returned no playoff matches.
Beginner example with HEMLE FC
reputationtier, currentDivision, or customKit.
Call the helpers explicitly when you need a display label or crest URL.
Playoff season names are not a closed enum because EA can add new keys:
Known mappings
Platforms
Match types
Request codes formatches.list({ type }):
Numeric
matchType values on matches.list club rows:
resolveMatchTypeLabel accepts both namespaces. Use the request code when
building SDK input and the numeric id when reading a match row from EA.
Position families
Reputation tiers
Current divisions
The legacy ten-division model returned by
/settings is out of scope here.
Playoff results
Labels are copied exactly from EA, including
Runner-Up and Also-ran.
Mapping and helpers
- a frozen constant (
PLATFORM_LABELS,REPUTATION_LABELS, …) - derived public types (
KnownPlatformId,ReputationLabel, …) - a tolerant resolver (
resolvePlatformLabel,resolveReputationLabel, …)
platform, match type, position) accept trimmed
strings. Numeric families (reputation, division, playoff result) also
accept finite numbers. There is no partial match and no fuzzy coercion.
Consumers that only need the metadata tables and resolvers can import from the
standalone subpath proclubs-sdk/metadata without loading the HTTP client or
native dependencies.
Club crest URLs
- when
customKit.selectedKitTypeis1andcrestAssetIdis present, usecrestAssetId; - otherwise use
teamId; - when no usable identifier exists, return
undefined.
EA_CREST_ASSET_BASE_URL is centralized so maintainers can update it when EA
changes asset hosts.
Stability limits
- EA labels and asset hosts can change without notice.
- Unknown IDs remain valid at runtime; extend the relevant
*_LABELSconstant after confirming the EA label. - Crest URLs depend on EA CDN paths that have changed between FC releases.
- Helpers never mutate the objects you pass in.