# Introduction 👋

The Feedier API is using the REST API pattern. This page aims to give you a clear understanding of the available resources that you can use to integrate Feedier in your own services.

You need clear understanding of what an API is and how to use it in order to use this page. If you do not, no problem, contact our team at help[at]feedier.com so we can reply your questions.

The current version of the Feedier API is 1.0. This API uses resource-oriented URLs and accepts form-encoded request bodies. All responses are JSON-encoded and return standard HTTP codes.

All endpoints in this API guide should be prefixed by the following base URL:

Base endpoint
https://api.feedier.com/v1

# Authentication

In order to use the Feedier REST API, you need to use your Private API key so Feedier can link the request to your account. And thus, guarantee the security of your data.


Where can I find my private API key?

Your organization's API key can be found on the Dashboard > Integrations page, "API keys" section. Make sure to use the private one and not the public one.

How to use my private key in the request?

Use the Auth Bearer header to pass the API key in the request. See example on the right panel.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Authentication header
curl -X GET \
'https://api.feedier.com/v1/carriers' \
    -H 'Authorization: Bearer eHNT3zAPIKEYEXAMPLE' \
    -H 'Cache-Control: no-cache'
    -H 'Accept: application/json' \

# Errors

The Feedier API returns standard HTTP codes. Nothing fancy. Any response with a 2xx response code is a success and any response with a 4xx is a failure due to the data provided. Eg. Wrong API key.


All errors have the same format so you can handle them easily in your project. The following JSON attributes:

Error Example
 {
    "type": "error",
    "message": "The API key is missing. Send an api_key parameter attached to your request."
}
                

The type attribute is always present and is either success or error.

Name HTTP Status Explanation
Success 200 Everything worked is O.K, you will get the expected response.
Bad Request 400 The request was unacceptable, which is usually due to a required parameter that is missing.
Unauthorized 401 401 No valid API key was provided, or the wrong key was provided.
Failed 402 The parameters were valid but the request failed.
Not Found 404 The requested resource doesn't exist on our server.
Too Many Requests 429 Too many requests hit the API too quickly.
Server Errors 50* Something went wrong on our end. You can contact us to report this and get more details.

# Pagination

All listing requests will return paginated responses. This is done to avoid having responses which are too heavy and long to load. As they all have the same format, you can refer yourself to this section for all of them.

Pass the page attribute to the request if you want to access a specific page. You can also use searching parameters. They depends on the endpoints are documented in the Resources part.

Example:

https://api.feedier.com/v1/feedbacks?page=2

Here is an example of a paginated response. They all have the same format.

Attribute Type Description
type string "success" or "error", depending on whether the request was successful or not
total number Total number of items for this resource with the passed parameters, you can paginate through them.
per_page number Number of items that will be returned per page: 20
current_page number Current page index, starts at 0
next_page_url string API endpoint that you need to get the following results (if any, otherwise it returns null).
prev_page_url string API endpoint that you need to get the previous results (if any, otherwise it returns null).
data array Array of objects for the given resource can be empty if no match.
Pagination response example
{
    "type": "success",
    "total": 56,
    "per_page": 20,
    "current_page": 2,
    "next_page_url": "https://api.feedier.com/v1/feedbacks?page=3",
    "prev_page_url": "https://api.feedier.com/v1/feedbacks?page=1",
    "data": [
        {
            "type": "feedback",
            "id": "feedback_1",
            "satisfaction_ratio": 86,
            ...
        },
    ]
}
                

# Send your integrations

Want to see your product in the Feedier Integrations tab? Get in touch with our product team at product[at]feedier.com. We help our partners through the integration process and make sure your app shows up in the Integrations tab.


The following steps apply for all our partners:

  • Send us an email explaining what the integration is about and what access you need. We will write an article on our blog once it's done.
  • Let us know clearly what data you need from the Feedier users so we can build the form in the Integrations tab.
Need a specific integration for your business? The Feedier team can help build specific integrations for your business. We charge by the day and add these projects on the top of our road map. Contact sales[at]feedier.com to get more details.

# Carriers

The Feedback Carriers resource lets you access the forms associated with your accounts and the items attached to it. You can also use this endpoint to generate Feedback Carrier tokens when the Authentication mode is enabled (Form > Advanced Settings). All the endpoints are documented in this section.

Carrier = Feedback Carrier = Feedback Form

Available endpoints
GET  /carriers/
GET  /carriers/:carrier_id/
GET  /carriers/:carrier_id/feedbacks
GET  /carriers/:carrier_id/ratings
GET  /carriers/:carrier_id/questions
GET  /carriers/:carrier_id/rewards
GET  /carriers/:carrier_id/engagements
GET  /carriers/:carrier_id/pushes
                

Feedback Carrier Object

Attribute Type Description
type string The object type, always "carrier" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
name string The Carrier name, it can be edited in the Feedier Dashboard
slug string Unique slug associated with the Feedback Carrier, can be changed in the Settings > Link page<
status string Either: active or inactive
url string The current direct URL to the form
total_feedbacks number Total number of feedbacks attached to the Carrier
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
color string HEX color attached to the form
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "carrier",
    "id": 123,
    "name": "Feedback",
    "slug": "VxbSrJ",
    "status": "active",
    "url": "https:\/\/fdier.co\/example",
    "total_feedbacks": 999,
    "created_at": "2019-12-07 16:28:01",
    "updated_at": "2019-12-07 16:28:01",
    "color": "#4C4A4A",
    "team_id": 456
}
            

Feedback Carriers Listing (GET /carriers)

Returns a Carrier listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Carrier name

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Carrier object, the attributes are documented here.

GET /carriers
$ curl 'https://api.feedier.com/v1/carriers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "carrier",
            "id": 123,
            "name": "Feedback",
            "slug": "VxbSrJ",
            "status": "active",
            "url": "https:\/\/fdier.co\/example",
            "total_feedbacks": 999,
            "created_at": "2019-12-07 16:28:01",
            "updated_at": "2019-12-07 16:28:01",
            "color": "#4C4A4A",
            "team_id": 456
        }
    ]
}

Single Feedback Carrier (GET /carriers/:carrier_id)

Returns a single Carrier object.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns an object response type, a Carrier object is present in the data attribute. The attributes are documented here.

GET /carriers/:carrier_id
$ curl 'https://api.feedier.com/v1/carriers/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "carrier",
        "id": 123,
        "name": "Feedback",
        "slug": "VxbSrJ",
        "status": "active",
        "url": "https:\/\/fdier.co\/example",
        "total_feedbacks": 999,
        "created_at": "2019-12-07 16:28:01",
        "updated_at": "2019-12-07 16:28:01",
        "color": "#4C4A4A",
        "team_id": 456
    }
}

Single Feedback Carrier Feedbacks (GET /carriers/:carrier_id/feedbacks)

Returns a Feedback listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Feedback object, the attributes are documented here.

GET /carriers/:carrier_id/feedbacks
$ curl 'https://api.feedier.com/v1/carriers/123/feedbacks' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "feedback",
        "id": 123,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:01",
        "completed": "No",
        "completion_time": 113860,
        "country_code": "FR",
        "email": null,
        "phone": null,
        "custom_fields": {
            "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
            "utm_campaign": "Email #2 (K5uAhm)",
            "utm_medium": "email",
            "utm_source": "Product Review \/ Cross Sell"
        },
        "satisfaction_ratio": null,
        "rating_answers": [],
        "question_answers": [
            "Facebook feed",
            "Loved the colors and material"
        ],
        "reward": null,
        "reward_transaction_status": null,
        "engagement": null,
        "testimonial_author": null,
        "testimonial_content": null,
        "reward_transaction_id": 456,
        "time": 113860,
        "updated_at": "2019-12-07 16:28:01",
        "answers": {
            "How did you hear about Betsy and Lace?": "Facebook feed",
            "Why did you decide to purchase from us?": "Loved the colors and material"
        },
        "total_rating_answers": 999,
        "total_question_answers": 999,
        "team_id": 456
    }
}

Single Feedback Carrier Ratings (GET /carriers/:carrier_id/ratings)

Returns a Rating listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Rating object, the attributes are documented here.

GET /carriers/:carrier_id/ratings
$ curl 'https://api.feedier.com/v1/carriers/123/ratings' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "rating",
        "id": 123,
        "name": "Quality",
        "description": null,
        "active": 1,
        "carrier_id": 456,
        "total_answers": 999,
        "created_at": "2019-12-07 16:28:01",
        "updated_at": "2019-12-07 16:28:01",
        "team_id": 456
    }
}

Single Feedback Carrier Questions (GET /carriers/:carrier_id/questions)

