more 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     ???
153 ``package``
154   string
155
156   java package name prefix, e.g. ``evil.corptron.DuckGame``
157 ``premium``
158   ``true`` or ``false``
159
160   FIXME: What is that for?
161 ``promotedProduct``
162   object
163
164   Bundles do not have this property set.
165
166   ??? FIXME: What is that for?
167
168   ``currency``
169     string
170
171     ``EUR``
172   ``description``
173     string
174   ``developerName``
175     string
176
177     Name of the developer or company who made the game
178   ``identifier``
179     string
180
181     ???
182   ``localPrice``
183     float
184
185     Current price
186   ``name``
187     string
188
189     Title of the game
190   ``originalPrice``
191     float
192
193     Price it did once cost
194   ``percentOff``
195     integer
196
197     Percent difference between ``originalPrice`` and ``localPrice``
198   ``type``
199     string
200
201     ``entitlement`` is the only type seen within ``promotedProduct``.
202 ``rating``
203   Object with two properties: ``count`` and ``average``.
204
205   ``count``
206     integer
207
208     Number of votes for this game
209   ``average``
210     float
211
212     Average rating (1-5)
213 ``title``
214   Name of the app/game
215 ``type``
216   ``app`` or ``discover`` or ``details_page``
217
218   Bundles always have ``details_page``.
219 ``updated_at``
220   integer
221
222   Unix timestamp of last update date
223 ``updatedAt``
224   string
225
226   ISO 8601-date, e.g. ``2014-12-04T22:16:30Z``
227 ``url``
228   string
229
230   URL for the game details page
231
232   Game details
233     ``ouya://launcher/details?app=evil.corptron.DuckGame``
234   Bundle details
235     ``ouya://launcher/details?page=be239ca4-10fd-42dd-89cd-1806e80b1362``
236
237     See `GET https://devs.ouya.tv/api/v1/details`_.
238
239 ``title``
240 ---------
241 string
242
243 Always ``DISCOVER``.
244
245
246 Example
247 -------
248
249 .. include:: api-v1-discover.response.json
250    :code: