WOWMI-services служит сервисом сбора данных для Webflow-sites. А именно он собирает отзывы с google, zillow, yelp, experience (https://developer.experience.com/) и статьи с сервиса idx.
Пожалуй, основная сложность этого сервиса — это использование паттерна проектирования “Фабрика”. Это сделано для удобства при добавлении новых сервисов отзывов. Благодаря этому паттерну, мы можем абстрагироваться от создания объектов классов, чтения логики самой точки входа в этот сервис и т д.
Другими словами, для того, чтобы добавить новый сервис отзывов, нужно просто добавить нужный класс в папке wowmi, затем реализовать интерфейс ReviewServiceInterface
и реализовать 2 обязательных метода upload
и uploadAll
upload
— это метод обновления отзывов мембера. В нем нам нужно получить текущие отзывы мембера и обновить их в базе данных. Самый простой способ — это удалить отзывы этого мембера и записать новые, не забыв при этом обернуть все в транзакцию.
uploadAll
— обновляет все отзывы, всех мемберов текущего сервиса (этот метод нужен для крона)
Также эту API можно использовать для разного рода задач. Особенно для задач, абстрагированных от базы данных самого проекта. Другими словами эту апишку используем для задач со сторонними сервисами.
<http://domain.com/api/web/api/v1/reviews>?
[email protected]
&service[google][place_id]=ChIJp5zE07OvxokRsRmeTUbsKVM
&rate_min=3
&company=fam
&service[experience][email][email protected]
&service[zillow][zillow_nmls_id]=154661
&service[zillow][zillow_partner_id]=RD-ZCTWSZG
&service[zillow][zillow_screenname]=Airazulema
&service[zillow][zillow_zws_id]=X1-ZWz16g5rs7t4wb_6wmn8
&page=2
Это поле обязательно если мы добавляем нового мембера, либо хотим получить только его отзывы
Пример*: [email protected]
*
Если мы получаем отзывы, то это поле фильтрует их по указанному минимальному рейтингу