Returns a Question listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Question object, the attributes are documented here.

GET /carriers/:carrier_id/questions
$ curl 'https://api.feedier.com/v1/carriers/123/questions' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "nps",
        "id": 123,
        "question_type": "slider",
        "name": "How likely is it that you would recommend Product to a friend or colleague?",
        "description": null,
        "required": 1,
        "active": 1,
        "carrier_id": 456,
        "total_answers": 999,
        "satisfaction_min": 0,
        "satisfaction_max": 100,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Single Feedback Carrier Rewards (GET /carriers/:carrier_id/rewards)

Returns a Reward listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Reward object, the attributes are documented here.

GET /carriers/:carrier_id/rewards
$ curl 'https://api.feedier.com/v1/carriers/123/rewards' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "reward",
        "id": 123,
        "carrier_id": 456,
        "name": "$10 off your next order",
        "probability": 10,
        "kind": "voucher",
        "reward_type": "voucher",
        "limit": -1,
        "total_transactions": 777,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Single Feedback Carrier Engagements (GET /carriers/:carrier_id/engagements)

Returns a Engagement listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Engagement object, the attributes are documented here.

GET /carriers/:carrier_id/engagements
$ curl 'https://api.feedier.com/v1/carriers/123/engagements' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "engagement",
        "id": 123,
        "engagement_type": "testimonial",
        "satisfaction_min": 80,
        "satisfaction_max": 100,
        "total_tracks": 999,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Single Feedback Carrier Pushes (GET /carriers/:carrier_id/pushes)

Returns a Push listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Push object, the attributes are documented here.

GET /carriers/:carrier_id/pushes
$ curl 'https://api.feedier.com/v1/carriers/123/pushes' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "push",
        "id": 123,
        "push_type": "email",
        "target": "[email protected]",
        "status": "requested",
        "follow_up": 0,
        "message": null,
        "carrier_token_id": 456,
        "carrier_id": 456,
        "push_recipient_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

# Ratings

The Ratings resource let you access all ratings available in your account. To find the ones attached to a form, use the /carriers/:id/ratings endpoint. All the endpoints are documented in this section.

Rating = optional 1st step of every Feedback Carrier.

Available endpoints
GET  /ratings/
GET  /ratings/:id/
GET  /ratings/:id/answers
                

Rating Object

Attribute Type Description
type string The object type, always "rating" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
name string The Rating name, it can be edited in the Feedier Dashboard
description stringnull The Rating description, it can be edited in the Feedier Dashboard. The value is null if not set.
active boolean Whether the Rating is enabled or not. 1 = active and 0 = inactive
carrier_id number The unique Carrier id associated with the Rating
total_answers number Total number of answers attached to the Rating
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "rating",
    "id": 123,
    "name": "Quality",
    "description": null,
    "active": 1,
    "carrier_id": 456,
    "total_answers": 999,
    "created_at": "2019-12-07 16:28:01",
    "updated_at": "2019-12-07 16:28:01",
    "team_id": 456
}
            

Ratings Listing (GET /ratings)

Returns a Rating listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Rating name
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Rating object, the attributes are documented here.

GET /ratings
$ curl 'https://api.feedier.com/v1/ratings' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "rating",
            "id": 123,
            "name": "Quality",
            "description": null,
            "active": 1,
            "carrier_id": 456,
            "total_answers": 999,
            "created_at": "2019-12-07 16:28:01",
            "updated_at": "2019-12-07 16:28:01",
            "team_id": 456
        }
    ]
}

Single Rating (GET /ratings/:id)

Returns a single Rating object.

Arguments

Argument Type Description
id number Required, the unique Rating identifier (id)

Response

Returns an object response type, a Rating object is present in the data attribute. The attributes are documented here.

GET /ratings/:id
$ curl 'https://api.feedier.com/v1/ratings/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "rating",
        "id": 123,
        "name": "Quality",
        "description": null,
        "active": 1,
        "carrier_id": 456,
        "total_answers": 999,
        "created_at": "2019-12-07 16:28:01",
        "updated_at": "2019-12-07 16:28:01",
        "team_id": 456
    }
}

Rating's Answers (GET /ratings/:id/answers)

Returns a Rating Answer listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Rating Answer identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Rating Answer object, the attributes are documented here.

GET /ratings/:id/answers
$ curl 'https://api.feedier.com/v1/ratings/123/answers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "rating_answer",
            "id": 123,
            "value": 80,
            "score": 4,
            "rating_id": 456,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

# Rating Answers

The Rating Answers resource let you access all available question answers in your account. To find the ones attached to a specific rating, use the /ratings/:id/answers endpoint.

Available endpoints
GET  /rating_answers/
GET  /rating_answers/:id/
                

Rating Answer Object

Attribute Type Description
type string The object type, always "rating_answer" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
value number The Rating Answer's value as a percentage, collected by Feedier. From 0 to 100.
score number The rating score from 1 to 5. So if the value is 40, it means a score of 2.
rating_id number The unique Rating id associated with the Rating Answer
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "rating_answer",
    "id": 123,
    "value": 80,
    "score": 4,
    "rating_id": 456,
    "created_at": "2019-12-07 16:28:03",
    "updated_at": "2019-12-07 16:28:03",
    "team_id": 456
}
            

Rating Answers Listing (GET /rating_answers)

Returns a Rating Answer listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Rating Answer name
rating_id number Optional, the records matched will only be ones attached to the provided Rating id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Rating Answer object, the attributes are documented here.

GET /rating_answers
$ curl 'https://api.feedier.com/v1/rating_answers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "rating_answer",
            "id": 123,
            "value": 80,
            "score": 4,
            "rating_id": 456,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

Single Rating Answer (GET /rating_answers/:id)

Returns a single Rating Answer object.

Arguments

Argument Type Description
id number Required, the unique Rating Answer identifier (id)

Response

Returns an object response type, a Rating Answer object is present in the data attribute. The attributes are documented here.

GET /rating_answers/:id
$ curl 'https://api.feedier.com/v1/rating_answers/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "rating_answer",
        "id": 123,
        "value": 80,
        "score": 4,
        "rating_id": 456,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

# Questions

The Questions resource let you access all available questions in your account. To find the ones attached to a form, use the /carriers/:id/questions endpoint. All the endpoints are documented in this section.

Question = optional 2st step of every Feedback Carrier.

Available endpoints
GET  /questions/
GET  /questions/:id/
GET  /questions/:id/answers
                

Question Object

Attribute Type Description
type string The object type, always "nps" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
question_type string The Question's type, in: datePicker dropdown image largeSlider nps order select slider smiley textarea toggle transition
name string The Nps name, it can be edited in the Feedier Dashboard
description stringnull The Nps description, it can be edited in the Feedier Dashboard. The value is null if not set.
required boolean Whether the question is required or not. 1 = required, cannot go next until it is answered, and 0 = non required, can be skipped
active boolean Whether the Nps is enabled or not. 1 = active and 0 = inactive
carrier_id number The unique Carrier id associated with the Nps
total_answers number Total number of answers attached to the Nps
satisfaction_min number The minimum satisfaction ration required for the user to see the Nps
satisfaction_max number The maximum satisfaction ration required for the user to see the Nps
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "nps",
    "id": 123,
    "question_type": "slider",
    "name": "How likely is it that you would recommend Product to a friend or colleague?",
    "description": null,
    "required": 1,
    "active": 1,
    "carrier_id": 456,
    "total_answers": 999,
    "satisfaction_min": 0,
    "satisfaction_max": 100,
    "created_at": "2019-12-07 16:28:02",
    "updated_at": "2019-12-07 16:28:02",
    "team_id": 456
}
            

Questions Listing (GET /questions)

Returns a Question listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Question name
question_type number Optional, the records having the type sent, in: datePicker dropdown image largeSlider nps order select slider smiley textarea toggle transition
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Question object, the attributes are documented here.

GET /questions
$ curl 'https://api.feedier.com/v1/questions' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "nps",
            "id": 123,
            "question_type": "slider",
            "name": "How likely is it that you would recommend Product to a friend or colleague?",
            "description": null,
            "required": 1,
            "active": 1,
            "carrier_id": 456,
            "total_answers": 999,
            "satisfaction_min": 0,
            "satisfaction_max": 100,
            "created_at": "2019-12-07 16:28:02",
            "updated_at": "2019-12-07 16:28:02",
            "team_id": 456
        }
    ]
}

Single Question (GET /questions/:id)

Returns a single Question object.

Arguments

Argument Type Description
id number Required, the unique Question identifier (id)

Response

Returns an object response type, a Question object is present in the data attribute. The attributes are documented here.

