qlaffont / fortnite-api

Fortnite API, Get Stats, News And Status
https://twitter.com/qlaffont
MIT License
355 stars 86 forks source link

Problem with platform #158

Closed ghost closed 5 years ago

ghost commented 5 years ago

Hi, i'm using your project for build an ruby on rails app, to do this i'm looking for endpoints but for the platform i don't understand how can i pass the platform. i have this url :

https://fortnite-public-service-prod11.ol.epicgames.com/fortnite/api/stats/accountId/6dd4e3a586714ba0a656240231d90fee/bulk/window/alltime

Where can i put the platform ?

RobertoGraham commented 5 years ago

Platform does not go in the URL. The following snippet is the response from that endpoint. A statistic object's name is structured like gameMode_statisticType_platform_?_partyType

As far as I know gameMode is always br (battle royale) for this endpoint, platform is xb1, pc, or ps4, partyType is p2 (solo), p10 (duo), or p9 (squad). Nobody seems to know what the 4th part of the name means and it's always m0.

[
  {
    "name": "br_placetop5_ps4_m0_p10",
    "value": 41,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_kills_ps4_m0_p2",
    "value": 575,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_score_pc_m0_p9",
    "value": 791,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_score_ps4_m0_p10",
    "value": 48144,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_kills_ps4_m0_p9",
    "value": 68,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_lastmodified_ps4_m0_p10",
    "value": 1544978094,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_lastmodified_ps4_m0_p9",
    "value": 1544460502,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop3_pc_m0_p9",
    "value": 1,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_score_pc_m0_p2",
    "value": 4749,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_kills_pc_m0_p2",
    "value": 5,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_lastmodified_pc_m0_p9",
    "value": 1528925924,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_lastmodified_ps4_m0_p2",
    "value": 1544970461,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_lastmodified_pc_m0_p2",
    "value": 1528926452,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop1_ps4_m0_p2",
    "value": 10,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop25_ps4_m0_p2",
    "value": 560,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_matchesplayed_pc_m0_p2",
    "value": 32,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_matchesplayed_pc_m0_p9",
    "value": 6,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_minutesplayed_ps4_m0_p10",
    "value": 52,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop1_ps4_m0_p10",
    "value": 1,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_kills_ps4_m0_p10",
    "value": 113,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop6_ps4_m0_p9",
    "value": 36,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop10_ps4_m0_p2",
    "value": 294,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop10_pc_m0_p2",
    "value": 7,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_matchesplayed_ps4_m0_p10",
    "value": 329,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_minutesplayed_ps4_m0_p2",
    "value": 1043,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop12_ps4_m0_p10",
    "value": 94,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop25_pc_m0_p2",
    "value": 10,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_matchesplayed_ps4_m0_p2",
    "value": 1256,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_minutesplayed_ps4_m0_p9",
    "value": 491,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_matchesplayed_ps4_m0_p9",
    "value": 241,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_score_ps4_m0_p9",
    "value": 29731,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop6_pc_m0_p9",
    "value": 2,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_score_ps4_m0_p2",
    "value": 217924,
    "window": "alltime",
    "ownerType": 1
  },
  {
    "name": "br_placetop3_ps4_m0_p9",
    "value": 13,
    "window": "alltime",
    "ownerType": 1
  }
]
ghost commented 5 years ago

Thank you for your answer, but i don't have statistic object , i have this one in return. I don't understand why

{ "errorCode": "errors.com.epicgames.common.missing_action", "errorMessage": "Login is banned or does not posses the action 'PLAY' needed to perform the requested operation for platform ''", "messageVars": [ "PLAY", "" ], "numericErrorCode": 1023, "originatingService": "fortnite", "intent": "prod-live" }

robrichardson13 commented 5 years ago

@Smabi after creating a new Epic Games account, you have to open the Epic Games Launcher, find and click Fortnite, then finally agree to the terms of service. After doing that, you should be able to start using the API.

ghost commented 5 years ago

Thank you, i can't test now but i test that as soon as possible. Merry Christmas