Some details info
[ouya-store-api.git] / api / devs.ouya.tv / api-v1-discover.rst
1 ============================================
2 ``GET https://devs.ouya.tv/api/v1/discover``
3 ============================================
4
5 Fetch the categories and games in the OUYA store.
6
7
8 HTTP request
9 ============
10 Protocol
11   ``https``
12 Method
13   ``GET``
14 Host
15   ``devs.ouya.tv``
16 Path
17   ``/api/v1/discover``
18 Headers
19   Standard headers
20 GET parameters
21   ``auth_token``
22     Same as ``X-OUYA-AuthToken``
23
24
25 HTTP response
26 =============
27 Status code
28   ``200 OK``
29 Content-type
30   ``application/json; charset=utf-8``
31
32 Response body definition
33 ------------------------
34 JSON object with two properties: ``rows`` and ``tiles``.
35 ``rows`` contains the layout of the "discover" store main view, while
36 ``tiles`` contains the list of games/apps available in the store with
37 details.
38
39
40 ``rows``
41 --------
42 Array with objects that have with several properties:
43
44 ``showPrice``
45   ``true`` or ``false``
46 ``ranked``
47   ``true`` or ``false``
48
49   If the games are sorted by the internal ranking factor, or in order
50   of appearance in ``tiles``.
51 ``tiles``
52   array
53
54   List of integer game IDs (``[0, 1, 2]``)
55 ``title``
56   string
57
58   Title of the category
59
60
61 ``tiles``
62 ---------
63 Array of objects that each describe a single application.
64
65 The position in the ``tiles`` array is the ID used by ``rows/tiles``.
66
67 ``bundle``
68   Only there when it's not a single game but a bundle of games that can be
69   bought.
70
71   Object with the following properties:
72
73   ``apps``
74     array
75
76     Array of ``package`` strings
77   ``currency``
78     ``EUR``
79   ``price``
80     float
81   ``contentRating``
82     See ``contentRating`` description below.
83   ``purchaseUrl``
84     string
85
86     URL where to initiate buying the bundle
87
88     ``ouya://launcher/purchase?developer=ec1a9ccd-373f-4047-bd07-36466ab7e25d&product=ROBOBUNDLE``
89 ``contentRating``
90   For which audiences the game is meant
91
92   Seen values:
93
94   - ``Everyone``
95   - ``9+``
96   - ``12+``
97   - ``17+``
98 ``gamerNumbers``
99   array
100
101   List of integers describing how many players can play the game
102 ``genres``
103   array
104
105   Array of strings with genre titles.
106
107   ``["Fight!", "Multiplayer", "Platformer"]``
108
109   Known genres:
110
111   - Adventure
112   - App
113   - Arcade/Pinball
114   - Card/Casino
115   - Dual Stick
116   - Entertainment
117   - Fight!
118   - FPS/Shooter
119   - Kids List
120   - Meditative
121   - Multiplayer
122   - Music
123   - Platformer
124   - Puzzle/Trivia
125   - Racing
126   - Retro
127   - Role-Playing
128   - Short on Time?
129   - Sim/Strategy
130   - Sports
131   - Utility
132   - Video
133 ``image``
134   URL to an image displayed in store view.
135
136   Size should be 732x412.
137
138   ``.jpg`` and ``.png`` files work.
139 ``inAppPurchases``
140   ``true`` or ``false``
141
142   If you can/have to pay within the game
143 ``latestVersion``
144   object
145
146   ``apk``
147     ``md5sum``
148       MD5 hash of the apk file. Used for verification after download.
149   ``versionNumber``
150     string with current version, e.g. ``1.11``
151   ``uuid``
152     UUID of the release.
153 ``package``
154   string
155
156   java package name prefix, e.g. ``evil.corptron.DuckGame``
157 ``premium``
158   ``true`` or ``false``
159
160   When ``true``, the game has no demo version and has to be bought before
161   it can be downloaded.
162 ``promotedProduct``
163   object
164
165   Bundles do not have this property set.
166
167   The "buy" button buys this product.
168
169   ``currency``
170     string
171
172     ``EUR``
173   ``description``
174     string
175   ``developerName``
176     string
177
178     Name of the developer or company who made the game
179   ``identifier``
180     string
181
182     ???
183   ``localPrice``
184     float
185
186     Current price
187   ``name``
188     string
189
190     Title of the game
191   ``originalPrice``
192     float
193
194     Price it did once cost
195   ``percentOff``
196     integer
197
198     Percent difference between ``originalPrice`` and ``localPrice``
199   ``type``
200     string
201
202     ``entitlement`` is the only type seen within ``promotedProduct``.
203 ``rating``
204   Object with two properties: ``count`` and ``average``.
205
206   ``count``
207     integer
208
209     Number of votes for this game
210   ``average``
211     float
212
213     Average rating (1-5)
214 ``title``
215   Name of the app/game
216 ``type``
217   ``app`` or ``discover`` or ``details_page``
218
219   Bundles always have ``details_page``.
220 ``updated_at``
221   integer
222
223   Unix timestamp of last update date
224 ``updatedAt``
225   string
226
227   ISO 8601-date, e.g. ``2014-12-04T22:16:30Z``
228 ``url``
229   string
230
231   URL for the game details page
232
233   Game details
234     ``ouya://launcher/details?app=evil.corptron.DuckGame``
235   Bundle details
236     ``ouya://launcher/details?page=be239ca4-10fd-42dd-89cd-1806e80b1362``
237
238     See `GET https://devs.ouya.tv/api/v1/details`_.
239
240 ``title``
241 ---------
242 string
243
244 Always ``DISCOVER``.
245
246
247 Example
248 -------
249
250 .. include:: api-v1-discover.response.json
251    :code:
252
253 The API git repository contains a full copy of the "discover" response
254 at ``api/devs.ouya.tv/api-v1-discover.response-full.json``.
255