GET /questions/:id
$ curl 'https://api.feedier.com/v1/questions/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "nps",
        "id": 123,
        "question_type": "slider",
        "name": "How likely is it that you would recommend Product to a friend or colleague?",
        "description": null,
        "required": 1,
        "active": 1,
        "carrier_id": 456,
        "total_answers": 999,
        "satisfaction_min": 0,
        "satisfaction_max": 100,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Question's Answers (GET /questions/:id/answers)

Returns a Question Answer listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Question Answer identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Question Answer object, the attributes are documented here.

GET /questions/:id/answers
$ curl 'https://api.feedier.com/v1/questions/123/answers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "question_answer",
            "id": 123,
            "time": 28592,
            "value": 9,
            "question_id": 456,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

# Question Answers

The Question Answers resource let you access all available question answers in your account. To find the ones attached to a specific question, use the /questions/:id/answers endpoint.

Available endpoints
GET  /question_answers/
GET  /question_answers/:id/
                

Question Answer Object

Attribute Type Description
type string The object type, always "question_answer" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
time number The time that the participant took to answer the question in milliseconds
value string The Question Answer's value. The format depends on the question type, but it will always be a string
question_id number The unique Question id associated with the Question Answer
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "question_answer",
    "id": 123,
    "time": 28592,
    "value": 9,
    "question_id": 456,
    "created_at": "2019-12-07 16:28:03",
    "updated_at": "2019-12-07 16:28:03",
    "team_id": 456
}
            

Question Answers Listing (GET /question_answers)

Returns a Question Answer listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Question Answer name
question_id number Optional, the records matched will only be ones attached to the provided Question id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Question Answer object, the attributes are documented here.

GET /question_answers
$ curl 'https://api.feedier.com/v1/question_answers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "question_answer",
            "id": 123,
            "time": 28592,
            "value": 9,
            "question_id": 456,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

Single Question Answer (GET /question_answers/:id)

Returns a single Question Answer object.

Arguments

Argument Type Description
id number Required, the unique Question Answer identifier (id)

Response

Returns an object response type, a Question Answer object is present in the data attribute. The attributes are documented here.

GET /question_answers/:id
$ curl 'https://api.feedier.com/v1/question_answers/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "question_answer",
        "id": 123,
        "time": 28592,
        "value": 9,
        "question_id": 456,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

# Rewards

The Rewards resource let you access all rewards available in your account. To find the ones attached to a form, use the /carriers/:id/rewards endpoint. All the endpoints are documented in this section.

Reward = optional 3rd step of every Feedback Carrier.

Every distributed reward (won by the user), is attached to a Reward Transaction item that you can edit.

Available endpoints
GET  /rewards/
GET  /rewards/:id/
GET  /rewards/:id/transactions
                

Reward Object

Attribute Type Description
type string The object type, always "reward" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
carrier_id number The unique Carrier id associated with the Reward
name string The Reward name, it can be edited in the Feedier Dashboard
probability number Probability (in percentage %) for the participant to get the reward. If 100, it means the reward is always issued..
kind string N/A
reward_type string The Reward's type, in: amazonGift downloadable invite loyaltyPoint message randomCoupon voucher
limit number The maximum number of times the reward can be distributed to the participant. If -1, it means there is no limit, it's unlimited.
total_transactions number Total number of transactions attached to the Reward
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "reward",
    "id": 123,
    "carrier_id": 456,
    "name": "$10 off your next order",
    "probability": 10,
    "kind": "voucher",
    "reward_type": "voucher",
    "limit": -1,
    "total_transactions": 777,
    "created_at": "2019-12-07 16:28:02",
    "updated_at": "2019-12-07 16:28:02",
    "team_id": 456
}
            

Rewards Listing (GET /rewards)

Returns a Reward listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Reward name
reward_type number Optional, the records having the type sent, in: amazonGift downloadable invite loyaltyPoint message randomCoupon voucher
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Reward object, the attributes are documented here.

GET /rewards
$ curl 'https://api.feedier.com/v1/rewards' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "reward",
            "id": 123,
            "carrier_id": 456,
            "name": "$10 off your next order",
            "probability": 10,
            "kind": "voucher",
            "reward_type": "voucher",
            "limit": -1,
            "total_transactions": 777,
            "created_at": "2019-12-07 16:28:02",
            "updated_at": "2019-12-07 16:28:02",
            "team_id": 456
        }
    ]
}

Single Reward (GET /rewards/:id)

Returns a single Reward object.

Arguments

Argument Type Description
id number Required, the unique Reward identifier (id)

Response

Returns an object response type, a Reward object is present in the data attribute. The attributes are documented here.

GET /rewards/:id
$ curl 'https://api.feedier.com/v1/rewards/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "reward",
        "id": 123,
        "carrier_id": 456,
        "name": "$10 off your next order",
        "probability": 10,
        "kind": "voucher",
        "reward_type": "voucher",
        "limit": -1,
        "total_transactions": 777,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Reward's Transactions (GET /rewards/:id/transactions)

Returns a Reward Transaction listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Reward Transaction identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Reward Transaction object, the attributes are documented here.

GET /rewards/:id/transactions
$ curl 'https://api.feedier.com/v1/rewards/123/transactions' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "reward_transaction",
            "id": 123,
            "reward": {
                "type": "reward",
                "id": 1112,
                "carrier_id": 3497,
                "name": "L'un de nos magazines MoiChef",
                "probability": 100,
                "kind": "downloadable",
                "reward_type": "downloadable",
                "limit": 0,
                "total_transactions": 242,
                "created_at": "2018-08-17T11:13:06+02:00",
                "updated_at": "2018-08-17T11:13:06+02:00",
                "team_id": 1365
            },
            "reward_id": 456,
            "feedback": {
                "type": "feedback",
                "id": 143638,
                "carrier_id": 3497,
                "created_at": "2019-12-07T16:18:37+01:00",
                "completed": "Yes",
                "completion_time": 156499,
                "country_code": "FR",
                "email": "[email protected]",
                "phone": null,
                "custom_fields": [],
                "satisfaction_ratio": null,
                "rating_answers": [],
                "question_answers": [
                    "Sur une liste de box sur le site topito",
                    "Produits d\u2019exceptions et recettes des chefs",
                    "L\u00e9ger amateur",
                    "Le prix un peu trop \u00e9lev\u00e9"
                ],
                "reward": {
                    "name": "L'un de nos magazines MoiChef",
                    "probability": 100,
                    "type": "downloadable",
                    "limit": 0,
                    "active": 1
                },
                "reward_transaction_status": "delivered",
                "engagement": null,
                "testimonial_author": null,
                "testimonial_content": null,
                "reward_transaction_id": 17195,
                "time": 156499,
                "updated_at": "2019-12-07T16:20:26+01:00",
                "answers": {
                    "La grande classique : comment est-ce que vous nous avez connus ?": "Sur une liste de box sur le site topito",
                    "Quelle est LA raison qui vous a fait choisir la Box MoiChef plut\u00f4t qu'une autre Box (ou un autre cadeau) ?": "Produits d\u2019exceptions et recettes des chefs",
                    "Et enfin : est-ce que vous \u00eates, vous-m\u00eame, fan de cuisine ?": "L\u00e9ger amateur",
                    "\u00c0 l'inverse, quel est LE point qui vous a fait l\u00e9g\u00e8rement h\u00e9siter avant de commander ?": "Le prix un peu trop \u00e9lev\u00e9"
                },
                "total_rating_answers": 0,
                "total_question_answers": 4,
                "team_id": 1365
            },
            "feedback_id": 456,
            "status": "delivered",
            "note": null,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

# Reward Transactions

The Reward Transactions resource let you access all available reward transactions in your account. To find the ones attached to a specific reward, use the /rewards/:id/transactions endpoint.

You can update a reward transaction status using the API. Eg. A loyalty reward is distributed, your service subscribes to the web hook, add the points and update the reward transaction to "delivered".

Available endpoints
GET  /reward_transactions/
GET  /reward_transactions/:id/
POST /reward_transactions/:id/
                

Reward Transaction Object

