# 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.
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:
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.
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:
{ "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. |
{ "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.
# 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 Forms.
GET /feedbacks/ GET /feedbacks/:id/ POST /feedbacks/
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 |
cluster_name | string | N/A |
feedback_form | string | The Carrier/Form name 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. |
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 | object | An object of Carrier custom fields (Context Attributes) attached to the Feedback. |
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. |
deleted_answers | string | N/A |
total_rating_answers | number | Total number of rating attached to the Feedback |
total_question_answers | number | Total number of question attached to the Feedback |
questions | string | N/A |
team_id | number | The unique team id, to which the item belongs |
{ "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "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 | string | Optional, the value will be searched in the Feedback name |
carrier_id | number | Required, the form where the feedback should be recorded |
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.
$ curl 'https://api.feedier.com/v1/feedbacks' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "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.
$ curl 'https://api.feedier.com/v1/feedbacks/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 } }
Import Feedback (POST /feedbacks/)
Returns a single Feedback object.
Arguments
Argument | Type | Description |
---|---|---|
carrier_id | number | Required, the form where the feedback should be recorded |
answers | array | Required, an array of the answers, every answer is an object with the keys question_id and value (example: {"question_id":123,"value":"The answer"}) |
created_at | date | Optional, the creation date, must be a valid UNIX datetime |
custom_fields | object | Optional, an object of the context attributes to be attached (example: {"attribute1":"value1","attribute2":"value2"}). Note that the key is used for matching any existing context attribute, otherwise it will be created automatically. |
Response
Returns an object response type, a Feedback object is present in the data
attribute.
The attributes are documented here.
$ curl 'https://api.feedier.com/v1/feedbacks/' \
-D '{"carrier_id":789,"answers":[{"question_id":123,"value":9}],"custom_fields":{"client_name":"Jane Doe","order_number":"5823","country_code":"FR","area_code":"B4"}}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 } }
# Forms (=Carriers)
The Forms resource lets you access the forms associated with your accounts and the items attached to it. You can also use this endpoint to generate Forms tokens when the Authentication mode is enabled (Form > Advanced Settings). All the endpoints are documented in this section.
Carrier = Forms = Feedback Form
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
Form 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 Form, 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 |
{ "type": "carrier", "id": 123, "name": "hi", "slug": "qSb5GX", "status": "active", "url": "https:\/\/fdier.co\/example", "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "color": "#502F04", "team_id": 456 }
Forms 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 | string | 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.
$ curl 'https://api.feedier.com/v1/carriers' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "total": 5, "per_page": 20, "current_page": 1, "next_page_url": null, "prev_page_url": null, "data": [ { "type": "carrier", "id": 123, "name": "hi", "slug": "qSb5GX", "status": "active", "url": "https:\/\/fdier.co\/example", "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "color": "#502F04", "team_id": 456 } ] }
Single Form (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.
$ curl 'https://api.feedier.com/v1/carriers/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "carrier", "id": 123, "name": "hi", "slug": "qSb5GX", "status": "active", "url": "https:\/\/fdier.co\/example", "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "color": "#502F04", "team_id": 456 } }
Single Form 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 | Required, the form where the feedback should be recorded |
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.
$ curl 'https://api.feedier.com/v1/carriers/123/feedbacks' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 } }
Single Form 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.
$ curl 'https://api.feedier.com/v1/carriers/123/ratings' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "rating", "id": 123, "name": "Quality", "description": "Here is a simple description that can be attached from the Dashboard.", "active": 1, "carrier_id": 456, "total_answers": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
Single Form 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.
$ curl 'https://api.feedier.com/v1/carriers/123/questions' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "nps", "id": 123, "question_type": "textarea", "name": "How likely is it that you would recommend Product to a friend or colleague?", "description": "Here is a simple description that can be attached from the Dashboard.", "required": 0, "active": 1, "carrier_id": 456, "total_answers": 999, "satisfaction_min": 0, "satisfaction_max": 100, "metas": [], "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
Single Form 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.
$ curl 'https://api.feedier.com/v1/carriers/123/rewards' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
Single Form 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.
$ curl 'https://api.feedier.com/v1/carriers/123/engagements' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "engagement", "id": 123, "engagement_type": "testimonial", "satisfaction_min": 80, "satisfaction_max": 100, "total_tracks": 999, "carrier_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
Single Form 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.
$ curl 'https://api.feedier.com/v1/carriers/123/pushes' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 Forms.
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 |
{ "type": "rating", "id": 123, "name": "Quality", "description": "Here is a simple description that can be attached from the Dashboard.", "active": 1, "carrier_id": 456, "total_answers": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/ratings' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "Here is a simple description that can be attached from the Dashboard.", "active": 1, "carrier_id": 456, "total_answers": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/ratings/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "rating", "id": 123, "name": "Quality", "description": "Here is a simple description that can be attached from the Dashboard.", "active": 1, "carrier_id": 456, "total_answers": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/ratings/123/answers' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "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.
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 |
{ "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/rating_answers' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "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.
$ curl 'https://api.feedier.com/v1/rating_answers/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "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 Forms.
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: customField datePicker dropdown fileUpload image largeSlider nps order ratingsTable 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 |
metas | array | List of meta data of the question. For Slider questions: slider_min_value & slider_max_value represent minimum & maximum values that an answer can be. |
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 |
{ "type": "nps", "id": 123, "question_type": "textarea", "name": "How likely is it that you would recommend Product to a friend or colleague?", "description": "Here is a simple description that can be attached from the Dashboard.", "required": 0, "active": 1, "carrier_id": 456, "total_answers": 999, "satisfaction_min": 0, "satisfaction_max": 100, "metas": [], "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | Optional, the value will be searched in the Question name |
question_type | number | Optional, the records having the type sent, in: customField datePicker dropdown fileUpload image largeSlider nps order ratingsTable 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.
$ curl 'https://api.feedier.com/v1/questions' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "textarea", "name": "How likely is it that you would recommend Product to a friend or colleague?", "description": "Here is a simple description that can be attached from the Dashboard.", "required": 0, "active": 1, "carrier_id": 456, "total_answers": 999, "satisfaction_min": 0, "satisfaction_max": 100, "metas": [], "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/questions/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "nps", "id": 123, "question_type": "textarea", "name": "How likely is it that you would recommend Product to a friend or colleague?", "description": "Here is a simple description that can be attached from the Dashboard.", "required": 0, "active": 1, "carrier_id": 456, "total_answers": 999, "satisfaction_min": 0, "satisfaction_max": 100, "metas": [], "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/questions/123/answers' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "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.
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 |
satisfaction | float|null | The calculated satisfaction of the answer for the supported satisfaction question type. Null value indicates the question does not support satisfaction ratio. |
team_id | number | The unique team id, to which the item belongs |
{ "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "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 | string | 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.
$ curl 'https://api.feedier.com/v1/question_answers' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "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.
$ curl 'https://api.feedier.com/v1/question_answers/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "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 Forms.
Every distributed reward (won by the user), is attached to a Reward Transaction item that you can edit.
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: 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 |
{ "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | Optional, the value will be searched in the Reward name |
reward_type | number | Optional, the records having the type sent, in: 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.
$ curl 'https://api.feedier.com/v1/rewards' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/rewards/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/rewards/123/transactions' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 }, "reward_id": 456, "feedback": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 }, "feedback_id": 456, "status": "sent", "note": null, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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".
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 |
{ "type": "reward_transaction", "id": 123, "reward": { "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 }, "reward_id": 456, "feedback": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 }, "feedback_id": 456, "status": "sent", "note": null, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/reward_transactions' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 }, "reward_id": 456, "feedback": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 }, "feedback_id": 456, "status": "sent", "note": null, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/reward_transactions/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "reward_transaction", "id": 123, "reward": { "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 }, "reward_id": 456, "feedback": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 }, "feedback_id": 456, "status": "sent", "note": null, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/reward_transactions/123' \
-D '{"status":"delivered"}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "reward_transaction", "id": 123, "reward": { "type": "reward", "id": 123, "carrier_id": 456, "name": "$10 off your next order", "probability": 10, "kind": "message", "reward_type": "voucher", "limit": -1, "total_transactions": 777, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 }, "reward_id": 456, "feedback": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 }, "feedback_id": 456, "status": "sent", "note": null, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
# Action
The Actions resource let you access all actions 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.
Actions = optional 4th step of every Forms.
Every clicked action (displayed to the user), is attached to an Action Track item.
GET /engagements/ GET /engagements/:id/ GET /engagements/:id/tracks
Action 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 |
{ "type": "engagement", "id": 123, "engagement_type": "testimonial", "satisfaction_min": 80, "satisfaction_max": 100, "total_tracks": 999, "carrier_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/engagements' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } ] }
Single Action (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.
$ curl 'https://api.feedier.com/v1/engagements/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "engagement", "id": 123, "engagement_type": "testimonial", "satisfaction_min": 80, "satisfaction_max": 100, "total_tracks": 999, "carrier_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
Action'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.
$ curl 'https://api.feedier.com/v1/engagements/123/tracks' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "2021-02-28 17:04:50", "updated_at": "2021-02-28 17:04:50", "testimonial_author": "John Doe", "testimonial_content": "Awesome company" } ] }
# Action Track
The Action Tracks resource let you access all available actions tracks in your account.
An action track is whenever an action is recoreded (testimonial left, link clicked, email newsletter clicked).
To find the ones attached to a specific action, use the /engagements/:id/tracks
endpoint.
GET /engagement_tracks/ GET /engagement_tracks/:id/
Action 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 |
{ "type": "engagement_track", "feedback_id": 123, "engagement_id": 456, "team_id": 789, "created_at": "2021-02-28 17:04:50", "updated_at": "2021-02-28 17:04:50", "testimonial_author": "John Doe", "testimonial_content": "Awesome company" }
Action 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 | string | 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.
$ curl 'https://api.feedier.com/v1/engagement_tracks' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "2021-02-28 17:04:50", "updated_at": "2021-02-28 17:04:50", "testimonial_author": "John Doe", "testimonial_content": "Awesome company" } ] }
Single Action 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.
$ curl 'https://api.feedier.com/v1/engagement_tracks/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "engagement_track", "feedback_id": 123, "engagement_id": 456, "team_id": 789, "created_at": "2021-02-28 17:04:50", "updated_at": "2021-02-28 17:04:50", "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 Forms.
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 |
{ "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | Optional, the value will be searched in the Push name |
push_type | string | 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.
$ curl 'https://api.feedier.com/v1/pushes' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/pushes/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | Optional, valid phone number or email address depending on the push type |
message | string | Optional, the message to be sent, if none provided, the default one will be sent |
custom_fields | object | Optional, an object of the context attributes to be attached (example: {"attribute1":"value1","attribute2":"value2"}). Note that the key is used for matching any existing context attribute, otherwise it will be created automatically. |
Response
Returns an object response type, a Push object is present in the data
attribute.
The attributes are documented here.
$ 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' \
{ "type": "success", "data": { "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | Optional, valid phone number or email address depending on the push type |
message | string | Optional, the message to be sent, if none provided, the default one will be sent |
custom_fields | object | Optional, an object of the context attributes to be attached (example: {"attribute1":"value1","attribute2":"value2"}). Note that the key is used for matching any existing context attribute, otherwise it will be created automatically. |
Response
Returns an object response type, a Push object is present in the data
attribute.
The attributes are documented here.
$ 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' \
{ "type": "success", "data": { "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }
# Segment
The Segments resource let you access all the user stories available in your account. Segments are added from the User stories page in your Dashboard. All the endpoints are documented in this section.
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 |
{ "type": "segment", "id": 123, "name": "Happy May customers", "feedbacks_count": 3, "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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 | string | 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.
$ curl 'https://api.feedier.com/v1/segments' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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": 3, "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/segments/123' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "type": "success", "data": { "type": "segment", "id": 123, "name": "Happy May customers", "feedbacks_count": 3, "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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.
$ curl 'https://api.feedier.com/v1/segments/123/feedbacks' \
-H 'Authorization: Bearer API_KEY_EXAMPLE_eHNT3zAPIKEYEXAMPLE' \
{ "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, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "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{ "type": "success", "name": "feedback.received", "created": 1614528290, "data": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "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{ "type": "success", "name": "feedback.completed", "created": 1614528290, "data": { "type": "feedback", "id": 123, "carrier_id": 456, "cluster_name": "Primary team", "feedback_form": "Customer Satisfaction", "created_at": "2021-02-28 13:37:25", "completed": "Yes", "completion_time": 97124, "country_code": "FR", "email": "[email protected]", "phone": null, "custom_fields": { "client_name": "Jane Doe", "order_number": 5823, "country_code": "FR", "area_code": "B4" }, "satisfaction_ratio": 88, "rating_answers": [ { "type": "rating_answer", "id": 123, "value": 80, "score": 4, "rating_id": 123, "created_at": "2021-02-28 13:37:26", "updated_at": "2021-02-28 13:37:26", "team_id": 456 } ], "question_answers": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "reward": null, "reward_transaction_status": null, "engagement": null, "testimonial_author": null, "testimonial_content": null, "reward_transaction_id": 456, "time": 97124, "updated_at": "2021-02-28 13:37:25", "answers": { "Rating 1": "Value 1", "Question 1": "Value 1", "Question 2": "Value 2", "Question 3": "Value 3" }, "deleted_answers": [], "total_rating_answers": 999, "total_question_answers": 999, "questions": { "de quelle(s) prestation(s) avez-vous b\u00e9n\u00e9fici\u00e9 ? (select)": { "id": 1140799, "type": "select", "allows_multi_answers": true, "allows_custom_response": false, "options": { "\u00c9pilation d\u00e9finitive": 0, "Cryolipolise": 1, "Radiofr\u00e9quence corporelle": 2, "Lipocavitation": 3, "Velashape": 4, "Radiofr\u00e9quence Faciale": 5, "Phototh\u00e9rapie": 6, "Soin contour des yeux": 7, "Soins du visage 100 % Bio": 8 } }, "quelle(s) prestation(s) aimeriez-vous avoir chez epiltech ? (select)": { "id": 1140797, "type": "select", "allows_multi_answers": true, "allows_custom_response": true, "options": { "Peeling": 0, "Needling": 1, "Botox": 2, "Luminoth\u00e9rapie LED": 3, "Soin hydrafacial": 4, "Traitement pour les vergetures": 5 } } }, "team_id": 456 } }
# feedback.engagement
This webhook is fired whenever an engagement is tracked (clicked).
EngagementTrack Object{ "type": "success", "name": "feedback.engagement", "created": 1614528290, "data": { "type": "engagement_track", "feedback_id": 123, "engagement_id": 456, "team_id": 789, "created_at": "2021-02-28 17:04:50", "updated_at": "2021-02-28 17:04:50", "testimonial_author": "John Doe", "testimonial_content": "Awesome company" } }
# carrier.created
This webhook is fired whenever a new Form 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{ "type": "success", "name": "carrier.created", "created": 1614528290, "data": { "type": "carrier", "id": 123, "name": "hi", "slug": "qSb5GX", "status": "active", "url": "https:\/\/fdier.co\/example", "total_feedbacks": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "color": "#502F04", "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{ "type": "success", "name": "carrier.push", "created": 1614528290, "data": { "type": "push", "id": 123, "push_type": "sms", "target": "[email protected]", "status": "requested", "follow_up": 0, "message": "This is a message example. Can be set from the Dashboard.", "carrier_token_id": 456, "carrier_id": 456, "push_recipient_id": 456, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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{ "type": "success", "name": "tag.tagged", "created": 1614528290, "data": { "type": "tag", "id": 123, "name": "Positive", "tag_type": "questionAnswer", "items": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "total_items": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "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{ "type": "success", "name": "tag.un_tagged", "created": 1614528290, "data": { "type": "tag", "id": 123, "name": "Positive", "tag_type": "questionAnswer", "items": [ { "type": "question_answer", "id": 123, "time": 80355, "value": 9, "question_id": 123, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "satisfaction": null, "team_id": 456 } ], "total_items": 999, "created_at": "2021-02-28 13:37:28", "updated_at": "2021-02-28 13:37:28", "team_id": 456 } }