Skip to content
msReviews
msReviews
Отзывы, рейтинг, Q&A и JSON-LD для MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. msReviews
  3. Для разработчика

AJAX API (connector) ​

Базовый URL:

fenom
{$_modx->getOption('assets_url')}components/msreviews/connector.php
modx
[[++assets_url]]components/msreviews/connector.php

На витрине обычно хватает сниппетов. Коннектор нужен для своего JS, cron и интеграций с CMP.

Запрос: POST с полем action. Ответ JSON: success, message, data, errors.

Публичные действия ​

actionНазначениеОсновные параметры
review/createСоздание отзываdata[...]
review/listСписок + summaryproduct_id, offset, limit, фильтры
review/vote«Полезно»review_id или id
review/update_ownПравка своегоid, edit_token, data
review/delete_ownУдаление своегоid, edit_token
rating/getАгрегат по товаруproduct_id
question/createВопросdata[...]
qna/listСписок Q&Aproduct_id, offset, limit, faq_only
media/uploadЗагрузка фотоfile, review_id, edit_token
request/processCron очереди писемkey или k = msreviews_cron_key

request/process ​

  • Ключ в настройках пустой → 403, forbidden.
  • Успех: data.sent — число отправленных писем (батч до 20).

Пример cron:

text
POST assets/components/msreviews/connector.php
action=request/process&key=ВАШ_КЛЮЧ

Действия менеджера (mgr) ​

Требуются сессия менеджера и права компонента. Mutating mgr/* — только POST (иначе 405).

actionНазначениеПраво
mgr/review/listСписок для модерацииreview_view
mgr/review/createРучное создание отзываreview_moderate
mgr/review/updateРучное редактирование (можно сменить product_id)review_moderate
mgr/review/getПревью одного отзываreview_view
mgr/review/update-statusСтатусreview_moderate
mgr/review/set-replyОтвет магазинаreview_reply
mgr/review/set-pinnedЗакрепreview_moderate
mgr/review/bulkМассовая сменаreview_moderate
mgr/review/moderation-logЖурналreview_view
mgr/question/listСписок вопросовquestion_moderate
mgr/question/createРучное создание вопроса в CMPquestion_moderate
mgr/question/updateРедактирование вопроса в CMPquestion_moderate
mgr/question/getОдин вопрос для формы CMP (с answer_text)question_moderate
mgr/question/update-statusСтатус вопросаquestion_moderate
mgr/question/set-pinnedЗакреп вопросаquestion_moderate
mgr/answer/createОтвет на вопросquestion_moderate
mgr/dashboard/summaryСводка дашбордаreview_analytics
mgr/analytics/summaryРасширенная аналитикаreview_analytics
mgr/export/reviewsCSV отзывовreview_export
mgr/export/questionsCSV вопросовreview_export
mgr/export/request_queueCSV очереди писемreview_export
mgr/import/reviewsИмпорт отзывов CSVreview_import
mgr/import/questionsИмпорт вопросов CSV (с 1.2.4)review_import
mgr/media/listСписок медиаreview_view
mgr/media/uploadЗагрузка медиа в CMPreview_moderate
mgr/media/deleteУдалить медиаreview_moderate
mgr/review/product-summaryСводка для вкладки «Отзывы» на ресурсеreview_view
mgr/request_queue/listСписок очереди писемreview_export
mgr/queue/processОчередь из mgrqueue_process
mgr/catalog/searchПоиск папок, товаров или ресурсовreview_analytics или question_moderate
mgr/catalog/resolveПодписи по IDreview_analytics или question_moderate

Полные параметры mgr/review/create и mgr/review/update: product_id, rating (1–5), title, text, author_name, author_email, status, is_verified (0/1). product_id принимает любой неудалённый site_content, не только msProduct. У update обязателен id. Опционально shop_reply при праве review_reply. Смена product_id пересчитывает агрегаты старого и нового ресурса.

mgr/question/create / update (только POST): product_id (любой неудалённый site_content), text, author_name, author_email, status, notify (0/1), опционально answer_text. У update обязателен id. Ответ пишет AnswerService (уведомление автора). Статус из поля формы перезаписывает автопубликацию ответа. mgr/answer/create остаётся в API и публикует вопрос. Из списка вопросов CMP его не вызывают с 1.2.4. mgr/question/get: id.

mgr/import/questions (только POST, с 1.2.4): CSV-файл с колонками product_id, text, status и author_email или author_name. Опционально answer_text, notify, pinned.

mgr/catalog/search: type равен parent, product или resource. q до 80 символов. limit от 1 до 100, по умолчанию 50. product ищет только msreviews_product_class_key. resource ищет любой неудалённый site_content (форма и фильтр отзывов и вопросов в CMP). Ответ data.items: { id, label }[]. mgr/catalog/resolve принимает те же type и список ids. Право: review_analytics или question_moderate.

Полный список действий — в исходниках ConnectorRegistryFactory и Права доступа.

Формат ответа ​

json
{
  "success": true,
  "message": "...",
  "data": {},
  "errors": []
}

HTTP-коды ​

HTTPКлюч messageСитуация
401msr_err_unauthorizedmgr/* без входа
403msr_err_forbiddenНет прав
403forbiddenНеверный cron key
405msr_err_method_not_allowedMutating не через POST
400msr_err_*Невалидные параметры

Коды сообщений: События MODX.

См. также ​