API Home Page
From ePrize Developers Wiki
Line 19: | Line 19: | ||
| [[API Security]] | | [[API Security]] | ||
|- | |- | ||
- | | [[API Logging]] | + | | [[API Events and Logging]] |
|- | |- | ||
| [[Promotions]] | | [[Promotions]] |
Revision as of 03:12, 2 March 2009
ePrize Web Services API uses a REST architecture for communication between your client and the ePrize servers. This is the same architecture used by the web, so you can explore the API with a web browser. While exploring the API, its basic features become clear:
- All URLs represent resources available to you. URLs are never actions.
- All actions on resources are basic HTTP methods such as GET, POST and PUT.
- All responses to your actions use basic HTTP status codes such as "200 OK" and "400 Bad Request".
- All responses include information on sub-resources and actions that may be performed.
- All responses use simple, regular media types that can be easily processed.
- All GET and PUT actions are idempotent; POST actions are not.
These features come at a cost however: the API consists of very small building blocks that do not directly provide the promotion services you expect in an ePrize promotion. For example, game plays are not automatically awarded upon login—there isn't even a login call! If you want to build clients using these more specific promotion features, you must use a client library. A library assembles the small building blocks into bigger features that you can reuse when building your promotion.
ePrize Web Services API
API Request/Response | |
API Security | |
API Events and Logging | |
Promotions | |
... Fetch promotions | GET /v1 |
Profiles | |
... Create profile | POST /v1/{apikey}/profiles |
... Fetch profile by key | GET /v1/{apikey}/profile({key})/{value} |
... Fetch profile | GET /v1/{apikey}/profile/{uid} |
... Fetch unredeemed tokens | GET /v1/{apikey}/profile/{uid}/tokens |
... Fetch awards | GET /v1/{apikey}/profile/{uid}/awards |
Games and Awards | |
... Award token | POST /v1/{apikey}/game/{game}/tokens |
... Fetch token | GET /v1/{apikey}/game/{game}/token/{token} |
... Redeem token | POST /v1/{apikey}/game/{game}/token/{token} |
... Fetch prize | GET /v1/{apikey}/game/{game}/prize/{prize} |
... Send email | POST /v1/{apikey}/email/{template-id} |
API Debugging |