This article is a basic introduction to API Authentication within Feefo.
The following APIs require an authenticated request either by supplying an authentication token or an API key parameter. We are currently transitioning to a new method of generating bearer tokens - OAuth 2.0 Token.
API | Version | OAuth 2.0 Token API | Authentication Token API | API Key Parameter |
Reviews | 20 | Yes | No | No |
Entersaleremotely | N/A | No | No | Yes |
Whenever an API requests personal or company confidential data from Feefo, authentication is required. Feefo data requiring authentication includes:
any data for mode=nps (summary endpoint or reviews endpoint)
The key steps in gaining access to the above information is as follows:
A request is sent to Feefo which includes your merchant identifier, your Feefo user_name and password, and your merchant API key.
Feefo recognises the request and returns an API Token together with an expiry time. The token is then valid for follow-up requests for 4 hours from the time it was generated.
Send one or more further requests to Feefo as an authorised user using the API Token. Authentication is achieved by including an HTTP Authorization request header with the request. The header includes the following:
Key = Authorization Value = Token "API token"
A successful response returns the data requested.
The POST endpoint for authentication is:
https://api.feefo.com/api/apiauthenticate
together with the following keys:
JSON key | Description | Required or optional | Value |
authenticationDTO .merchantIdentifier | Unique identifier for the merchant account. | Required | string |
authenticationDTO .username | Username for a merchant admin Feefo account (best served by a dedicated API account for this purpose). | Required | string |
authenticationDTO .password | Password for a merchant admin Feefo account (best served by a dedicated API account for this purpose). | Required | string |
authenticationDTO .apiKey | API key for the merchant account. | Required | string |
For example:
{ "authenticationDTO": { "merchantIdentifier": "example-retail-merchant", "username": "[email protected]", "password": "your_feefo_password", "apiKey": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
The response consists of:
Response | Description | Value |
apiToken | The API access token for making authenticated requests to the Reviews API. | string |
expiresTime | The epoch date/time when the token will expire (4 hours after creation). | string |