IMPORTANT! We have new documentation for Feedier! Fully illustrated and a lot more updated. 


Check it out here: https://manual.feedier.com/



The loyalty points reward lets you distribute digital currencies after the Feedback. 
Whether it's digital money, points that represent progress in you app or anything else.



Why use Feedier to manage the reward for you? 

  • Automatically manage the probability (eg. 5% chance of getting the reward).
  • Set a limit of distribution (eg. give 10 points to 20 users only).
  • Create as many reward tiers as you want.
  • Link the Feedback to the reward in one location.
  • Integrate it easily with your platform so it's all done automatically. 


Create the reward


It works as any other reward in Feedier: 



You can then set the number of points and the currency name: 



Distribute the reward


Now, depending on you've setup the reward info, participants may win the points. Eg. If you set unlimited as a distribution limit and 100% as the probability it means that all participants will get the points. 


This being said, as Feedier does not have access to your platform, it cannot issue the points. You have to do it. Feedier makes it easy and gives you all the options and information so it's painless to do. Therefore, you have two ways to give the points: 


Manually 


1. View the distributed reward:

It'll show you all distributed rewards with the email address attached to it as well as the answers and any data you have provided.

2. Deliver it on your system and update it on Feedier:


3. All set.

That works fine until you get hundreds of distributed rewards. Then, you want to make it automatic.


Automatically


To do this part, you will need a developer in your team. The key is: webhooks. Feedier send webhooks at various moment of the Feedback collection, including when the reward is distributed. So in order to automate it, you just have to listen to the webhook sent by Feedier and update the customer's info.


1. Register your webhook URL (where Feedier will send the POST requests) from the Integrations screen:
 


2. Listen to the events on your webhook URL, when the reward is distributed it'll send a JSON object like the following:

{
   "name":"reward.loyaltypoint",
   "created":1566917588,
   "data":{
      "status":"pending",
      "id":41329,
      "feedback_id":42725,
      "reward_id":669,
      "reward":{
         "type":"reward",
         "id":669,
         "carrier":{... Carrier object},
         "name":"20 points",
         "probability":100,
         "kind":"loyaltyPoint",
         "limit":0,
         "created_at":{
            "date":"2019-08-27 16:46:10.000000",
            "timezone_type":3,
            "timezone":"Europe\/Paris"
         }
      },
      "feedback":{
         "type":"feedback",
         "id":42725,
         "satisfaction_ratio":100,
         "completion_time":2000,
         "created_at":{
            "date":"2019-08-27 16:52:56.000000",
            "timezone_type":3,
            "timezone":"Europe\/Paris"
         },
         "country_code":"FR",
         "email":"john@doe.com",
         "phone":null,
         "engagement":null,
         "reward":{... Reward Object},
         "carrier":{... Carrier Object},,
         "custom_fields":[],
         "rating_answers":[],
         "question_answers":[],
         "answers":{
            "Quality":100
         },
         "testimonial_author":null,
         "testimonial_content":null
      }
   }
}


You will find important information: 

  • Reward ID 
  • Feedback Email 
  • Feedback ID
  • Custom fields 


Therefore, on your system, you can identify the user through his email address or a custom field that you passed (ef. form-url.com?customer_id=123) and distribute the points. You can also attach the Feedback to the user on your system as the payload contains most of the data.


Last but not least, you can update the Reward's delivery status on Feedier by making a POST request to this API: 


POST https://api.feedier.com/v1/feedbacks/reward/transaction


Pass a JSON object in the body that contains: 

  • feedback_id (required)
  • status (required), in: pending, processing, sent, delivered, failed, canceled. delivered should be the one you use if everything works
  • note (optional), string of 300 characters max


So example:


{
    "feedback_id": 42725,
    "status": "delivered"
}


The API will return a response with a status of 200 or an error with details about how to fix it.


More details on the API can be found here: https://feedier.docs.apiary.io/


If you need assistance doing so, please reach our team at help@feedier.com