FeelBack Documentation

Welcome to the FeelBack developer hub. You'll find comprehensive guides and documentation to help you start working with FeelBack as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    
Suggest Edits

Source & Question information

Get Source Information, Questions and Prompts to be used in your Apps.

 
gethttp://api2.feelback.io/source/info
curl --request GET \
  --url http://api2.feelback.io/source/info
var request = require("request");

var options = { method: 'GET', url: 'http://api2.feelback.io/source/info' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api2.feelback.io/source/info")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api2.feelback.io/source/info");

xhr.send(data);
import requests

url = "http://api2.feelback.io/source/info"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Form Data

api_key
string
required

Your account api_key.

token
string
required

Special token used for double authentication, use the provided token.

type
string
required

Type of source: in this case, use CUSTOM.

source_hash
string
required

The source hash key, unique identification for the FeelApp been used on the request.

question_hash
string

The question hash key, when sent the response will have includes question information and reasons associated to the question.

 

GET Request Explanation:

In this GET there are multiple parameters we are sending. Below is a table with the explanation​ for each of them:

Parameter
Description

api_key

This key you can find it inside your admin FeelBack console. It's needed to get access to your account API.

token

Please always use the same value PUP5S9L6RL5QSYZ67Q8ZJQXY5AHEXJ3V.

type

In this API, always use CUSTOM; it means it’s a custom implementation for developers.

source_hash

Send a unique hash for your source. Please read the next section about Getting the api_key...

question_hash

Send the optional question hash ID to get the question information and the question reasons with their hash keys. Please read the next section about Getting the api_key...

Getting the api_key, source_hash and question_hash

For the api_key and source_hash you may access the keys in the Source tab of your FeelBack Dashboard, by pressing the *Edit button:

This will open the App window with the hash keys:

And for your question_hash you may get them at the Question tab of your FeelBack Dashboard, by pressing *Show Hash Keys button:

This will open the questions & reasons hash keys window:

After sending the parameters, we can find some variables and values on the request response. Below you will find the descriptions for each one:

Request Response:

After getting the response, you will receive information on​ the source you request and question if provided. Below we will explain the variables and values:

Example of JSON response

{
  _msg:"OK",
  code:200,
  data:{
    source_hash:"3df1d4b96d8976ff5986393e8767f5b2",
    source_name:"NetFlix App",
    tags:{
      		"Tag 1", "Tag 2", "Tag N"
    		},
    notification: "YES",
    last_report: "2018-01-01 00:00:00",
    question_info: {
     hash:"06409663226af2f3114485aa4e0a23b4",
     short_name:"Hotel CheckOut",
     text:"How was your stay with us?",
     has_reason:"YES",
     reasons:[{
     	hash:"0deb1c54814305ca9ad266f53bc82511",
      text:"Hotel Restaurant"
     },{
     	hash:"66808e327dc79d135ba18e051673d906",
      text:"Staff Attention"
     }],
     status:
    }
  }
}
Variables
Values

_msg

NO KEY ID - When your key is empty.
NO VALID TOKEN - When the token is not valid.
ERROR WHILE GRABBING INFO - Error on the API while trying to get the information.
CANT FIND SOURCE - Can't find the source with hash ID given.
NO VALID SOURCE TYPE - When your source type is not a valid one.
NO ACCOUNT RELATED TO API KEY - When your API key is not found in our database.
OK - If everything is good.

code

The request code. Can be 200 for success or 400 any type of errors.

data:
Will give the source information with question information if requested.

Variable
Value

source_hash

ID for the source requested.

source_name

Name for the source requested.

tags

JSON Array with the source tags.

notification

Will return YES/NO if notification for this source is enabled or not.

last_report

The last date that the source received any data.

question_info:
Where you will find all question information with the prompts if configured.

Variable
Value

hash

The hash key for the question used sent on the JSON request​.

short_name

Is the short name given to this question. Use for filtering in reports and more.