Attribute Type Description
type string The object type, always "reward_transaction" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
reward string N/A
reward_id number The unique Reward id associated with the Reward Transaction
feedback string N/A
feedback_id number The unique Feedback id associated with the Reward Transaction
status string N/A
note stringnull The Reward Transaction note, it can be edited through the API. The value is null if not set.
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "reward_transaction",
    "id": 123,
    "reward": {
        "type": "reward",
        "id": 1112,
        "carrier_id": 3497,
        "name": "L'un de nos magazines MoiChef",
        "probability": 100,
        "kind": "downloadable",
        "reward_type": "downloadable",
        "limit": 0,
        "total_transactions": 242,
        "created_at": "2018-08-17T11:13:06+02:00",
        "updated_at": "2018-08-17T11:13:06+02:00",
        "team_id": 1365
    },
    "reward_id": 456,
    "feedback": {
        "type": "feedback",
        "id": 143638,
        "carrier_id": 3497,
        "created_at": "2019-12-07T16:18:37+01:00",
        "completed": "Yes",
        "completion_time": 156499,
        "country_code": "FR",
        "email": "[email protected]",
        "phone": null,
        "custom_fields": [],
        "satisfaction_ratio": null,
        "rating_answers": [],
        "question_answers": [
            "Sur une liste de box sur le site topito",
            "Produits d\u2019exceptions et recettes des chefs",
            "L\u00e9ger amateur",
            "Le prix un peu trop \u00e9lev\u00e9"
        ],
        "reward": {
            "name": "L'un de nos magazines MoiChef",
            "probability": 100,
            "type": "downloadable",
            "limit": 0,
            "active": 1
        },
        "reward_transaction_status": "delivered",
        "engagement": null,
        "testimonial_author": null,
        "testimonial_content": null,
        "reward_transaction_id": 17195,
        "time": 156499,
        "updated_at": "2019-12-07T16:20:26+01:00",
        "answers": {
            "La grande classique : comment est-ce que vous nous avez connus ?": "Sur une liste de box sur le site topito",
            "Quelle est LA raison qui vous a fait choisir la Box MoiChef plut\u00f4t qu'une autre Box (ou un autre cadeau) ?": "Produits d\u2019exceptions et recettes des chefs",
            "Et enfin : est-ce que vous \u00eates, vous-m\u00eame, fan de cuisine ?": "L\u00e9ger amateur",
            "\u00c0 l'inverse, quel est LE point qui vous a fait l\u00e9g\u00e8rement h\u00e9siter avant de commander ?": "Le prix un peu trop \u00e9lev\u00e9"
        },
        "total_rating_answers": 0,
        "total_question_answers": 4,
        "team_id": 1365
    },
    "feedback_id": 456,
    "status": "delivered",
    "note": null,
    "created_at": "2019-12-07 16:28:03",
    "updated_at": "2019-12-07 16:28:03",
    "team_id": 456
}
            

Reward Transactions Listing (GET /reward_transactions)

Returns a Reward Transaction listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Reward Transaction name
question_id number Optional, the records matched will only be ones attached to the provided Question id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Reward Transaction object, the attributes are documented here.

GET /reward_transactions
$ curl 'https://api.feedier.com/v1/reward_transactions' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "reward_transaction",
            "id": 123,
            "reward": {
                "type": "reward",
                "id": 1112,
                "carrier_id": 3497,
                "name": "L'un de nos magazines MoiChef",
                "probability": 100,
                "kind": "downloadable",
                "reward_type": "downloadable",
                "limit": 0,
                "total_transactions": 242,
                "created_at": "2018-08-17T11:13:06+02:00",
                "updated_at": "2018-08-17T11:13:06+02:00",
                "team_id": 1365
            },
            "reward_id": 456,
            "feedback": {
                "type": "feedback",
                "id": 143638,
                "carrier_id": 3497,
                "created_at": "2019-12-07T16:18:37+01:00",
                "completed": "Yes",
                "completion_time": 156499,
                "country_code": "FR",
                "email": "[email protected]",
                "phone": null,
                "custom_fields": [],
                "satisfaction_ratio": null,
                "rating_answers": [],
                "question_answers": [
                    "Sur une liste de box sur le site topito",
                    "Produits d\u2019exceptions et recettes des chefs",
                    "L\u00e9ger amateur",
                    "Le prix un peu trop \u00e9lev\u00e9"
                ],
                "reward": {
                    "name": "L'un de nos magazines MoiChef",
                    "probability": 100,
                    "type": "downloadable",
                    "limit": 0,
                    "active": 1
                },
                "reward_transaction_status": "delivered",
                "engagement": null,
                "testimonial_author": null,
                "testimonial_content": null,
                "reward_transaction_id": 17195,
                "time": 156499,
                "updated_at": "2019-12-07T16:20:26+01:00",
                "answers": {
                    "La grande classique : comment est-ce que vous nous avez connus ?": "Sur une liste de box sur le site topito",
                    "Quelle est LA raison qui vous a fait choisir la Box MoiChef plut\u00f4t qu'une autre Box (ou un autre cadeau) ?": "Produits d\u2019exceptions et recettes des chefs",
                    "Et enfin : est-ce que vous \u00eates, vous-m\u00eame, fan de cuisine ?": "L\u00e9ger amateur",
                    "\u00c0 l'inverse, quel est LE point qui vous a fait l\u00e9g\u00e8rement h\u00e9siter avant de commander ?": "Le prix un peu trop \u00e9lev\u00e9"
                },
                "total_rating_answers": 0,
                "total_question_answers": 4,
                "team_id": 1365
            },
            "feedback_id": 456,
            "status": "delivered",
            "note": null,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

Single Reward Transaction (GET /reward_transactions/:id)

Returns a single Reward Transaction object.

Arguments

Argument Type Description
id number Required, the unique Reward Transaction identifier (id)

Response

Returns an object response type, a Reward Transaction object is present in the data attribute. The attributes are documented here.

GET /reward_transactions/:id
$ curl 'https://api.feedier.com/v1/reward_transactions/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "reward_transaction",
        "id": 123,
        "reward": {
            "type": "reward",
            "id": 1112,
            "carrier_id": 3497,
            "name": "L'un de nos magazines MoiChef",
            "probability": 100,
            "kind": "downloadable",
            "reward_type": "downloadable",
            "limit": 0,
            "total_transactions": 242,
            "created_at": "2018-08-17T11:13:06+02:00",
            "updated_at": "2018-08-17T11:13:06+02:00",
            "team_id": 1365
        },
        "reward_id": 456,
        "feedback": {
            "type": "feedback",
            "id": 143638,
            "carrier_id": 3497,
            "created_at": "2019-12-07T16:18:37+01:00",
            "completed": "Yes",
            "completion_time": 156499,
            "country_code": "FR",
            "email": "[email protected]",
            "phone": null,
            "custom_fields": [],
            "satisfaction_ratio": null,
            "rating_answers": [],
            "question_answers": [
                "Sur une liste de box sur le site topito",
                "Produits d\u2019exceptions et recettes des chefs",
                "L\u00e9ger amateur",
                "Le prix un peu trop \u00e9lev\u00e9"
            ],
            "reward": {
                "name": "L'un de nos magazines MoiChef",
                "probability": 100,
                "type": "downloadable",
                "limit": 0,
                "active": 1
            },
            "reward_transaction_status": "delivered",
            "engagement": null,
            "testimonial_author": null,
            "testimonial_content": null,
            "reward_transaction_id": 17195,
            "time": 156499,
            "updated_at": "2019-12-07T16:20:26+01:00",
            "answers": {
                "La grande classique : comment est-ce que vous nous avez connus ?": "Sur une liste de box sur le site topito",
                "Quelle est LA raison qui vous a fait choisir la Box MoiChef plut\u00f4t qu'une autre Box (ou un autre cadeau) ?": "Produits d\u2019exceptions et recettes des chefs",
                "Et enfin : est-ce que vous \u00eates, vous-m\u00eame, fan de cuisine ?": "L\u00e9ger amateur",
                "\u00c0 l'inverse, quel est LE point qui vous a fait l\u00e9g\u00e8rement h\u00e9siter avant de commander ?": "Le prix un peu trop \u00e9lev\u00e9"
            },
            "total_rating_answers": 0,
            "total_question_answers": 4,
            "team_id": 1365
        },
        "feedback_id": 456,
        "status": "delivered",
        "note": null,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

Update a single Reward Transaction (POST /reward_transactions/:id)

Returns a single Reward Transaction object.

Arguments

Argument Type Description
id number Required, the unique Reward Transaction identifier (id)
status number Optional, the current reward transaction's status, in: pending processing sent delivered failed canceled
note number Optional, a note attached to the transaction that will be displayed in the Feedier Dashboard

Response

Returns an object response type, a Reward Transaction object is present in the data attribute. The attributes are documented here.

