UserVoice Integration
SM_IntegrationIntroduction_OnlyEN
You can integrate third-party systems with Service Manager in many ways. The method you select will depend on business requirements, architectural and security constraints as well as the characteristics specific to each third-party application or service.
This document describes an integration process that has already been implemented in a customer context.
To find out more about this integration (e.g. scripts to be used), please do not hesitate to contact your EasyVista contact, or your service provider and integrator.
Integration Summary
This integration is used to retrieve all available information from your UserVoice domain using the UserVoice REST API (GET method).
example Retrieve and display a list of suggestions in an Service Apps app
Integration Data Feed (direction) | Authentication Type | Integration Connector Options | ||
---|---|---|---|---|
|
|
REST data source |
SaaS Version of Third-Party Product |
On-premise Version of Third-Party Product |
---|---|
API Detailed Dscription
Item | Comments |
---|---|
About the software and company |
UserVoice is a San Francisco based Software-as-a-Service (SaaS) company creating customer engagement tools. |
Information about the REST API |
Date on which the information was retrieved from the software company's website: June 2016 Last known REST API name/version/date: V1 |
Main useful links to software company information about REST |
Getting Started with User Voice REST API API Technical Details & OAuth 1.0a Authentication Mapping UserVoice data to your own example Link UserVoice suggestions/tickets to EasyVista tickets/incidents
|
Format and sample of API resources/endpoints |
https://{subdomain}.uservoice.com/api/v1/suggestions.json?client={Personal_API_Key}&per_page=500
|
API assets |
UserVoice REST API provides a way to map your system’s data to its own. This through mappings that are called External Ids. example You might want to link suggestions to and let UserVoice provide easy links back to your system. ![]() |
API recommendations (limitations, advice, tips) |
|
Comments | N/A |
Step-by-step Integration Process
UserVoice can be integrated with Service Apps in 4 easy steps:
- Step 1: Check the list of requirements
- Step 2: Start the process for creating the REST data source
- Step 3: Authenticate to UserVoice
- Step 4: Create a query string using UserVoice documentation
Step 1: Check the list of requirements
- This documentation assumes that you already have an UserVoice domain.
- To use the UserVoice Personal API Key/Token Access Authentication, you must enable it in the Admin console of your UserVoice domain. You must add at least one token. The token will be required in the REST data sources you create in an Service Apps app.
See the procedure
How to enable the UserVoice Personal API KeyTo find out more, see the Getting Started with User Voice REST API
1. In the UserVoice Admin Console, select Settings > Integrations > UserVoice API Keys.
2. Click [ ADD API KEY ].
3. Enter a name for the API Client.
4. Decide if you want the client to be trusted or not. Some endpoints require a trusted client. However, DO NOT check this if your API Key will be stored in an insecure environment.
example A Javascript client application that end-users download
Step 2: Start the process for creating the REST data source
For details about the creation, see the wiki page REST data source
- Click
in the Objects pane.
- Open the Online category and select the REST data source
.
- Name the data source.
example UserVoice_List of published suggestions
Step 3: Authenticate to UserVoice
Authenticate to UserVoice with the UserVoice Personal API Key/Token Access Authentication
- Select the type of authentication: Authentication Type = None.
Note: Contrary to other REST data sources for third-parties products requiring Personal API Key/Token Access Authentication, you must not select Authentication Type = Basic. Rather you will have to add the API Key you want to use in the query strings.
Step 4: Create a query string using UserVoice documentation
See the UserVoice API documentation
See Examples of use cases
- Create a query string as a data source, i.e. a resource to access, in the URL field.
example You want to create a data source that will retrieve a list of published suggestions ==> Enter the following text in the URL field. Note: Replace {subdomain} with the name of your UserVoice domain and {Personal_API_Key} by the API Key you want to use - See Step 1
https://{subdomain}.uservoice.com/api/v1/suggestions.json?client={Personal_API_Key}&per_page=500&filter=all
Best Practice
See Best Practice for the REST data source
- By default, UserVoice list endpoints return a maximum of 500 records per page. Therefore, to keep the number of records as low as possible, we recommend that you define as many parameters as possible. These parameters can include the category (authorized values: all, uncategorized,category_id), status_id, filter (authorized values for comments endpoints type: all, published, deleted, spam; authorized values for suggestions endpoints type: all, published, inbox, active, closed, deleted, spam, merged, updated_after), etc.
- You must not share the personal API token. You must keep this token and all information on credentials secure.
- Note:
- Status ID “288277” = “under review”
- Status ID “288278” = “Planned”
- Status ID “288279” = “started”
- Status ID “288280” = “Completed”
- Status ID “288281” = “Declined”
Use case
You might want to have in an app a list of all suggestions (called also ideas) with their creator name and with the number of associated voices. To get this list, you can create a Composite data source to merge information from UserVoice and using the email address as a unique key.
Notes:
- We assume that users use their professional email for UserVoice. So that email will be the same than in
. On the contrary users may use nicknames for UserVoice. So using a composite data source will also enable you to get the accurate last and first name in a Data Viewer widget.
- In January 2016, it was not possible to extract in UserVoice such list as indicated in the UserVoice suggestion about UserVoice below:
1. Create the REST data source (Standard category) - called for example UserVoice_Suggestions - with following parameters.
URL = https://{subdomain}.uservoice.com/api/v1/suggestions.json?client={Personal_API_Key}&per_page=500&filter=all
{{/code}}
2. Create the EasyVista data source (Application category) - called for example Easyvista_Employees - with following parameters. Note: It depends on your
configuration.
3. Create the Composite data source (Standard category) - called for example UserVoice & EVSM Link - with following parameters.
Notes:
- Such data source must use a key having common values in the two data sources used (REST and EasyVista). In our case we are using emails that have common values in
UserVoice and in our
environment.
- Watch not to create data sources which base themselves on views of
which have an excess large number of recordings.
- Use filters which allow you to have the minimum of recordings and the views which contain the minimum of columns to answer your need.
Samples of most relevant use cases and resources
Note: Replace {subdomain} with the name of your UserVoice domain and {Personal_API_Key} by the API Key you want to use
Method: GET
Use Case | Sample Endpoint | ||||||||
---|---|---|---|---|---|---|---|---|---|
Retrieve the list of published suggestions for all our UserVoice forums and for our UserVoice domain
|
|
||||||||
Retrieve the list of all suggestions for all our UserVoice forums and for our UserVoice domain
|
|
||||||||
Retrieve the list of all suggestions except those with the status Declined for all our UserVoice forums and for our UserVoice domain
|
|
||||||||
Retrieve the list of published suggestions for a specific forum and for our UserVoice domain
|
|
||||||||
Retrieve the list of published comments for all our UserVoice forums and for our UserVoice domain
|
|
SAS_IntegrationRESTAboutTheUse_OnlyEN
About the use of the software companies API REST
- Numerous software companies limit the access to the API REST of their software, generally by basing itself on a number of calls by hour/day/month.
- Only specific editions of their software can be eligible in the use of the API REST (with or without additional cost).
- Some software companies set up plans, e.g., Classic, Professional, Enterprise, for which the number of possible calls to the REST API or even to specific resources (i.e. endpoints) can be more or less numerous.