text

Is the complete text for the question.

has_reasons

Flag to know if the question has reasons. Values are YES/NO

reasons

JSON Array with the reasons and hash keys.

status

Flag to know the status.

reasons:
Where you will find all prompts related to the question you requested.

Variable
Value

hash

The hash key for the reasons of the question_hash send on the request json.

text

Complete text of reason.

Suggest Edits

Add new apps

Here we explain how to add new apps to your account.

 

The faster way to add a App is following the instructions on the url:

Get Your FeelAPI Credentials >>

Suggest Edits

Upload data to feelback

Upload feedback data generated by your apps.

 
posthttp://api2.feelback.io/data/upload
curl --request POST \
  --url http://api2.feelback.io/data/upload
var request = require("request");

var options = { method: 'POST', url: 'http://api2.feelback.io/data/upload' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api2.feelback.io/data/upload")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "http://api2.feelback.io/data/upload");

xhr.send(data);
import requests

url = "http://api2.feelback.io/data/upload"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Form Data

api_key
string
required

Your account api_key.

token
string
required

Always use the same value.

type
string
required

Type of source: in this case, we use CUSTOM.

source_hash
string
required

Source hash ID to get the information relative.

feels
string
required

JSON object for the feels to be inserted.

 

POST Request Explanation:

In this POST, there are multiple parameters we are sending. Below is a table with the explanation​ for each of them:

Parameter
Description

api_key

You can find this key inside your admin FeelBack console. It's needed to get access to your account API.

token

Please always use the same value PUP5S9L6RL5QSYZ67Q8ZJQXY5AHEXJ3V.

type

In this API, always use CUSTOM. It means it’s a custom implementation for developers.

source_hash

Send a unique hash for your App. It needs to be the from the Sources tab in your FeelBack Dashboard.

feels

Here you have to send a JSON string with the feels you want to insert for the source hash given.

For more information, please click here!

Request Response:

After creating our source, the response will contain information related to our source and the question hash sent in the POST parameters.

Variables
Values

_msg

NO KEY ID - When your key is empty.
NO VALID TOKEN - When the token is not valid.
NO SOURCEHASH VALUE - When the source hash is empty.
NO SOURCE FOUND - When your source is not related to your account.
NO ACCOUNT RELATED TO API KEY - When your API key is not found in our database.
ERROR WHILE SAVING - When any type of error adding data occurs.
NO VALID SOURCE TYPE - When the source type is not valid. Always use CUSTOM.
NO VALID FEELS - When the JSON string with feels doesn't have a valid format or fields.
OK - If everything is good.

code

The request code. Can be 200 for success or 400 for any type of errors.

Suggest Edits

/mail/send

This channel is for sending emails.

 
posthttps://mail.feeldock.com/mail/send
var data = {
api_key:"1d83be6913e11c9bdc1e72b4638b0346",
source_hash:"cd00692c3bfe59267d5ecfac5310286c",
peoples:[{user_id:"teerr",email:"[email protected]",full_name:"Jose Vega"},{user_id:"",email:"[email protected]",full_name:"Jose Vega"}],
schedule:{date:"2017-05-28 10:00:00",tzone:"America/Los_Angeles"},
subject: "Moises, how was your order delivery?",
message: "We have completed your order, now would you like to tell us how we did it?",
feel_attributes:{product_id:"10001",item_id:"REF0001", departmanet:"Sales", category:"Luxury"}
};
var settings = {
  "async": true,
  "crossDomain": true,
  "url": "https://mail.feeldock.com/mail/send",
  "type": "POST",
  dataType:"text",
  "success":function(data){
$("#Result").html(data);
  },
  "data": data
}

$.ajax(settings);
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

api_key
string
required

Your account api_key as found in api tab in campaign console.

source_hash
string
required

Source hash key found in api tab of campaign console.

peoples
array of objects
required

Array with one or more peoples with email and contact information. People sent thru here if they are new FeelBack will scan them and add to people console automatically.

user_id
email
full_name
person_attribute 
schedule
object
required

Array with schedule information to set email delivery.

 
schedule.date
datetime
required

Date time wen the email will be send. Exp.: yyyy-mm-dd hh:mm:ss

schedule.tzone
string
required

TimeZone for the Schedule. Exp.: America/Chicago

subject
string

Subject for email to be sent.

message
string

Text of body to be sent in the email.

feel_attributes
object

Add your own list of attributes for better analytics.

 
feel_attributes.Product_id
string

Example of an attribute for a product id.

feel_attributes.Item_id
string

Example of an attribute for item id.

feel_attributes.Category
string

Example of an attribute to categorize the feel.

 

Jsfiddle Example:

POST Request Explanation:

In this POST, there are multiple parameters we are sending. Below is a table with the explanation​ for each of them:

Parameter
Description

api_key

You can find this key inside your admin FeelBack console. It's needed to get access to your account API.

source_hash

Send the campaign hash key.

peoples

Send people array with fields like Name, Email, id. Where email is our key field to send your FeelMail.
Array Fields:
user_id - Referential id for the person you are sending the email.
full_name - Name for the person you are sending the email.
email - Email for the person you are sending the email.

schedule

Send schedule parameters like date time (yyyy-mm-dd h:i:s format) and time zone (America/Chicago).

Request Response:

After sending the request to FeelMail you will get some messages back. Some of the possible messages are below in this table:

Variables
Values

_msg

NO KEY ID - When your key is empty.
NO VALID TOKEN - When the token is not valid.
NO CAMPAIGN HASH FOUND - When the campaign hash is empty.
NO PEOPLES DATA - When the people array is with out format or is empty.
NO CAMPAIGN HASH FOUND - When the campaign key is not found in our database.
ERROR WHILE SENDING - When any type of error while sending emails occurs.
OK - If everything is good.

code

The request code. Can be 200 for success or 400 for any type of errors.

Suggest Edits

/images/happy

Get the happy image in multiple formats.

 
gethttp://api2.feelback.io/images/happy
curl --request GET \
  --url http://api2.feelback.io/images/happy
var request = require("request");

var options = { method: 'GET', url: 'http://api2.feelback.io/images/happy' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api2.feelback.io/images/happy")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api2.feelback.io/images/happy");

xhr.send(data);
import requests

url = "http://api2.feelback.io/images/happy"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Form Data

format
string

The format type in wish you like the image. (base64,html,binary)

 
Suggest Edits

/images/normal

Get the normal image in multiple formats.

 
gethttp://api2.feelback.io/images/normal
curl --request GET \
  --url http://api2.feelback.io/images/normal
var request = require("request");

var options = { method: 'GET', url: 'http://api2.feelback.io/images/normal' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api2.feelback.io/images/normal")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api2.feelback.io/images/normal");

xhr.send(data);
import requests

url = "http://api2.feelback.io/images/normal"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Form Data

format
string
required

The format type in wish you like the image. (base64,html,binary)

 
Suggest Edits

/images/angry

Get the angry image in multiple formats.

 
gethttp://api2.feelback.io/images/angry
curl --request GET \
  --url http://api2.feelback.io/images/angry
var request = require("request");

var options = { method: 'GET', url: 'http://api2.feelback.io/images/angry' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("http://api2.feelback.io/images/angry")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "http://api2.feelback.io/images/angry");

xhr.send(data);
import requests

url = "http://api2.feelback.io/images/angry"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Form Data

format
string
required

The format type in wish you like the image. (base64,html,binary)

 
Suggest Edits

Getting Started

This page will help you get started with FeelMail.

 

This is where you show your users how to set it up. You can use code samples, like this:

$http.post('/someUrl', data).success(successCallback);

alert('test');

Try dragging a block from the right to see how easy it is to add more content!