POST /reward_transactions/:id
$ curl 'https://api.feedier.com/v1/reward_transactions/123' \ 
 -D '{"status":"delivered"}' \ 
 -H 'Content-Type: application/json' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "reward_transaction",
        "id": 123,
        "reward": {
            "type": "reward",
            "id": 1112,
            "carrier_id": 3497,
            "name": "L'un de nos magazines MoiChef",
            "probability": 100,
            "kind": "downloadable",
            "reward_type": "downloadable",
            "limit": 0,
            "total_transactions": 242,
            "created_at": "2018-08-17T11:13:06+02:00",
            "updated_at": "2018-08-17T11:13:06+02:00",
            "team_id": 1365
        },
        "reward_id": 456,
        "feedback": {
            "type": "feedback",
            "id": 143638,
            "carrier_id": 3497,
            "created_at": "2019-12-07T16:18:37+01:00",
            "completed": "Yes",
            "completion_time": 156499,
            "country_code": "FR",
            "email": "[email protected]",
            "phone": null,
            "custom_fields": [],
            "satisfaction_ratio": null,
            "rating_answers": [],
            "question_answers": [
                "Sur une liste de box sur le site topito",
                "Produits d\u2019exceptions et recettes des chefs",
                "L\u00e9ger amateur",
                "Le prix un peu trop \u00e9lev\u00e9"
            ],
            "reward": {
                "name": "L'un de nos magazines MoiChef",
                "probability": 100,
                "type": "downloadable",
                "limit": 0,
                "active": 1
            },
            "reward_transaction_status": "delivered",
            "engagement": null,
            "testimonial_author": null,
            "testimonial_content": null,
            "reward_transaction_id": 17195,
            "time": 156499,
            "updated_at": "2019-12-07T16:20:26+01:00",
            "answers": {
                "La grande classique : comment est-ce que vous nous avez connus ?": "Sur une liste de box sur le site topito",
                "Quelle est LA raison qui vous a fait choisir la Box MoiChef plut\u00f4t qu'une autre Box (ou un autre cadeau) ?": "Produits d\u2019exceptions et recettes des chefs",
                "Et enfin : est-ce que vous \u00eates, vous-m\u00eame, fan de cuisine ?": "L\u00e9ger amateur",
                "\u00c0 l'inverse, quel est LE point qui vous a fait l\u00e9g\u00e8rement h\u00e9siter avant de commander ?": "Le prix un peu trop \u00e9lev\u00e9"
            },
            "total_rating_answers": 0,
            "total_question_answers": 4,
            "team_id": 1365
        },
        "feedback_id": 456,
        "status": "delivered",
        "note": null,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

# Engagements

The Engagements resource let you access all engagements available in your account. To find the ones attached to a form, use the /carriers/:id/engagements endpoint. All the endpoints are documented in this section.

Engagement = optional 4th step of every Feedback Carrier.

Every clicked engagement (displayed to the user), is attached to an Engagement Track item.

Available endpoints
GET  /engagements/
GET  /engagements/:id/
GET  /engagements/:id/tracks
                

Engagement Object

Attribute Type Description
type string The object type, always "engagement" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
engagement_type string The Engagement's type, in: email link rating social testimonial
satisfaction_min number The minimum satisfaction ration required for the user to see the Engagement
satisfaction_max number The maximum satisfaction ration required for the user to see the Engagement
total_tracks number Total number of tracks attached to the Engagement
carrier_id number The unique Carrier id associated with the Engagement
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "engagement",
    "id": 123,
    "engagement_type": "testimonial",
    "satisfaction_min": 80,
    "satisfaction_max": 100,
    "total_tracks": 999,
    "carrier_id": 456,
    "created_at": "2019-12-07 16:28:02",
    "updated_at": "2019-12-07 16:28:02",
    "team_id": 456
}
            

Engagements Listing (GET /engagements)

Returns a Engagement listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Engagement name
engagement_type number Optional, the records having the type sent, in: email link rating social testimonial
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Engagement object, the attributes are documented here.

GET /engagements
$ curl 'https://api.feedier.com/v1/engagements' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "engagement",
            "id": 123,
            "engagement_type": "testimonial",
            "satisfaction_min": 80,
            "satisfaction_max": 100,
            "total_tracks": 999,
            "carrier_id": 456,
            "created_at": "2019-12-07 16:28:02",
            "updated_at": "2019-12-07 16:28:02",
            "team_id": 456
        }
    ]
}

Single Engagement (GET /engagements/:id)

Returns a single Engagement object.

Arguments

Argument Type Description
id number Required, the unique Engagement identifier (id)

Response

Returns an object response type, a Engagement object is present in the data attribute. The attributes are documented here.

GET /engagements/:id
$ curl 'https://api.feedier.com/v1/engagements/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "engagement",
        "id": 123,
        "engagement_type": "testimonial",
        "satisfaction_min": 80,
        "satisfaction_max": 100,
        "total_tracks": 999,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Engagement's tracks (GET /engagements/:id/tracks)

Returns a Engagement Track listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Engagement Track identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Engagement Track object, the attributes are documented here.

GET /engagements/:id/tracks
$ curl 'https://api.feedier.com/v1/engagements/123/tracks' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "engagement_track",
            "feedback_id": 123,
            "engagement_id": 456,
            "team_id": 789,
            "created_at": "2019-12-08 05:43:06",
            "updated_at": "2019-12-08 05:43:06",
            "testimonial_author": "John Doe",
            "testimonial_content": "Awesome company"
        }
    ]
}

# Engagement Tracks

The Engagement Tracks resource let you access all available engagement tracks in your account. An engagement track is whenever an engagement is used (testimonial left, link clicked, email newsletter clicked). To find the ones attached to a specific engagement, use the /engagements/:id/tracks endpoint.

Available endpoints
GET  /engagement_tracks/
GET  /engagement_tracks/:id/
                

Engagement Track Object

Attribute Type Description
type string The object type, always "engagement_track" here.
feedback_id number The unique Feedback id associated with the Engagement Track
engagement_id number The unique Engagement id associated with the Engagement Track
team_id number The unique team id, to which the item belongs
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
testimonial_author stringnull If the engagement_type is testimonial, this contains its author
testimonial_content stringnull If the engagement_type is testimonial, this contains its content
Object example
{
    "type": "engagement_track",
    "feedback_id": 123,
    "engagement_id": 456,
    "team_id": 789,
    "created_at": "2019-12-08 05:43:06",
    "updated_at": "2019-12-08 05:43:06",
    "testimonial_author": "John Doe",
    "testimonial_content": "Awesome company"
}
            

Engagement Tracks Listing (GET /engagement_tracks)

Returns a Engagement Track listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Engagement Track name
question_id number Optional, the records matched will only be ones attached to the provided Question id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Engagement Track object, the attributes are documented here.

GET /engagement_tracks
$ curl 'https://api.feedier.com/v1/engagement_tracks' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "engagement_track",
            "feedback_id": 123,
            "engagement_id": 456,
            "team_id": 789,
            "created_at": "2019-12-08 05:43:06",
            "updated_at": "2019-12-08 05:43:06",
            "testimonial_author": "John Doe",
            "testimonial_content": "Awesome company"
        }
    ]
}

Single Engagement Track (GET /engagement_tracks/:id)

Returns a single Engagement Track object.

Arguments

Argument Type Description
id number Required, the unique Engagement Track identifier (id)

Response

Returns an object response type, a Engagement Track object is present in the data attribute. The attributes are documented here.

GET /engagement_tracks/:id
$ curl 'https://api.feedier.com/v1/engagement_tracks/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "engagement_track",
        "feedback_id": 123,
        "engagement_id": 456,
        "team_id": 789,
        "created_at": "2019-12-08 05:43:06",
        "updated_at": "2019-12-08 05:43:06",
        "testimonial_author": "John Doe",
        "testimonial_content": "Awesome company"
    }
}

# Email/SMS Pushes

The Pushes resource let you access all pushes requests available in your account. To find the ones attached to a form, use the /carriers/:id/pushes endpoint. You can use this endpoint to send SMS or emails to one or several participants. All the endpoints are documented in this section.

Push = attempt to send an email or SMS in order to share a Feedback Carrier.

Available endpoints
GET  /pushes/
GET  /pushes/:id/
POST /pushes/email/
POST /pushes/sms/
                

Push Object

Attribute Type Description
type string The object type, always "push" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
push_type string The push type, either sms or email
target string Either a phone number or an email address, this is the target which receives the Feedback push.
status string The current push status: requested (sent from the Feedier server), clicked (clicked by the user)
follow_up number Number of days before the push is re-sent as a follow up: 0 means no follow up.
message stringnull If you passed any custom message it will be displayed here, otherwise the default template was sent.
carrier_token_id number The unique Carrier id associated with the Push
carrier_id number The unique Carrier id associated with the Push
push_recipient_id number The unique Push id associated with the Push
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "push",
    "id": 123,
    "push_type": "email",
    "target": "[email protected]",
    "status": "requested",
    "follow_up": 0,
    "message": null,
    "carrier_token_id": 456,
    "carrier_id": 456,
    "push_recipient_id": 456,
    "created_at": "2019-12-07 16:28:02",
    "updated_at": "2019-12-07 16:28:02",
    "team_id": 456
}
            

