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

Welcome to the IncentiveServer wiki!

Administration:

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

Data Types:

Incentives:

history_id 				- int
history - array {
	Incentive Scheme ID		- int 
	Incentive Scheme Name		- string 
	Incentive Type ID		- int
	Incentive Type Name		- string 
	Incentive Status 		- Enum {active, not active}
	Incentive Ordinal 		- int
	Consumed? 			- boolean 
	Presentation Mode ID 		- int
	Duration Presented 		- datatime
	Arbitration Required? 		- boolean
	Group Incentive? 		- boolean
	Segment Group ID 		- int
	Best Practice Used ID 		- int
	Persuation Tech Used ID		- int
	Messaging Used 			- string
}

Users:

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