Rate a Contest Entry
From ePrize Developers Wiki
(→Rate a Contest Entry) |
|||
(4 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | = | + | {{RESTfulAPI |
+ | |crumbs=[[API Home Page]] :: [[Contest API|Contest]] | ||
- | Rate a contest entry with | + | |summary=Rate a [[Enter Contest|contest entry]]. A rating is provided by a user and must be associated with a profile. The average rating is recomputed with each rate action. |
+ | |resource=/v1/{apikey}/contest/entry/{entryId}/rate | ||
+ | |methods=POST | ||
+ | |resourceargs='''apikey''': Your [[API Key]]. | ||
- | + | '''entryid''': ID of the entry retrieved from [[Enter Contest|entry creation]] or by viewing the [[Browse_Contest_Gallery|gallery]]. | |
- | + | |paramsrequired='''profile''': Canonical Location of a user profile. See: [[Fetch profile by key]] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | '''rating''': numeric rating 1 - 5 | |
+ | }} | ||
- | + | {{RESTfulExample | |
- | + | |title=Rate an entry successfully: | |
- | + | |summary=Demonstrates successful response | |
- | + | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | |
- | + | rating: 1 | |
- | + | |responsecode=200 OK | |
- | + | |response=<?xml version="1.0" encoding="UTF-8" ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<result> | <result> | ||
<entry> | <entry> | ||
Line 62: | Line 38: | ||
</entry> | </entry> | ||
</result> | </result> | ||
+ | }} | ||
- | + | {{RESTfulExample | |
+ | |title=Rate a contest entry with an invalid rating | ||
+ | |summary=Demonstrates error response | ||
+ | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | ||
+ | rating: h | ||
+ | |responsecode=400 Bad Request | ||
+ | |response=<?xml version="1.0" encoding="UTF-8" ?> | ||
+ | <result> | ||
+ | <input_error> | ||
+ | <name>rating</name> | ||
+ | <error>VALIDATION</error> | ||
+ | </input_error> | ||
+ | </result> | ||
+ | }} | ||
- | + | {{RESTfulExample | |
- | + | |title=Already reached rating limit | |
- | + | |summary=Demonstrates unsuccessful response | |
- | + | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | |
- | + | rating: 1 | |
- | + | |responsecode=400 Bad Request | |
- | + | |response=<?xml version="1.0" encoding="UTF-8" ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<result> | <result> | ||
<input_error> | <input_error> | ||
Line 87: | Line 68: | ||
</input_error> | </input_error> | ||
</result> | </result> | ||
+ | }} | ||
- | Rating timeout | + | {{RESTfulExample |
- | + | |title=Rating timeout | |
- | + | |summary=Demonstrates unsuccessful response | |
- | + | |responsecode=400 Bad Request | |
- | + | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | |
- | + | rating: 1 | |
- | + | |response=<?xml version="1.0" encoding="UTF-8" ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<result> | <result> | ||
<input_error> | <input_error> | ||
Line 112: | Line 83: | ||
</input_error> | </input_error> | ||
</result> | </result> | ||
+ | }} | ||
- | Rating in wrong phase: | + | {{RESTfulExample |
- | + | |title=Rating in wrong phase: | |
- | + | |summary=Demonstrates unsuccessful response | |
- | + | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | |
- | + | rating: 1 | |
- | + | |responsecode=400 Bad Request | |
- | + | |response=<?xml version="1.0" encoding="UTF-8" ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<result> | <result> | ||
<terminal_error>OUT_OF_PHASE</terminal_error> | <terminal_error>OUT_OF_PHASE</terminal_error> | ||
</result> | </result> | ||
+ | }} | ||
- | Rating non-existent entry | + | {{RESTfulExample |
- | + | |title=Rating non-existent entry | |
- | + | |summary=Demonstrates unsuccessful response | |
- | + | |request=profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV | |
- | + | rating: 1 | |
- | + | |responsecode=404 Not Found | |
- | + | |response=<?xml version="1.0" encoding="UTF-8" ?> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<result> | <result> | ||
<status>0</status> | <status>0</status> | ||
</result> | </result> | ||
+ | }} |
Current revision
Summary
Rate a contest entry. A rating is provided by a user and must be associated with a profile. The average rating is recomputed with each rate action.
Resource
/v1/{apikey}/contest/entry/{entryId}/rate
Valid Methods
POST
Resource Arguments
Note: resource arguments are always required.
apikey: Your API Key.
entryid: ID of the entry retrieved from entry creation or by viewing the gallery.
Parameters Required
profile: Canonical Location of a user profile. See: Fetch profile by key
rating: numeric rating 1 - 5
Example: Rate an entry successfully:
Summary
Demonstrates successful response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: 1
Response
HTTP Status Code: 200 OK
<?xml version="1.0" encoding="UTF-8" ?> <result> <entry> <body>this is the body of my essay</body> <category></category> <city></city> <description></description> <entry_id></entry_id> <entry_state>approved</entry_state> <first_name></first_name> <last_name></last_name> <rating_ave>0.667</rating_ave> <rating_count>3</rating_count> <state></state> <title>this is the title of my essay</title> <views>0</views> <votes>0</votes> </entry> </result>
Example: Rate a contest entry with an invalid rating
Summary
Demonstrates error response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: h
Response
HTTP Status Code: 400 Bad Request
<?xml version="1.0" encoding="UTF-8" ?> <result> <input_error> <name>rating</name> <error>VALIDATION</error> </input_error> </result>
Example: Already reached rating limit
Summary
Demonstrates unsuccessful response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: 1
Response
HTTP Status Code: 400 Bad Request
<?xml version="1.0" encoding="UTF-8" ?> <result> <input_error> <name>rating</name> <error>LIMITED</error> </input_error> </result>
Example: Rating timeout
Summary
Demonstrates unsuccessful response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: 1
Response
HTTP Status Code: 400 Bad Request
<?xml version="1.0" encoding="UTF-8" ?> <result> <input_error> <name>profile_id</name> <error>RATING_TIMEOUT</error> </input_error> </result>
Example: Rating in wrong phase:
Summary
Demonstrates unsuccessful response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: 1
Response
HTTP Status Code: 400 Bad Request
<?xml version="1.0" encoding="UTF-8" ?> <result> <terminal_error>OUT_OF_PHASE</terminal_error> </result>
Example: Rating non-existent entry
Summary
Demonstrates unsuccessful response
Request
profile: http://test.url.eprize.com/v1/solution/contestv2v2/profile/1.5J4L55FNLN2CZZDV rating: 1
Response
HTTP Status Code: 404 Not Found
<?xml version="1.0" encoding="UTF-8" ?> <result> <status>0</status> </result>