docs(evidence): commit fresh sanitised UTAS wire captures (2026-08-15 live A/B)
Rebuilds the primary-capture corpus lost to .gitignore (Known Issues #200): 10 real-client requests + 12 responses captured during the post-P1 staging A/B on a real FIFA 17 client, sanitised (SID/authCode/deviceId/MAC/tokens redacted; raw pcap withheld). Documents the account/sync, empty-My-Packs 65534 sentinel, and userMassInfo contracts, incl. the finding that account/sync is coupled to Python active-profile selection (so it can't migrate standalone from the userMassInfo hybrid).
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Live UTAS wire captures — 2026-08-15
|
||||
|
||||
Fresh sanitised FIFA 17 UTAS wire, captured during the post-P1 staging A/B on a
|
||||
**real FIFA 17 client** (`10.10.0.105`) driving the isolated post-P1 candidate
|
||||
backend (`10.10.0.121`, host bin `fda40d12`, Core `fbb54ea`). Production untouched.
|
||||
|
||||
This rebuilds the primary-capture corpus that was lost to `.gitignore` (Known Issues
|
||||
#200 / "take sanitised captures on the next live FIFA run and commit them").
|
||||
|
||||
## Files
|
||||
- `utas-requests.sanitised.txt` — 10 real client requests (`---`-separated).
|
||||
- `utas-responses.sanitised.txt` — 12 responses.
|
||||
|
||||
Captured with `tcpdump` on the container netns (UTAS is plain HTTP on `:8099`),
|
||||
reassembled + split + **sanitised** by `openfut-staging/extract_http.py`. Redacted:
|
||||
`X-UT-SID`/`sid` (`<SID>`), `authCode` (`<AUTH>`), `deviceId` (`<DEV>`), `macAddress`
|
||||
(`<MAC>`), and any 32+char hex token (`<TOKEN>`). The raw `.pcap` is intentionally
|
||||
NOT committed (it is unsanitised).
|
||||
|
||||
## Route contracts captured (verbatim shapes)
|
||||
|
||||
### POST /openfut/account/sync (launcher control-plane, Python-served)
|
||||
Request (launcher → backend):
|
||||
```json
|
||||
{"personaId":33068179,"personaName":"CAGE","level":1,"experience":0,
|
||||
"experienceMax":1000,"accountFunds":0,"accountFundsCap":100000}
|
||||
```
|
||||
Response:
|
||||
```json
|
||||
{"account":{"personaId":33068179,"personaName":"CAGE","clubName":"OpenFUT",
|
||||
"clubAbbr":"OFC","level":1,"experience":0,"experienceMax":1000,"accountFunds":0,
|
||||
"accountFundsCap":100000,"profilePath":"accounts/33068179/fifa17_profile.json",
|
||||
"coins":29826776,"unopenedPacks":0},"status":"OK"}
|
||||
```
|
||||
NOTE: `coins` here is Python's STALE profile value (29,826,776) — Core's authoritative
|
||||
balance at capture time was 29,859,876. The launcher's `AccountSummary` parser is
|
||||
lenient and requires only `{personaId,personaName,level,experience,accountFunds,coins,
|
||||
unopenedPacks}` (clubName/clubAbbr/etc. ignored). BLOCKER for a Rust migration is NOT
|
||||
the shape — it is that Python `account/sync` also *selects the active profile* the
|
||||
still-Python-served userMassInfo envelope depends on, so it is coupled to the
|
||||
userMassInfo hybrid and cannot migrate standalone.
|
||||
|
||||
### GET /ut/game/fifa17/store/purchasegroup/all?ppInfo=true (empty My-Packs sentinel)
|
||||
The `mypacks` group carries the synthetic sentinel pack when My Packs is empty:
|
||||
```json
|
||||
{"assetId":65534,"displayGroup":{"priority":1,"value":"mypacks"},"id":65534,
|
||||
"packType":"GOLD","packContentInfo":{"goldQuantity":0,"itemQuantity":0,...},
|
||||
"state":"active","unopened":false}
|
||||
```
|
||||
Client renders empty My Packs AS Browse Packs (no crash) — the bug-6c resolver guard.
|
||||
|
||||
### Other captured request lines
|
||||
`POST /ut/auth`, `GET user/accountinfo`, `GET settings`, `GET phishing/trusteddevice`,
|
||||
`PUT match/reset`, `GET userMassInfo`, `PUT clientdata/userHubData`,
|
||||
`PUT /ut/v2/game/fifa17/store/transaction/0`.
|
||||
|
||||
See `openfut-staging/p1p-live-2026-08-15/AB_VERDICT.md` for the full A/B result.
|
||||
@@ -0,0 +1,157 @@
|
||||
POST /openfut/account/sync HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Content-Type: application/json
|
||||
Content-Length: 131
|
||||
Connection: close
|
||||
|
||||
{"personaId":33068179,"personaName":"CAGE","level":1,"experience":0,"experienceMax":1000,"accountFunds":0,"accountFundsCap":100000}
|
||||
|
||||
---
|
||||
|
||||
GET /ut/game/fifa17/user/accountinfo HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Connection: Close
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
Accept-Encoding: gzip
|
||||
Easw-Session-Data-Nucleus-Id: 33068179
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
POST /ut/auth HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Content-Length: 380
|
||||
Connection: Close
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
Hash: <TOKEN>
|
||||
|
||||
{"isReadOnly":false,"priorityLevel":6,"sku":"FFA17PCC","nucleusPersonaPlatform":"pc","clientVersion":3,"nuc":33068179,"nucleusPersonaId":33068179,"nucleusPersonaDisplayName":"CAGE","locale":"en-US","regionCode":"US","deviceId":"<DEV>","macAddress":"<MAC>","method":"authcode","identification":{"authCode":"<AUTH>"}}
|
||||
|
||||
---
|
||||
|
||||
GET /ut/game/fifa17/settings HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
GET /ut/game/fifa17/phishing/trusteddevice?deviceId=<DEV> HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
GET /ut/game/fifa17/phishing/trusteddevice?deviceId=<DEV> HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
PUT /ut/game/fifa17/match/reset HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Content-Length: 0
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
|
||||
GET /ut/game/fifa17/userMassInfo HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
GET /ut/game/fifa17/userMassInfo HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
PUT /ut/v2/game/fifa17/store/transaction/0 HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Content-Length: 29
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
|
||||
{"state":"TRANSACTIONCANCEL"}GET /ut/game/fifa17/hub HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
PUT /ut/game/fifa17/clientdata/userHubData HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
Content-Length: 53
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
|
||||
{"entries":[{"key":0,"value":0},{"key":1,"value":1}]}GET /ut/game/fifa17/user/credits HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
GET /ut/game/fifa17/store/purchasegroup/all?ppInfo=true HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
GET /ut/game/fifa17/store/purchasegroup/all?ppInfo=true HTTP/1.1
|
||||
Host: 10.10.0.121:8099
|
||||
User-Agent: ProtoHttp 1.3/DS 15.1.2.1.0 (Windows)
|
||||
Accept: application/json
|
||||
Content-Type: application/json
|
||||
X-UT-SID: <SID>
|
||||
Accept-Encoding: gzip
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
HTTP/1.1 200 OK
|
||||
server: BaseHTTP/0.6 Python/3.11.2
|
||||
date: Mon, 17 Aug 2026 03:54:21 GMT
|
||||
content-type: application/json
|
||||
Content-Length: 310
|
||||
|
||||
{"account": {"personaId": 33068179, "personaName": "CAGE", "clubName": "OpenFUT", "clubAbbr": "OFC", "level": 1, "experience": 0, "experienceMax": 1000, "accountFunds": 0, "accountFundsCap": 100000, "profilePath": "accounts/33068179/fifa17_profile.json", "coins": 29826776, "unopenedPacks": 0}, "status": "OK"}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2
|
||||
|
||||
{}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
server: BaseHTTP/0.6 Python/3.11.2
|
||||
date: Mon, 17 Aug 2026 03:54:46 GMT
|
||||
content-type: application/json
|
||||
Content-Length: 132
|
||||
|
||||
{"protocol": 1, "sid": "<SID>", "serverTime": "2026-08-17 03:54:46", "lastOnlineTime": "2026-08-17 03:54:46"}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 14
|
||||
|
||||
{"configs":[]}HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 61
|
||||
|
||||
{"changed":false,"exists":true,"locked":false,"trusted":true}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 61
|
||||
|
||||
{"changed":false,"exists":true,"locked":false,"trusted":true}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2
|
||||
|
||||
{}HTTP/1.1 200 OK
|
||||
server: BaseHTTP/0.6 Python/3.11.2
|
||||
date: Mon, 17 Aug 2026 03:54:47 GMT
|
||||
Content-Type: application/json
|
||||
Content-Length: 7885
|
||||
|
||||
{"pileSizeClientData":{"entries":[{"key":2,"value":100},{"key":4,"value":50}]},"settings":{"configs":[]},"squad":{"actives":[],"captain":100000001,"changed":0,"chemistry":49,"custom":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,50,40,65,0,65,50,50,1]","formation":"f433","id":0,"kicktakers":[{"dream":false,"id":100000001,"index":0},{"dream":false,"id":100000001,"index":1},{"dream":false,"id":100000001,"index":2},{"dream":false,"id":100000001,"index":3},{"dream":false,"id":100000001,"index":4}],"manager":[{"dream":false,"id":100000427}],"personaId":33068179,"players":[{"index":0,"itemData":{"assetId":200389,"attributeList":[{"index":0,"value":83},{"index":1,"value":90},{"index":2,"value":77},{"index":3,"value":82},{"index":4,"value":50},{"index":5,"value":87}],"cardassetid":200389,"cardsubtypeid":0,"contract":7,"definitionId":200389,"discardValue":1500,"fitness":99,"id":100000003,"itemState":"free","itemType":"player","leagueId":53,"nation":44,"owners":1,"playStyle":250,"preferredPosition":"GK","rareflag":1,"rating":87,"resourceId":200389,"teamid":240,"untradeable":true},"kitNumber":1},{"index":1,"itemData":{"assetId":197445,"attributeList":[{"index":0,"value":86},{"index":1,"value":73},{"index":2,"value":81},{"index":3,"value":83},{"index":4,"value":83},{"index":5,"value":73}],"cardassetid":197445,"cardsubtypeid":0,"contract":7,"definitionId":197445,"discardValue":1500,"fitness":99,"id":100000006,"itemState":"free","itemType":"player","leagueId":19,"nation":4,"owners":1,"playStyle":250,"preferredPosition":"LB","rareflag":1,"rating":87,"resourceId":197445,"teamid":21,"untradeable":true},"kitNumber":4},{"index":2,"itemData":{"assetId":155862,"attributeList":[{"index":0,"value":78},{"index":1,"value":63},{"index":2,"value":70},{"index":3,"value":70},{"index":4,"value":87},{"index":5,"value":83}],"cardassetid":155862,"cardsubtypeid":0,"contract":7,"definitionId":155862,"discardValue":1500,"fitness":99,"id":100000005,"itemState":"free","itemType":"player","leagueId":53,"nation":45,"owners":1,"playStyle":250,"preferredPosition":"CB","rareflag":1,"rating":89,"resourceId":155862,"teamid":243,"untradeable":true},"kitNumber":3},{"index":3,"itemData":{"assetId":182521,"attributeList":[{"index":0,"value":45},{"index":1,"value":80},{"index":2,"value":88},{"index":3,"value":79},{"index":4,"value":69},{"index":5,"value":70}],"cardassetid":182521,"cardsubtypeid":0,"contract":7,"definitionId":182521,"discardValue":1500,"fitness":99,"id":100000008,"itemState":"free","itemType":"player","leagueId":53,"nation":21,"owners":1,"playStyle":250,"preferredPosition":"CM","rareflag":1,"rating":88,"resourceId":182521,"teamid":243,"untradeable":true},"kitNumber":6},{"index":4,"itemData":{"assetId":189332,"attributeList":[{"index":0,"value":93},{"index":1,"value":69},{"index":2,"value":75},{"index":3,"value":83},{"index":4,"value":81},{"index":5,"value":75}],"cardassetid":189332,"cardsubtypeid":0,"contract":7,"definitionId":189332,"discardValue":1500,"fitness":99,"id":100000007,"itemState":"free","itemType":"player","leagueId":53,"nation":45,"owners":1,"playStyle":250,"preferredPosition":"LB","rareflag":1,"rating":86,"resourceId":189332,"teamid":241,"untradeable":true},"kitNumber":5},{"index":5,"itemData":{"assetId":158023,"attributeList":[{"index":0,"value":89},{"index":1,"value":90},{"index":2,"value":86},{"index":3,"value":96},{"index":4,"value":26},{"index":5,"value":61}],"cardassetid":158023,"cardsubtypeid":0,"contract":7,"definitionId":158023,"discardValue":1500,"fitness":99,"id":100000002,"itemState":"free","itemType":"player","leagueId":53,"nation":52,"owners":1,"playStyle":250,"preferredPosition":"RW","rareflag":1,"rating":93,"resourceId":158023,"teamid":241,"untradeable":true},"kitNumber":9},{"index":6,"itemData":{"assetId":1
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
server: BaseHTTP/0.6 Python/3.11.2
|
||||
date: Mon, 17 Aug 2026 03:54:47 GMT
|
||||
Content-Type: application/json
|
||||
Content-Length: 7885
|
||||
|
||||
{"pileSizeClientData":{"entries":[{"key":2,"value":100},{"key":4,"value":50}]},"settings":{"configs":[]},"squad":{"actives":[],"captain":100000001,"changed":0,"chemistry":49,"custom":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,50,0,50,40,65,0,65,50,50,1]","formation":"f433","id":0,"kicktakers":[{"dream":false,"id":100000001,"index":0},{"dream":false,"id":100000001,"index":1},{"dream":false,"id":100000001,"index":2},{"dream":false,"id":100000001,"index":3},{"dream":false,"id":100000001,"index":4}],"manager":[{"dream":false,"id":100000427}],"personaId":33068179,"players":[{"index":0,"itemData":{"assetId":200389,"attributeList":[{"index":0,"value":83},{"index":1,"value":90},{"index":2,"value":77},{"index":3,"value":82},{"index":4,"value":50},{"index":5,"value":87}],"cardassetid":200389,"cardsubtypeid":0,"contract":7,"definitionId":200389,"discardValue":1500,"fitness":99,"id":100000003,"itemState":"free","itemType":"player","leagueId":53,"nation":44,"owners":1,"playStyle":250,"preferredPosition":"GK","rareflag":1,"rating":87,"resourceId":200389,"teamid":240,"untradeable":true},"kitNumber":1},{"index":1,"itemData":{"assetId":197445,"attributeList":[{"index":0,"value":86},{"index":1,"value":73},{"index":2,"value":81},{"index":3,"value":83},{"index":4,"value":83},{"index":5,"value":73}],"cardassetid":197445,"cardsubtypeid":0,"contract":7,"definitionId":197445,"discardValue":1500,"fitness":99,"id":100000006,"itemState":"free","itemType":"player","leagueId":19,"nation":4,"owners":1,"playStyle":250,"preferredPosition":"LB","rareflag":1,"rating":87,"resourceId":197445,"teamid":21,"untradeable":true},"kitNumber":4},{"index":2,"itemData":{"assetId":155862,"attributeList":[{"index":0,"value":78},{"index":1,"value":63},{"index":2,"value":70},{"index":3,"value":70},{"index":4,"value":87},{"index":5,"value":83}],"cardassetid":155862,"cardsubtypeid":0,"contract":7,"definitionId":155862,"discardValue":1500,"fitness":99,"id":100000005,"itemState":"free","itemType":"player","leagueId":53,"nation":45,"owners":1,"playStyle":250,"preferredPosition":"CB","rareflag":1,"rating":89,"resourceId":155862,"teamid":243,"untradeable":true},"kitNumber":3},{"index":3,"itemData":{"assetId":182521,"attributeList":[{"index":0,"value":45},{"index":1,"value":80},{"index":2,"value":88},{"index":3,"value":79},{"index":4,"value":69},{"index":5,"value":70}],"cardassetid":182521,"cardsubtypeid":0,"contract":7,"definitionId":182521,"discardValue":1500,"fitness":99,"id":100000008,"itemState":"free","itemType":"player","leagueId":53,"nation":21,"owners":1,"playStyle":250,"preferredPosition":"CM","rareflag":1,"rating":88,"resourceId":182521,"teamid":243,"untradeable":true},"kitNumber":6},{"index":4,"itemData":{"assetId":189332,"attributeList":[{"index":0,"value":93},{"index":1,"value":69},{"index":2,"value":75},{"index":3,"value":83},{"index":4,"value":81},{"index":5,"value":75}],"cardassetid":189332,"cardsubtypeid":0,"contract":7,"definitionId":189332,"discardValue":1500,"fitness":99,"id":100000007,"itemState":"free","itemType":"player","leagueId":53,"nation":45,"owners":1,"playStyle":250,"preferredPosition":"LB","rareflag":1,"rating":86,"resourceId":189332,"teamid":241,"untradeable":true},"kitNumber":5},{"index":5,"itemData":{"assetId":158023,"attributeList":[{"index":0,"value":89},{"index":1,"value":90},{"index":2,"value":86},{"index":3,"value":96},{"index":4,"value":26},{"index":5,"value":61}],"cardassetid":158023,"cardsubtypeid":0,"contract":7,"definitionId":158023,"discardValue":1500,"fitness":99,"id":100000002,"itemState":"free","itemType":"player","leagueId":53,"nation":52,"owners":1,"playStyle":250,"preferredPosition":"RW","rareflag":1,"rating":93,"resourceId":158023,"teamid":241,"untradeable":true},"kitNumber":9},{"index":6,"itemData":{"assetId":183907,"attributeList":[{"index":0,"value":79},{"index":1,"value":50},{"i
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2
|
||||
|
||||
{}HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 82
|
||||
|
||||
{"auctionCount":0,"clubPlayers":1963,"tradePile":{"count":0,"selling":0,"sold":0}}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 82
|
||||
|
||||
{"auctionCount":0,"clubPlayers":1963,"tradePile":{"count":0,"selling":0,"sold":0}}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
server: BaseHTTP/0.6 Python/3.11.2
|
||||
date: Mon, 17 Aug 2026 03:54:53 GMT
|
||||
content-type: application/json
|
||||
Content-Length: 2
|
||||
|
||||
{}HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 134
|
||||
|
||||
{"credits":29859876,"currencies":[{"finalFunds":29859876,"funds":29859876,"name":"coins"},{"finalFunds":0,"funds":0,"name":"points"}]}HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2563
|
||||
|
||||
{"purchase":[{"assetId":1,"currencies":[{"finalFunds":400,"funds":400,"name":"coins"}],"description":"Bronze Pack","displayGroup":{"value":"bronze"},"extPrice":{"finalPrice":{"amount":4,"currency":"mtx"},"originalPrice":{"amount":4,"currency":"mtx"}},"id":1,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":5,"goldQuantity":0,"itemQuantity":5,"rareQuantity":0,"silverQuantity":0},"packType":"BRONZE","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false},{"assetId":5,"currencies":[{"finalFunds":5000,"funds":5000,"name":"coins"}],"description":"Gold Pack","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":50,"currency":"mtx"},"originalPrice":{"amount":50,"currency":"mtx"}},"id":5,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":7,"itemQuantity":7,"rareQuantity":7,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":2,"state":"active","unopened":false},{"assetId":6,"currencies":[{"finalFunds":15000,"funds":15000,"name":"coins"}],"description":"Premium Gold","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":150,"currency":"mtx"},"originalPrice":{"amount":150,"currency":"mtx"}},"id":6,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":3,"state":"active","unopened":false},{"assetId":7,"currencies":[{"finalFunds":25000,"funds":25000,"name":"coins"}],"description":"Special Players Pack","displayGroup":{"value":"special"},"extPrice":{"finalPrice":{"amount":250,"currency":"mtx"},"originalPrice":{"amount":250,"currency":"mtx"}},"id":7,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":4,"state":"active","unopened":false},{"assetId":65534,"description":"","displayGroup":{"priority":1,"value":"mypacks"},"id":65534,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":0,"itemQuantity":0,"rareQuantity":0,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false}],"timestamp":1596326400}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 134
|
||||
|
||||
{"credits":29859876,"currencies":[{"finalFunds":29859876,"funds":29859876,"name":"coins"},{"finalFunds":0,"funds":0,"name":"points"}]}HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2563
|
||||
|
||||
{"purchase":[{"assetId":1,"currencies":[{"finalFunds":400,"funds":400,"name":"coins"}],"description":"Bronze Pack","displayGroup":{"value":"bronze"},"extPrice":{"finalPrice":{"amount":4,"currency":"mtx"},"originalPrice":{"amount":4,"currency":"mtx"}},"id":1,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":5,"goldQuantity":0,"itemQuantity":5,"rareQuantity":0,"silverQuantity":0},"packType":"BRONZE","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false},{"assetId":5,"currencies":[{"finalFunds":5000,"funds":5000,"name":"coins"}],"description":"Gold Pack","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":50,"currency":"mtx"},"originalPrice":{"amount":50,"currency":"mtx"}},"id":5,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":7,"itemQuantity":7,"rareQuantity":7,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":2,"state":"active","unopened":false},{"assetId":6,"currencies":[{"finalFunds":15000,"funds":15000,"name":"coins"}],"description":"Premium Gold","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":150,"currency":"mtx"},"originalPrice":{"amount":150,"currency":"mtx"}},"id":6,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":3,"state":"active","unopened":false},{"assetId":7,"currencies":[{"finalFunds":25000,"funds":25000,"name":"coins"}],"description":"Special Players Pack","displayGroup":{"value":"special"},"extPrice":{"finalPrice":{"amount":250,"currency":"mtx"},"originalPrice":{"amount":250,"currency":"mtx"}},"id":7,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":4,"state":"active","unopened":false},{"assetId":65534,"description":"","displayGroup":{"priority":1,"value":"mypacks"},"id":65534,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":0,"itemQuantity":0,"rareQuantity":0,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false}],"timestamp":1596326400}
|
||||
|
||||
---
|
||||
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: application/json
|
||||
Content-Length: 2563
|
||||
|
||||
{"purchase":[{"assetId":1,"currencies":[{"finalFunds":400,"funds":400,"name":"coins"}],"description":"Bronze Pack","displayGroup":{"value":"bronze"},"extPrice":{"finalPrice":{"amount":4,"currency":"mtx"},"originalPrice":{"amount":4,"currency":"mtx"}},"id":1,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":5,"goldQuantity":0,"itemQuantity":5,"rareQuantity":0,"silverQuantity":0},"packType":"BRONZE","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false},{"assetId":5,"currencies":[{"finalFunds":5000,"funds":5000,"name":"coins"}],"description":"Gold Pack","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":50,"currency":"mtx"},"originalPrice":{"amount":50,"currency":"mtx"}},"id":5,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":7,"itemQuantity":7,"rareQuantity":7,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":2,"state":"active","unopened":false},{"assetId":6,"currencies":[{"finalFunds":15000,"funds":15000,"name":"coins"}],"description":"Premium Gold","displayGroup":{"value":"gold"},"extPrice":{"finalPrice":{"amount":150,"currency":"mtx"},"originalPrice":{"amount":150,"currency":"mtx"}},"id":6,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":3,"state":"active","unopened":false},{"assetId":7,"currencies":[{"finalFunds":25000,"funds":25000,"name":"coins"}],"description":"Special Players Pack","displayGroup":{"value":"special"},"extPrice":{"finalPrice":{"amount":250,"currency":"mtx"},"originalPrice":{"amount":250,"currency":"mtx"}},"id":7,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":11,"itemQuantity":11,"rareQuantity":11,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":4,"state":"active","unopened":false},{"assetId":65534,"description":"","displayGroup":{"priority":1,"value":"mypacks"},"id":65534,"isPremium":false,"limitType":"NONE","packContentInfo":{"bronzeQuantity":0,"goldQuantity":0,"itemQuantity":0,"rareQuantity":0,"silverQuantity":0},"packType":"GOLD","purchaseCount":0,"purchaseLimit":0,"quantity":0,"saleType":"promo","sortPriority":1,"state":"active","unopened":false}],"timestamp":1596326400}
|
||||
Reference in New Issue
Block a user