Kolejny tydzień – kolejna wtyczka. Co tym razem chcieliśmy osiągnąć? Możliwość pobierania recenzji google o danym miejscu i wstawianie ich jako danych w GraphQL.
Zacznijmy od początku.
Czym jest graphql?
W dużym skrócie – to język zapytań, który posiada tylko jeden endpoint (czyli adres, o który pytamy). Konstruując odpowiednie zapytania możemy uzyskać tylko te dane, które nas interesują. Standardowy graphql dostarcza tylko to, co w sobie zawiera, więc takie elementy jak recenzje google musimy dodać sami.
Po co? Dlaczego?
Mogą nasunąć się takie pytania. Przecież można to zrobić restowo i nie przejmować się resztą. Działamy jednak w taki, a nie inny sposób, aby ograniczyć niepotrzebne zapytania i sprowadzić ilość kodu do minimum. W graphql wszystko znajduje się w jednym miejscu. Wystarczy zainstalować wtyczkę, podmienić w jej pliku konfiguracyjnym ID “namierzanego” miejsca – i problem z głowy.
Jak działa nasze rozwiązanie?
Stworzyliśmy wtyczkę, która zaciąga recenzje google danego miejsca (zapytanie korzysta z ID miejsca w google) za pomocą REST API, udostępnionego przez google. Następnie buduje się odpowiednia nowa struktura danych w graphql. Dane wyłapane za pomocą REST API są odpowiednio przygotowywane do formatu jaki nas interesuje i zwracane w odpowiednim miejscu w graphql – tam, gdzie to sobie dostosujemy. Po stronie frontendu robimy query i tym sposobem mamy gotowe wszystkie dane do wykorzystania.
W jaki sposób to rozwiązanie jest pomocne?
Opinie w google to ważny element, który umożliwia lepsze dotarcie do klienta, poprzez przedstawienie mu najwyższej wiarygodności opinii. Warto umieszczać je na stronie internetowej, aby zapewnić do nich maksymalnie prosty dostęp.
Z taką modyfikacją jest to niezwykle łatwe – wystarczy, że ściągniemy ‘reviews’ za pomocą REST Api do wtyczki na WordPress, tam przetworzymy ją w odpowiedni format i wystawimy recenzje jako customowe query do graphQL.
Dzięki temu są widoczne bezpośrednio na naszej stronie i nie trzeba szukać ich w google, aby dowiedzieć się więcej na temat opinii klientów o firmie.
