Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Training Toolkit - Incentive Server


Published on

A quick tutorial on the functionality and features of the Incentive Server

Published in: Internet
  • Be the first to comment

Training Toolkit - Incentive Server

  1. 1. Shaked Hindi BGU SmartSociety Incentive Server 29/01/16
  2. 2.  The Incentive Server (IS) offers smart incentivizations framework for sending incentives to single and multiple users, across all of the applications of the SmartSociety project.  The IS uses SmartCom Communication API in order to send the incentives to the peers and the collectives, using different communication channels. Functionality 2
  3. 3. Usage Example 3  You can find a nice exercise that you can use in order to create “Hello World” program here. This will give you a better understanding about the usage of the Incentive Server, and some of its features.
  4. 4. Features 4  There are three types of incentives you can send: Message – for incentive with message of your choice. Preconfigured – for sending a predefined incentives. Reminder – for sending a reminder for a collective, with the option of invalidating peers from it.  Incentives can be sent to single peers and whole collectives (Message & Preconfigured) or even to only a part of a collective (Reminder only).  The incentives can be sent at one or more moments of your choice, or at a time which the IS decides for you.
  5. 5. Interfaces, endpoints and resources exposed 5  Get all existing incentives Postfix: /api/incentive/ Method: HTTP GET or using the web GUI. Description: This call returns all the incentives that was created in the Incentive Server (IS).  Add new incentive Postfix: /api/incentive/ Method: HTTP POST or using the web GUI. Description: Adds new incentive to the IS.
  6. 6. Interfaces, endpoints and resources exposed (cont.) 6  Collective reminder Postfix: /collectiveReminder/ Method: HTTP POST or using the web GUI. Description: Generates reminder request for a collective with a given id, that will be sent at given time with a given message. Invalidate from collective Postfix: /invalidate/:collective_id/ Method: HTTP POST or using the web GUI. Description: Invalidate peers from collective that is about to be reminder. This call has a parameter 'collective_id' that should be replaced with the collective's identifier.
  7. 7. Interfaces, endpoints and resources exposed (cont.) 7  Send incentive to a collective or a peer Postfix: /sendIncentive/ Method: HTTP POST or using the web GUI. Description: This call is generalization of the collective reminder call, however it supports other types of messages and does not support invalidation from collectives. This call generates incentive request for a collective or a peer, with a certain id. You can send an incentive of your own or use a preconfigured one. You can also choose at what time(s) you want the incentive to be sent, or let the IS choose it for you.
  8. 8. Interfaces, endpoints and resources exposed (cont.) 8  Change timeout Postfix: /timeout/ Method: Using the web GUI. Description: Changes the timeout value defined in the IS.  Get incentive for a specific user Postfix: /getIncUser/ Method: HTTP POST or using the web GUI. Description: This call is independent and relies on a stream of events. It can return 'Staying' if the IS thinks the user is going to stay or an incentive message otherwise.  The full API of the Incentive Server can be found here.
  9. 9. Implementation 9  We are using Python as our main programming language, in order to perform the major tasks and the data analysis efficiently.  We are using Django framework as the front-end for our Incentive Server, which is also providing our REST API.  We are using Java in a program that our server uses, that uses the SmartCom library and acts as a communication adapter between the IS which is written in Python and the users of the SmartSociety applications.
  10. 10. Repository 10  The source code of the Incentive Server can be found in the GitLab Repository: