Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Trustpilot API

143 sites No security coverage
View on drupal.org

This module provides a service for developers to interact with the Trustpilot API. It allows for consuming public and private Trustpilot endpoints, with support for authentication via API keys and OAuth.

Client for consuming Trustpilot API as a service. At this time the module does not include any site builder components for Trustpilot, only a service for developers.

Technical Details

By default (with API credentials), the Trustpilot API service client can access any public endpoints. To access private endpoints, you must provide additional authentication details on the module's settings page. Once provided, the client can perform requests authenticating with OAuth.

Endpoints

Endpoints are annotation Plugins with the following properties:

  • id - Machine name for endpoint plugin.
  • name - Human name for endpoint plugin.
  • path
  • method
  • authType - Endpoint's authentication requirements. Either key or oauth
  • documentationUrl - Each endpoint provides a link to the Trustpilot API documentation. This can be found on the module's "Test" form.
  • defaultRequestParams - Default values for any request parameters documented in the Trustpilot API docs.
  • headers - Endpoint specific header requirements.

With these properties defined at the annotation level, many endpoints require no additional code beyond these annotations. See BusinessUnitReviews endpoint as an example of this.

References:

Example using the Trustpilot API client service

Using the client service, get the Trustpilot Endpoint plugin instance by machine name (id). Then use the client to perform a request to that endpoint, passing in additional
Endpoint options as the second request() method parameter.

This example assumes you've provided a Default Business Unit in the settings form. If you have not, then the businessUnitId value must be passed along to the endpoint parameters.

/** @var \Drupal\trustpilot_api\TrustpilotApiClientInterface $client */
$client = \Drupal::service('trustpilot_api.client');
$endpoint = $client->getEndpointPluginManager()->createInstance('business_unit_reviews');
$data = $client->request($endpoint, [
  'perPage' => 3,
  'stars' => [3,4,5],
]);

Activity

Total releases
3
First release
Jun 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 3
Maintenance
Dormant

Release Timeline

Releases

Version Type Release date
1.0.1 Stable Jul 8, 2025
1.0.0 Stable Jun 5, 2025
1.x-dev Dev Jun 5, 2025