Pushes Listing (GET /pushes)

Returns a Push listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Push name
push_type number Optional, the push type either email, sms

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Push object, the attributes are documented here.

GET /pushes
$ curl 'https://api.feedier.com/v1/pushes' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "push",
            "id": 123,
            "push_type": "email",
            "target": "[email protected]",
            "status": "requested",
            "follow_up": 0,
            "message": null,
            "carrier_token_id": 456,
            "carrier_id": 456,
            "push_recipient_id": 456,
            "created_at": "2019-12-07 16:28:02",
            "updated_at": "2019-12-07 16:28:02",
            "team_id": 456
        }
    ]
}

Single Push (GET /pushes/:id)

Returns a single Push object.

Arguments

Argument Type Description
id number Required, the unique Push identifier (id)

Response

Returns an object response type, a Push object is present in the data attribute. The attributes are documented here.

GET /pushes/:id
$ curl 'https://api.feedier.com/v1/pushes/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "push",
        "id": 123,
        "push_type": "email",
        "target": "[email protected]",
        "status": "requested",
        "follow_up": 0,
        "message": null,
        "carrier_token_id": 456,
        "carrier_id": 456,
        "push_recipient_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Push Email feedback request (POST /pushes/email)

Returns a single Push object.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id
target number Optional,
message number Optional,
custom_fields number Optional,

Response

Returns an object response type, a Push object is present in the data attribute. The attributes are documented here.

POST /pushes/email
$ curl 'https://api.feedier.com/v1/pushes/email' \ 
 -D '{"carrier_id":789,"target":"[email protected]"}' \ 
 -H 'Content-Type: application/json' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "push",
        "id": 123,
        "push_type": "email",
        "target": "[email protected]",
        "status": "requested",
        "follow_up": 0,
        "message": null,
        "carrier_token_id": 456,
        "carrier_id": 456,
        "push_recipient_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

Push SMS feedback request (POST /pushes/sms)

Returns a single Push object.

Arguments

Argument Type Description
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id
target number Optional,
message number Optional,
custom_fields number Optional,

Response

Returns an object response type, a Push object is present in the data attribute. The attributes are documented here.

POST /pushes/sms
$ curl 'https://api.feedier.com/v1/pushes/sms' \ 
 -D '{"carrier_id":789,"target":"+33777376936"}' \ 
 -H 'Content-Type: application/json' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "push",
        "id": 123,
        "push_type": "email",
        "target": "[email protected]",
        "status": "requested",
        "follow_up": 0,
        "message": null,
        "carrier_token_id": 456,
        "carrier_id": 456,
        "push_recipient_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

# Feedbacks

The Feedbacks resource let you access all feedbacks received and available in your account. To find the ones attached to a form, use the /carriers/:id/feedbacks endpoint. All the endpoints are documented in this section.

Feedback = response to a Feedback Carrier.

Available endpoints
GET  /feedbacks/
GET  /feedbacks/:id/
                

Feedback Object

Attribute Type Description
type string The object type, always "feedback" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
carrier_id number The unique Carrier id associated with the Feedback
created_at string Creation date, formatted with ISO 8601
completed string N/A
completion_time string N/A
country_code stringnull The participant's country code, if any. Using classic ISO 3166.
email stringnull The participant's email, if any. This is collected at the last step either if there was a reward, an email engagement or if it was passed to the URL like ?email={email}
phone stringnull The participant's phone number, if any. This is collected at the last step either if there was a reward with the distribution type phone or if it was passed to the URL like ?phone={number}
custom_fields array An array of Carrier custom fields attached to the Feedback. More details coming soon.
satisfaction_ratio number The Feedback satisfaction ratio, computed by Feedier, between 0 and 100
rating_answers string N/A
question_answers string N/A
reward string N/A
reward_transaction_status string N/A
engagement string N/A
testimonial_author stringnull If the engagement_type is testimonial, this contains its author
testimonial_content stringnull If the engagement_type is testimonial, this contains its content
reward_transaction_id number The unique Reward id associated with the Feedback
time number Time in milliseconds used by the participant to complete the Feedback.
updated_at string Last update date for the record, formatted with ISO 8601
answers object An object containing rating and question answers as key: value, key being either the rating name or question and value the answer value.
total_rating_answers number Total number of rating attached to the Feedback
total_question_answers number Total number of question attached to the Feedback
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "feedback",
    "id": 123,
    "carrier_id": 456,
    "created_at": "2019-12-07 16:28:01",
    "completed": "No",
    "completion_time": 113860,
    "country_code": "FR",
    "email": null,
    "phone": null,
    "custom_fields": {
        "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
        "utm_campaign": "Email #2 (K5uAhm)",
        "utm_medium": "email",
        "utm_source": "Product Review \/ Cross Sell"
    },
    "satisfaction_ratio": null,
    "rating_answers": [],
    "question_answers": [
        "Facebook feed",
        "Loved the colors and material"
    ],
    "reward": null,
    "reward_transaction_status": null,
    "engagement": null,
    "testimonial_author": null,
    "testimonial_content": null,
    "reward_transaction_id": 456,
    "time": 113860,
    "updated_at": "2019-12-07 16:28:01",
    "answers": {
        "How did you hear about Betsy and Lace?": "Facebook feed",
        "Why did you decide to purchase from us?": "Loved the colors and material"
    },
    "total_rating_answers": 999,
    "total_question_answers": 999,
    "team_id": 456
}
            

Feedback Listing (GET /feedbacks)

Returns a Feedback listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Feedback name
carrier_id number Optional, the records matched will only be ones attached to the provided Carrier id

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Feedback object, the attributes are documented here.

GET /feedbacks
$ curl 'https://api.feedier.com/v1/feedbacks' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "feedback",
            "id": 123,
            "carrier_id": 456,
            "created_at": "2019-12-07 16:28:01",
            "completed": "No",
            "completion_time": 113860,
            "country_code": "FR",
            "email": null,
            "phone": null,
            "custom_fields": {
                "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
                "utm_campaign": "Email #2 (K5uAhm)",
                "utm_medium": "email",
                "utm_source": "Product Review \/ Cross Sell"
            },
            "satisfaction_ratio": null,
            "rating_answers": [],
            "question_answers": [
                "Facebook feed",
                "Loved the colors and material"
            ],
            "reward": null,
            "reward_transaction_status": null,
            "engagement": null,
            "testimonial_author": null,
            "testimonial_content": null,
            "reward_transaction_id": 456,
            "time": 113860,
            "updated_at": "2019-12-07 16:28:01",
            "answers": {
                "How did you hear about Betsy and Lace?": "Facebook feed",
                "Why did you decide to purchase from us?": "Loved the colors and material"
            },
            "total_rating_answers": 999,
            "total_question_answers": 999,
            "team_id": 456
        }
    ]
}

Single Feedback (GET /feedbacks/:id)

Returns a single Feedback object.

Arguments

Argument Type Description
id number Required, the unique Feedback identifier (id)

Response

Returns an object response type, a Feedback object is present in the data attribute. The attributes are documented here.

GET /feedbacks/:id
$ curl 'https://api.feedier.com/v1/feedbacks/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "feedback",
        "id": 123,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:01",
        "completed": "No",
        "completion_time": 113860,
        "country_code": "FR",
        "email": null,
        "phone": null,
        "custom_fields": {
            "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
            "utm_campaign": "Email #2 (K5uAhm)",
            "utm_medium": "email",
            "utm_source": "Product Review \/ Cross Sell"
        },
        "satisfaction_ratio": null,
        "rating_answers": [],
        "question_answers": [
            "Facebook feed",
            "Loved the colors and material"
        ],
        "reward": null,
        "reward_transaction_status": null,
        "engagement": null,
        "testimonial_author": null,
        "testimonial_content": null,
        "reward_transaction_id": 456,
        "time": 113860,
        "updated_at": "2019-12-07 16:28:01",
        "answers": {
            "How did you hear about Betsy and Lace?": "Facebook feed",
            "Why did you decide to purchase from us?": "Loved the colors and material"
        },
        "total_rating_answers": 999,
        "total_question_answers": 999,
        "team_id": 456
    }
}

# Segments

