Skip to content
avis1234 edited this page Dec 29, 2014 · 9 revisions

Welcome to the IncentiveServer wiki!

Administration:

  • Admin screen to manage incentives. Specifically, admin user can add and change incentives in the system. The incentive data type is defined bellow.

Data Types:

Incentives:

Field Type Description
Incentive Scheme ID int Examples: Monetary, Social, etc.
Incentive Scheme Name string
Incentive Type ID int Examples: Email, Community Message, Badge
Incentive Type Name string
Incentive Status Enum {active, not active}
Incentive Ordinal int TBD
Presentation Mode ID int Examples: popup, inline, etc.
Presentation Duration datatime
Group Incentive? boolean Yes / No
Tags array of strings Tags relevant for this incentive
Incentive text string Text to be printed with this incentive
Incentive image image Image for this incentive
Incentive condition string Description of the condition for granting this incentive

Users: TBD

These are the APIs to develop:

Action Description
GET /incentives Get all incentive types in the system
POST /incentives/sources/:source-url Post sources location for bulk data acquisition
POST /incentives/sources/start Start data pulling by incentive server
POST /incentives/sources/stop Stop data pulling by incentive server
POST /incentives/sources/clear Clear data sources for bulk data acquisition
POST /incentives/:user/user-data Post data to incentive server - for specific user
POST /incentives/formats/:format Post incentive format: API, file output
POST /incentives/:user/sequence-list Pass sequence of candidate items for reordering by incentive server
GET /incentives/:user/?type=:type Get next incentive for specific user. Client can specify specific type (e.g. sequencing) or ALL. In case of sequence manipulation, also gets recommended sequence.
GET /incentives/:user/incentive-reports Get a list of the latest incentive reports for the user. What incentives were proposed and when.
GET /incentives/:user/incentive-reports/:report_id Get additional details for a specific intervention identifier about the user, including reasoning for this intervention

Clone this wiki locally