07e83fe36c
Core removed `POST /matches/result` as an economy path: it had no transaction and no idempotency key, so it re-credited the same match on every call. The two EA result routes and the dashboard now target `POST /matches/complete`. The dashboard mints a fresh `match_identity` per submission — each click is a distinct match — and opts into `expire_loans` / `advance_season`, which the old route used to trigger implicitly. The mapper entries and the endpoint map record that a body must carry `match_identity`; those EA mappings were already marked "Needs capture", so the body shape stays unverified either way.
65 lines
1.8 KiB
Markdown
65 lines
1.8 KiB
Markdown
# FUT → OpenFUT Core Endpoint Map
|
|
|
|
This document maps confirmed or suspected FIFA 23 FUT API endpoints to their OpenFUT Core equivalents.
|
|
|
|
## Legend
|
|
|
|
- ✅ Confirmed + implemented
|
|
- 🟡 Suspected — implemented with placeholder
|
|
- ❌ Unknown — not yet mapped
|
|
|
|
---
|
|
|
|
## Auth
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| `POST /ut/auth` | `POST /auth/local` | 🟡 | EA OAuth flow → local profile creation |
|
|
|
|
## Profile / Club
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| `GET /ut/game/fut/user/settings` | `GET /profile` | 🟡 | |
|
|
| `GET /ut/game/fut/usermassinfo` | `GET /club` | 🟡 | EA bulk endpoint |
|
|
|
|
## Squad
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| `GET /ut/game/fut/squad/active` | `GET /squad` | 🟡 | |
|
|
| `PUT /ut/game/fut/squad/active` | `POST /squad` | ❌ | |
|
|
|
|
## Packs
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| `GET /ut/game/fut/store/packdetails` | `GET /packs` | 🟡 | |
|
|
| `POST /ut/game/fut/pack/buy` | `POST /packs/open/:id` | ❌ | |
|
|
|
|
## Transfer Market
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| `GET /ut/game/fut/transfermarket` | `GET /market` | 🟡 | |
|
|
| `DELETE /ut/game/fut/trade/:id` | `POST /market/sell` | ❌ | |
|
|
|
|
## Matches / Seasons
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| Unknown | `POST /matches/complete` | ❌ | Needs capture. Body must carry a `match_identity` (exactly-once key). `POST /matches/result` was removed — no transaction, no idempotency key. |
|
|
|
|
## Objectives
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| Unknown | `GET /objectives` | ❌ | Needs capture |
|
|
|
|
## SBCs
|
|
|
|
| FUT Endpoint | Core Endpoint | Status | Notes |
|
|
|---|---|---|---|
|
|
| Unknown | `GET /sbc` | ❌ | Needs capture |
|
|
| Unknown | `POST /sbc/submit` | ❌ | Needs capture |
|