justbetter/statamic-feedback-company

There is no license information available for the latest version (0.3.5) of this package.

Harvest FeedbackCompany reviews into a Statamic collection

0.3.5 2024-11-13 10:09 UTC

This package is auto-updated.

Last update: 2024-11-13 10:10:50 UTC


README

Banner

Statamic Feedback Company

Harvests reviews from Feedback Company using their API and saves them in a Statamic collection.

Installation

composer require justbetter/statamic-feedback-company

How to Use

  • Set up the FEEDBACKCOMPANY_CLIENT_ID and FEEDBACKCOMPANY_CLIENT_SECRET values in your .env
  • Publish the blueprints (see below), then create the Reviews collection & Reviews global
  • Now you can harvest the reviews with php artisan reviews:harvest

API

If you don't want to use the statamic API, this addon provides a basic API with which you can retrieve the harvested reviews by doing a GET request to the following endpoint:

/api/feedback-company

This will return the 3 newest reviews in the collection. Some other possibilities:

/api/feedback-company?page=1&count=5
/api/feedback-company?count=5&minscore=2&maxscore=5

ViewComposer

If you want to show some statistics about the reviews in your project, you can add the ReviewsComposer class as a viewcomposer to your specific component. You can add this in your serviceprovider:

View::composer('rapidez::layouts.footer', ReviewsComposer::class);

This will expose a $reviews variable to your blade component with a few useful statistics. For example:

Our customers give us a {{ $reviews['score'] }}/10 across {{ $reviews['count'] }} reviews.
{{ $reviews['percentage'] }}% of reviews recommend us.

You can also use $reviews['scores'][7] to display how many reviews have a 7/10 rating.

Tag

We integrated a Statamic Tag called Reviews which will allow you to get some basic data from the reviews like ratings and review content.

Blade example:

Statamic::tag('reviews:get_rating_data')->fetch();

Publishables

You can publish all of the publishables with:

php artisan vendor:publish --provider="JustBetter\StatamicFeedbackCompany\ServiceProvider"

Or publish them individually by using tags:

php artisan vendor:publish --provider="JustBetter\StatamicFeedbackCompany\ServiceProvider" --tag="blueprints"
php artisan vendor:publish --provider="JustBetter\StatamicFeedbackCompany\ServiceProvider" --tag="config"