v1

latestOpenAPI 3.0.2EULA2026-07-143221521.2 MB
Campaign products

Get all campaign products

Get a list of all campaign products. A campaign product defines a discount promotion on a specific product, with configurable pricing (percentage discount or final price), a validity period, and optional restrictions by store or display channel. Use filters such as campaign_id, is_valid, and display_in to narrow results. See Campaign products for details.

get/campaign-products

Query parameters

countinteger

The number of records to return in API response.

⚠️ We recommended adjust the batch size based on processing time. Depending on the response time of the request. Default value of 100 records is used if count parameter is not set.

offsetinteger

The number of records from a collection to skip. Default value of 0 is used when parameter offset is not set.

sort_fieldstring

Name of the sorting parameter. You can sort by any of the first level parameters from the resource response. Response is sorted by the specified field.

sort_direction'ASC' | 'DESC'

Direction of sorting the response list.

namestring

Search record by name or a part of the name.

codestring

Code of the product.

display_in'web' | 'cash desk' | 'api'

Place to display campaign product.

type_idstring[]

Type of the customer for a campaign product. The list of values is available at GET /customer-types. In case you want to filter multiple options use array syntax : type_id[]=86e05affc7a7abefcd513ab400&type_id[]=82c06812c0756528660784fef Logic OR is used between values.

store_idstring

Parameter filters all campaign products from GET /stores by store ID.

value_type_id1 | 2

Type of value (1 - percentage discount value, 2 - final price).

is_validtrue | false

in validity range - true / before or after validity range - false / no value - all

valid_fromstring

Start of the validity period for filtering. Accepts the format YYYY-MM-DD HH:MM:SS or ISO-8601 format (YYYY-MM-DDTHH:MM:SS). All times are in the local timezone.

valid_tostring

End of the validity period for filtering. Accepts the format YYYY-MM-DD HH:MM:SS or ISO-8601 format (YYYY-MM-DDTHH:MM:SS). All times are in the local timezone.

campaign_idstring

The unique ID of the campaign in CareCloud. The list of campaigns is available in GET /campaigns.

include_property_recordstrue | false

If true, the property record structure will be included in the response. Possible values: true - property records structure will be included / false or not set - property records structure won't be included, and parameter will return null value

Headers

Accept-Languagestring

The unique ID of the language code by ISO 639-1.

Response

OK

Example response

{
  "data": {
    "campaign_products": [
      {
        "campaign_product_id": "8bed991c68a470e7aaeffbf048",
        "product_id": "8ad4ff4db9d628f2c8cb6181a4",
        "currency_id": "8bed991c68a470e7aaeffbf048",
        "campaign_id": "8ad8b2b701199684f1222961d6",
        "value": 50,
        "value_type_id": 1,
        "valid_from": "2021-04-16 00:00:00",
        "valid_to": "2021-05-16 23:59:59",
        "display_in": [
          "mapi"
        ],
        "type_id": "86e05affc7a7abefcd513ab400",
        "presentation_data": {
          "name": "T-shirt 10% off",
          "subtitle": "Discount only in following week",
          "note": "This offer is limited",
          "image_url": "https://developers.crmcarecloud.com/img/customer_enterprise.png"
        },
        "campaign_product_property_records": [
          {
            "property_record_id": "docasna_blokace_darce_do:8ea2591121e636086a4a9c0992",
            "property_id": "docasna_blokace_darce_do",
            "property_name": "Property #6",
            "last_change": "2023-02-02 00:00:00"
          }
        ],
        "last_change": "2021-04-16 19:02:22",
        "state": 1
      }
    ],
    "total_items": 1
  }
}