The Tags resource let you access all the segments available in your account. Segments are added from the Segmentation page in your Dashboard. All the endpoints are documented in this section.

Available endpoints
GET  /segments/
GET  /segments/:id/
GET  /segments/:id/feedbacks
                

Segment Object

Attribute Type Description
type string The object type, always "segment" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
name string The Segment name, it can be edited in the Feedier Dashboard
feedbacks_count string N/A
total_feedbacks number Total number of feedbacks attached to the Segment
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "segment",
    "id": 123,
    "name": "Happy May customers",
    "feedbacks_count": 5,
    "total_feedbacks": 999,
    "created_at": "2019-12-07 16:28:03",
    "updated_at": "2019-12-07 16:28:03",
    "team_id": 456
}
            

Segments Listing (GET /segments)

Returns a Segment listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Segment name

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Segment object, the attributes are documented here.

GET /segments
$ curl 'https://api.feedier.com/v1/segments' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "segment",
            "id": 123,
            "name": "Happy May customers",
            "feedbacks_count": 5,
            "total_feedbacks": 999,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

Single Segment (GET /segments/:id)

Returns a single Segment object.

Arguments

Argument Type Description
id number Required, the unique Segment identifier (id)

Response

Returns an object response type, a Segment object is present in the data attribute. The attributes are documented here.

GET /segments/:id
$ curl 'https://api.feedier.com/v1/segments/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "segment",
        "id": 123,
        "name": "Happy May customers",
        "feedbacks_count": 5,
        "total_feedbacks": 999,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

Segment's items (GET /segments/:id/feedbacks)

Returns a Feedback listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Feedback identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Feedback object, the attributes are documented here.

GET /segments/:id/feedbacks
$ curl 'https://api.feedier.com/v1/segments/123/feedbacks' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "feedback",
            "id": 123,
            "carrier_id": 456,
            "created_at": "2019-12-07 16:28:01",
            "completed": "No",
            "completion_time": 113860,
            "country_code": "FR",
            "email": null,
            "phone": null,
            "custom_fields": {
                "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
                "utm_campaign": "Email #2 (K5uAhm)",
                "utm_medium": "email",
                "utm_source": "Product Review \/ Cross Sell"
            },
            "satisfaction_ratio": null,
            "rating_answers": [],
            "question_answers": [
                "Facebook feed",
                "Loved the colors and material"
            ],
            "reward": null,
            "reward_transaction_status": null,
            "engagement": null,
            "testimonial_author": null,
            "testimonial_content": null,
            "reward_transaction_id": 456,
            "time": 113860,
            "updated_at": "2019-12-07 16:28:01",
            "answers": {
                "How did you hear about Betsy and Lace?": "Facebook feed",
                "Why did you decide to purchase from us?": "Loved the colors and material"
            },
            "total_rating_answers": 999,
            "total_question_answers": 999,
            "team_id": 456
        }
    ]
}

# Tags

The Tags resource let you access all the tags available in your account. Tags are added from the Feedback single report or the Reports > Question answers modal. All the endpoints are documented in this section.

Available endpoints
GET  /tags/
GET  /tags/:id/
GET  /tags/:id/answers
                

Tag Object

Attribute Type Description
type string The object type, always "tag" here.
id number Unique ID for this type. Index on the Feedier side, use this to match a record. It is never changed
name string The Tag name, it can be edited in the Feedier Dashboard
tag_type string The tagged items type, only questionAnswer for now
items string N/A
total_items number Total number of items attached to the Tag
created_at string Creation date, formatted with ISO 8601
updated_at string Last update date for the record, formatted with ISO 8601
team_id number The unique team id, to which the item belongs
Object example
{
    "type": "tag",
    "id": 123,
    "name": "Positive",
    "tag_type": "questionAnswer",
    "items": [
        {
            "type": "question_answer",
            "id": 834682,
            "time": 2874,
            "value": "10",
            "question_id": 1178761,
            "created_at": "2019-12-07T05:12:36+01:00",
            "updated_at": "2019-12-07T05:18:18+01:00",
            "team_id": 6988
        },
        {
            "type": "question_answer",
            "id": 834685,
            "time": 1883,
            "value": "10",
            "question_id": 1178761,
            "created_at": "2019-12-07T05:22:50+01:00",
            "updated_at": "2019-12-07T05:28:49+01:00",
            "team_id": 6988
        },
        {
            "type": "question_answer",
            "id": 834687,
            "time": 7891,
            "value": "10",
            "question_id": 1178761,
            "created_at": "2019-12-07T05:24:09+01:00",
            "updated_at": "2019-12-07T05:29:20+01:00",
            "team_id": 6988
        },
        {
            "type": "question_answer",
            "id": 834720,
            "time": 2306,
            "value": "10",
            "question_id": 1178761,
            "created_at": "2019-12-07T06:18:37+01:00",
            "updated_at": "2019-12-07T06:23:42+01:00",
            "team_id": 6988
        },
        {
            "type": "question_answer",
            "id": 835319,
            "time": 1892,
            "value": "5",
            "question_id": 1178767,
            "created_at": "2019-12-07T13:28:51+01:00",
            "updated_at": "2019-12-07T13:33:55+01:00",
            "team_id": 6988
        }
    ],
    "total_items": 999,
    "created_at": "2019-12-07 16:28:03",
    "updated_at": "2019-12-07 16:28:03",
    "team_id": 456
}
            

Tags Listing (GET /tags)

Returns a Tag listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
search number Optional, the value will be searched in the Tag name

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Tag object, the attributes are documented here.

GET /tags
$ curl 'https://api.feedier.com/v1/tags' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "tag",
            "id": 123,
            "name": "Positive",
            "tag_type": "questionAnswer",
            "items": [
                {
                    "type": "question_answer",
                    "id": 834682,
                    "time": 2874,
                    "value": "10",
                    "question_id": 1178761,
                    "created_at": "2019-12-07T05:12:36+01:00",
                    "updated_at": "2019-12-07T05:18:18+01:00",
                    "team_id": 6988
                },
                {
                    "type": "question_answer",
                    "id": 834685,
                    "time": 1883,
                    "value": "10",
                    "question_id": 1178761,
                    "created_at": "2019-12-07T05:22:50+01:00",
                    "updated_at": "2019-12-07T05:28:49+01:00",
                    "team_id": 6988
                },
                {
                    "type": "question_answer",
                    "id": 834687,
                    "time": 7891,
                    "value": "10",
                    "question_id": 1178761,
                    "created_at": "2019-12-07T05:24:09+01:00",
                    "updated_at": "2019-12-07T05:29:20+01:00",
                    "team_id": 6988
                },
                {
                    "type": "question_answer",
                    "id": 834720,
                    "time": 2306,
                    "value": "10",
                    "question_id": 1178761,
                    "created_at": "2019-12-07T06:18:37+01:00",
                    "updated_at": "2019-12-07T06:23:42+01:00",
                    "team_id": 6988
                },
                {
                    "type": "question_answer",
                    "id": 835319,
                    "time": 1892,
                    "value": "5",
                    "question_id": 1178767,
                    "created_at": "2019-12-07T13:28:51+01:00",
                    "updated_at": "2019-12-07T13:33:55+01:00",
                    "team_id": 6988
                }
            ],
            "total_items": 999,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

Single Tag (GET /tags/:id)

Returns a single Tag object.

Arguments

Argument Type Description
id number Required, the unique Tag identifier (id)

Response

Returns an object response type, a Tag object is present in the data attribute. The attributes are documented here.

