Skip to content

Settings API โ€‹

Read and update global plugin settings, per-platform advanced settings, license, translation strings, and destructive data-reset operations. Handler: SettingsController.

Base URL: https://your-site.com/wp-json/wpsocialreviews/v2

Policy: SettingsPolicy


Platform Advanced Settings โ€‹

GET /settings ยท PUT /settings

Read or save a platform's advanced settings.

Handlers: @index / @update

GET parameters โ€‹

ParameterTypeLocationRequiredDescription
platformstringqueryYesPlatform slug (returns false for unavailable WooCommerce/TikTok)

PUT parameters โ€‹

ParameterTypeLocationRequiredDescription
platformstringbodyYesPlatform slug
settingsobject (JSON)bodyYese.g. manually_review_approved, auto_syncing, expiration, hide_reviews_count, selected_template, optimized_images, is_enabled_platform

update fires save_advance_settings_{platform}; the platform handler persists and responds.


Clear Cache โ€‹

DELETE /settings

Clear a platform's (or template's) cache.

Handler: @delete

ParameterTypeLocationRequiredDescription
platformstringbodyYesPlatform slug
cacheTypestringbodyNoWhich cache to clear
templateIdintegerbodyNoLimit to a template

License โ€‹

Core exposes these as pass-throughs to the wpsr_*_license filters (fulfilled by Pro).

MethodEndpointHandlerResponse
GET/settings/license@getLicensefilter result, or 422
POST/settings/license@addLicensefilter result, or 422
DELETE/settings/license@removeLicensefilter result, or 422

The whole request is passed to the filter, so include whatever the license service expects (e.g. license_key).


Translations โ€‹

MethodEndpointHandlerInputsResponse
GET/settings/translations@getTranslationsโ€”{ "message": "success", "translations_settings": {} }
POST/settings/translations@saveTranslationstranslations_settings (JSON){ "message" }

Global Advanced Settings โ€‹

GET /settings/advance-settings ยท POST /settings/advance-settings

Handlers: @getAdvanceSettings / @saveAdvanceSettings

GET response โ€‹

json
{
  "message": "success",
  "advance_settings": {},
  "ai_summarizer_settings_options": {}
}

POST parameters โ€‹

ParameterTypeLocationRequiredDescription
advance_settingsobject (JSON)bodyYeshas_gdpr, optimize_image_format, review_optimized_images, preserve_plugin_data, ai_review_summarizer_enabled, ai_platform, ai_api_key, selected_model, email_report{status,sending_day,recipients}, qr_codes[]

The ai_api_key is encrypted before storage. Returns { "message": "..." }.


Twitter Card & Data Reset โ€‹

MethodEndpointHandlerResponse
DELETE/settings/twitter-card@deleteTwitterCard{ "success", "message" }
DELETE/settings/reset-images@resetData (input platform){ "message": "Images reset successfully!" }
DELETE/settings/reset-error-log@resetErrorLog{ "message" }
DELETE/settings/delete-all-data@deleteAllData{ "message" }

Destructive

delete-all-data removes all plugin data (an uninstall). Guard any tooling that calls it.


Review-Collection QR Codes โ€‹

Route lives under pro/settings

These QR-code endpoints are registered under the pro/settings prefix (see the Pro API) but are handled by the core SettingsController. They are documented here because that's where the handler lives.

MethodEndpointHandlerInputsResponse
GET/pro/settings/get-reviews/qr-code@getReviewCollectionQrCodesโ€”{ "message", "data": [] }
POST/pro/settings/get-reviews/qr-code@createReviewCollectionQrCodename, collection_form, custom_url{ "message", "data" }
PUT/pro/settings/get-reviews/qr-code/{id}@updateReviewCollectionQrCodepath {id}, name, collection_form, custom_url{ "message", "data" } (or 404/400)
DELETE/pro/settings/get-reviews/qr-code/{id}@deleteReviewCollectionQrCodepath {id}{ "message" }
GET/pro/settings/get-reviews/get-review-collection-platforms@getReviewCollectionPlatformsโ€”{ "message", "data" }

WP Social Ninja Developer Documentation