# disco/1.4.21/backend/views/components/Analytics/features/campaigns/campaignsApi.js

Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO, version 1.4.21. 36 lines.

- Page: https://pluginprobe.com/plugins/disco/1.4.21/code/backend/views/components/Analytics/features/campaigns/campaignsApi.js
- Raw: https://pluginprobe.com/plugins/disco/1.4.21/raw/backend/views/components/Analytics/features/campaigns/campaignsApi.js
- Modified: 2026-07-09T04:37:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/disco/1.4.21/code/backend/views/components/Analytics/features/campaigns/campaignsApi.js#L10-L20`.

```javascript
import { analyticsApi } from '../api/analyticsApi';

export const campaignsApi = analyticsApi.injectEndpoints({
	endpoints: (builder) => ({
		// GET /analytics/campaigns
		getCampaigns: builder.query({
			query: ({
				date_from,
				date_to,
				search,
				customer_id,
				sort_by = 'revenue',
				order = 'desc',
				page = 1,
				limit = 10,
			} = {}) => ({
				url: '/campaigns',
				params: { date_from, date_to, search, customer_id, sort_by, order, page, limit },
			}),
		}),

		// GET /analytics/campaigns/{id}
		getCampaign: builder.query({
			query: ({ id, date_from, date_to }) => ({
				url: `/campaigns/${id}`,
				params: { date_from, date_to },
			}),
		}),
	}),
});

export const {
	useGetCampaignsQuery,
	useGetCampaignQuery,
} = campaignsApi;

```