GET /tags/:id
$ curl 'https://api.feedier.com/v1/tags/123' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "data": {
        "type": "tag",
        "id": 123,
        "name": "Positive",
        "tag_type": "questionAnswer",
        "items": [
            {
                "type": "question_answer",
                "id": 834682,
                "time": 2874,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:12:36+01:00",
                "updated_at": "2019-12-07T05:18:18+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834685,
                "time": 1883,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:22:50+01:00",
                "updated_at": "2019-12-07T05:28:49+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834687,
                "time": 7891,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:24:09+01:00",
                "updated_at": "2019-12-07T05:29:20+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834720,
                "time": 2306,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T06:18:37+01:00",
                "updated_at": "2019-12-07T06:23:42+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 835319,
                "time": 1892,
                "value": "5",
                "question_id": 1178767,
                "created_at": "2019-12-07T13:28:51+01:00",
                "updated_at": "2019-12-07T13:33:55+01:00",
                "team_id": 6988
            }
        ],
        "total_items": 999,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

Tag's items (GET /tags/:id/answers)

Returns a Question Answer listing. They are sorted by creation date with the most recent ones showing up first.

Arguments

Argument Type Description
id number Required, the unique Question Answer identifier (id)

Response

Returns a listing response type, you can get more details on the Pagination section. Every object in the data array is a Question Answer object, the attributes are documented here.

GET /tags/:id/answers
$ curl 'https://api.feedier.com/v1/tags/123/answers' \ 
 -H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
        
Response example
{
    "type": "success",
    "total": 5,
    "per_page": 20,
    "current_page": 1,
    "next_page_url": null,
    "prev_page_url": null,
    "data": [
        {
            "type": "question_answer",
            "id": 123,
            "time": 28592,
            "value": 9,
            "question_id": 456,
            "created_at": "2019-12-07 16:28:03",
            "updated_at": "2019-12-07 16:28:03",
            "team_id": 456
        }
    ]
}

# Webhooks

Webhook requests are POST HTTP requests in JSON format sent by Feedier when a certain event happen on our side. The destination of that request (URL we'll send the request to) can be set from your Integrations page. If you never heard of web hooks before, learn more here.

All Feedier webhooks requests contain 3 primary fields:

Name Type Description
name string Event type
created int Timestamp when the event was received
data object Useful payload with data about the event

# feedback.received

This webhook is fired whenever a new Feedback is received, created. All answers will not be attached as this is fired when the first answer is saved.

Feedback Object
Webhook example
{
    "type": "success",
    "name": "feedback.received",
    "created": 1575780186,
    "data": {
        "type": "feedback",
        "id": 123,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:01",
        "completed": "No",
        "completion_time": 113860,
        "country_code": "FR",
        "email": null,
        "phone": null,
        "custom_fields": {
            "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
            "utm_campaign": "Email #2 (K5uAhm)",
            "utm_medium": "email",
            "utm_source": "Product Review \/ Cross Sell"
        },
        "satisfaction_ratio": null,
        "rating_answers": [],
        "question_answers": [
            "Facebook feed",
            "Loved the colors and material"
        ],
        "reward": null,
        "reward_transaction_status": null,
        "engagement": null,
        "testimonial_author": null,
        "testimonial_content": null,
        "reward_transaction_id": 456,
        "time": 113860,
        "updated_at": "2019-12-07 16:28:01",
        "answers": {
            "How did you hear about Betsy and Lace?": "Facebook feed",
            "Why did you decide to purchase from us?": "Loved the colors and material"
        },
        "total_rating_answers": 999,
        "total_question_answers": 999,
        "team_id": 456
    }
}

# feedback.completed

This webhook is fired whenever a Feedback is completed, if a reward was won, it'll be attached here. To check engagements clicked, use the feedback.engagement webhook, as they're fired afterward.

Feedback Object
Webhook example
{
    "type": "success",
    "name": "feedback.completed",
    "created": 1575780186,
    "data": {
        "type": "feedback",
        "id": 123,
        "carrier_id": 456,
        "created_at": "2019-12-07 16:28:01",
        "completed": "No",
        "completion_time": 113860,
        "country_code": "FR",
        "email": null,
        "phone": null,
        "custom_fields": {
            "_ke": "eyJrbF9lbWFpbCI6ICJnb2xkaW50ZXJwcmV0aW5nQGdtYWlsLmNvbSIsICJrbF9jb21wYW55X2lkIjogIkhjbWNoUiJ9",
            "utm_campaign": "Email #2 (K5uAhm)",
            "utm_medium": "email",
            "utm_source": "Product Review \/ Cross Sell"
        },
        "satisfaction_ratio": null,
        "rating_answers": [],
        "question_answers": [
            "Facebook feed",
            "Loved the colors and material"
        ],
        "reward": null,
        "reward_transaction_status": null,
        "engagement": null,
        "testimonial_author": null,
        "testimonial_content": null,
        "reward_transaction_id": 456,
        "time": 113860,
        "updated_at": "2019-12-07 16:28:01",
        "answers": {
            "How did you hear about Betsy and Lace?": "Facebook feed",
            "Why did you decide to purchase from us?": "Loved the colors and material"
        },
        "total_rating_answers": 999,
        "total_question_answers": 999,
        "team_id": 456
    }
}

# feedback.engagement

This webhook is fired whenever an engagement is tracked (clicked).

EngagementTrack Object
Webhook example
{
    "type": "success",
    "name": "feedback.engagement",
    "created": 1575780186,
    "data": {
        "type": "engagement_track",
        "feedback_id": 123,
        "engagement_id": 456,
        "team_id": 789,
        "created_at": "2019-12-08 05:43:06",
        "updated_at": "2019-12-08 05:43:06",
        "testimonial_author": "John Doe",
        "testimonial_content": "Awesome company"
    }
}

# carrier.created

This webhook is fired whenever a new Feedback Carrier is created. It will not contain the questions or ratings as they will not be set yet by the time this webhook is dispatched.

Carrier Object
Webhook example
{
    "type": "success",
    "name": "carrier.created",
    "created": 1575780186,
    "data": {
        "type": "carrier",
        "id": 123,
        "name": "Feedback",
        "slug": "VxbSrJ",
        "status": "active",
        "url": "https:\/\/fdier.co\/example",
        "total_feedbacks": 999,
        "created_at": "2019-12-07 16:28:01",
        "updated_at": "2019-12-07 16:28:01",
        "color": "#4C4A4A",
        "team_id": 456
    }
}

# carrier.push

This webhook is fired whenever a new push message (email or SMS text) is received by Feedier. It does not guarantee that the message was received, only requested and pass on to our delivery partners.

Push Object
Webhook example
{
    "type": "success",
    "name": "carrier.push",
    "created": 1575780186,
    "data": {
        "type": "push",
        "id": 123,
        "push_type": "email",
        "target": "[email protected]",
        "status": "requested",
        "follow_up": 0,
        "message": null,
        "carrier_token_id": 456,
        "carrier_id": 456,
        "push_recipient_id": 456,
        "created_at": "2019-12-07 16:28:02",
        "updated_at": "2019-12-07 16:28:02",
        "team_id": 456
    }
}

# tag.tagged

This webhook is fired whenever an item is tagged in the dashboard. So for example when you tag a question answer from the Feedback report.

Tag Object
Webhook example
{
    "type": "success",
    "name": "tag.tagged",
    "created": 1575780186,
    "data": {
        "type": "tag",
        "id": 123,
        "name": "Positive",
        "tag_type": "questionAnswer",
        "items": [
            {
                "type": "question_answer",
                "id": 834682,
                "time": 2874,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:12:36+01:00",
                "updated_at": "2019-12-07T05:18:18+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834685,
                "time": 1883,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:22:50+01:00",
                "updated_at": "2019-12-07T05:28:49+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834687,
                "time": 7891,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:24:09+01:00",
                "updated_at": "2019-12-07T05:29:20+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834720,
                "time": 2306,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T06:18:37+01:00",
                "updated_at": "2019-12-07T06:23:42+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 835319,
                "time": 1892,
                "value": "5",
                "question_id": 1178767,
                "created_at": "2019-12-07T13:28:51+01:00",
                "updated_at": "2019-12-07T13:33:55+01:00",
                "team_id": 6988
            }
        ],
        "total_items": 999,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}

# tag.un_tagged

This webhook is fired whenever an item is un-tagged in the dashboard. So for example when you remove a tag from a question answer from the Feedback report.

Tag Object
Webhook example
{
    "type": "success",
    "name": "tag.un_tagged",
    "created": 1575780186,
    "data": {
        "type": "tag",
        "id": 123,
        "name": "Positive",
        "tag_type": "questionAnswer",
        "items": [
            {
                "type": "question_answer",
                "id": 834682,
                "time": 2874,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:12:36+01:00",
                "updated_at": "2019-12-07T05:18:18+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834685,
                "time": 1883,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:22:50+01:00",
                "updated_at": "2019-12-07T05:28:49+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834687,
                "time": 7891,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T05:24:09+01:00",
                "updated_at": "2019-12-07T05:29:20+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 834720,
                "time": 2306,
                "value": "10",
                "question_id": 1178761,
                "created_at": "2019-12-07T06:18:37+01:00",
                "updated_at": "2019-12-07T06:23:42+01:00",
                "team_id": 6988
            },
            {
                "type": "question_answer",
                "id": 835319,
                "time": 1892,
                "value": "5",
                "question_id": 1178767,
                "created_at": "2019-12-07T13:28:51+01:00",
                "updated_at": "2019-12-07T13:33:55+01:00",
                "team_id": 6988
            }
        ],
        "total_items": 999,
        "created_at": "2019-12-07 16:28:03",
        "updated_at": "2019-12-07 16:28:03",
        "team_id": 456
    }
}