| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
This API is being phased out and will no longer be available for creating new milestones.To create a new milestone, use the Create a Loyalty Promotion API
👍 Note
For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call.
A unified target is a combination of two or more targets within a target group. You can combine individual targets that involve different customer activities and tracking configurations (KPIs). You can also define an overall target that a user must achieve along with the defined targets.
Example request
curl -L 'https://eu.api.capillarytech.com/v3/targetGroups' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic Y2I2MmEy' \
-H 'Cookie: _cfuvid=HfZc2sXhie.L8BAghcEtMz5uJ2vIuNDKoqY44SU.XeE-1768210257026-0.0.1.1-604800000' \
-d '{
"name": "uatUnifiedTargetGroup100",
"active": true,
"toDate": "2025-07-12T23:59:59.000",
"targetCycleStartDateISO": "2026-01-01T10:30:00+05:30",
"targetCycleEndDateISO": "2026-02-01T10:30:00+05:30",
"periods": [
{
"active": true,
"endDate": "2025-07-12T23:59:59.000",
"refCode": "period_1",
"startDate": "2025-07-09T00:00:00.000",
"description": "Period number 1",
"periodStatus": "RUNNING"
}
],
"targets": [
{
"name": "uatUnifiedTarget100",
"active": true,
"expression": "currentTxn.value>500",
"targetType": "SALES",
"description": "uatUnifiedTarget90",
"targetEntity": "TRANSACTION",
"defaultValues": [
{
"defaultValue": 2000
}
],
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\">\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"500\",\"type\":\"number:primitive\"}]}",
"enrolmentMethod": "TRANSACTION"
},
{
"name": "uatUnifiedTarget101",
"active": true,
"expression": "currentTxn.value>500",
"targetType": "SALES",
"description": "uatUnifiedTarget91",
"targetEntity": "TRANSACTION",
"defaultValues": [
{
"defaultValue": 2000
}
],
"expressionJson": "{\"arity\":\"literal\",\"value\":\"true\",\"type\":\"boolean:primitive\"}",
"enrolmentMethod": "TRANSACTION"
}
],
"fromDate": "2025-07-09T00:00:00.000",
"frequency": 0,
"description": "Unified Target Group number 2 for UAT purpose",
"totalPeriods": 1,
"trackingType": "UNIFIED",
"combinationType": "ALL",
"preferredTillId": 75155297,
"recurringCycles": 0,
"unifiedTargetExpression": {
"aggregation": "SUM",
"thresholdValue": 5000
}
}'Prerequisites
- Authentication: Basic authentication details
- Access group resource: WRITE access to target loyalty access group resource
Resource information
| Field | Value |
|---|---|
| URI | /v3/targetGroups |
| HTTP method | POST |
| Rate limit | NA |
| Batch support | NA |
Request body parameters
| Parameter (Parameters marked with * are required) | Data Type | Description |
|---|---|---|
| active | Boolean | Indicates whether the group is active or not. |
| description | String | A brief description of the group. |
| fromDate | String | The start date and time of the target. |
| name* | String | The name of the target group. The character limit for the name is 200 characters. |
| preferredTillId | Integer | TILL that needs to be associated with points issued on completing the target. |
| toDate | String | The end date and time of the target. |
| trackingType* | Enum | Defines the type of activity tracking in the target. Supported values: UNIFIED, DEFAULT, STREAKS, CAPPING.Unified: Unified targets where brands can configure multiple targets in a single milestone. Default: The milestone contains only one target. Streaks: A type of gamification tracking that indicates the user to do something continuously until the streak value. Capping: Used when the milestone created is used to apply capping on benefits to customers. |
| totalPeriods* | Integer | The total number of periods in the group. |
| frequency* | Integer | The frequency of the target. |
| recurringCycles* | Integer | The number of cycles the user configures in the group. It is set in case of CYCLIC_WINDOW or PERIOD_AGNOSTIC_WINDOW. |
| targetCycleStartDateISO | String | Defines the target’s start date in ISO 8601 format with the region offset. For example: Format for the request parameter: |
| targetCycleEndDateISO | String | Defines the target’s end date in ISO 8601 format with the region offset. For example: Format for the request parameter: |
| Boolean | Indicates whether the specific period is active. |
| String | A brief description of the period. |
| String | The end date and time of the period, in ISO 8601 format. |
| Enum | The status of the unified target. Supported values: RUNNING,ENDED,NOT_STARTED |
| String | Reference code of the target period. |
| String | The start date and time of the period. |
| targets | Array | An array of target objects detailing specific targets within the group. |
| Boolean | Indicates if the specific target is active. |
| String | A brief description of the target. |
| String | A representation of the target's condition rule. |
| String | A JSON body that represents the target's rule. |
| Array | An array of filter objects applied to the target. |
| -- entityType | Enum | The type of entity the filter applied. Supported values: Transaction and Line item. |
| -- entityIds | Array | An array of entity IDs to which the filter applies. |
| String | The name of the target. |
| Enum | Entity to define target condition. Supported values: To track transactions: TRANSACTION, LINEITEM, POINTS.To track behavioural events: EVENT.To track alternate currencies: ALTERNATE_CURRENCIESTo track points: REWARDSYou can create multiple targets using any combination of the supported target entities. For example, one target can have TRANSACTION as its targetEntity, while another target could use EVENT as its targetEntity.Refer to the documentation on creating targets that track customer (EMF) events, behavioural events and alternate currencies for more information on creating these targets. |
| Enum | Method to enroll customers and add target values. Supported values: TRANSACTION (enroll loyalty customers who transact during the target period), IMPORT (to import a list of customers with custom target value). |
| Enum | Target type on which the target is set. Supported values: - Transactional activities: QUANTITY, SALES (SUM), COUNT, VISIT- Behavioral events: EVENT_ATTRIBUTE.You can create multiple targets using any combination of the supported target types. For example, one target can have QUANTITY as its targetType, while another target could use COUNT as its targetType. |
| Object | An array of objects specifying default values. |
| -- defaultValue | Double | The actual target value user wants to set for the period. |
| combinationType* | Enum | A logical operator between the specified targets. Supported values: ANY (If any 1 target needs to be achieved) and ALL (All the targets in a unified target group need to be achieved). |
| unifiedTargetExpression | Object | An object representing a unified expression for target evaluation. |
| Enum | The type of aggregation used in the unified target expression. Supported values: SUM and COUNT. |
| Integer | The threshold value is used in the unified target expression for evaluation. It accepts up to 12 decimal places. This field is mandatory if you have defined value for aggregation parameter. |
| timeZoneName | String | Specifies the timezone where the target group was created. |
Example response
{
"data": {
"id": 2894,
"name": "uatUnifiedTargetGroup100",
"fromDate": "2025-07-09",
"toDate": "2025-07-12",
"active": true,
"preferredTillId": 75155297,
"periods": [
{
"id": 31591,
"attribution": {
"createdOn": "2026-01-12T09:59:02.000+0000",
"createdOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedOn": "2026-01-12T09:59:02.000+0000",
"lastUpdatedOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
}
},
"startDate": "2025-07-09",
"endDate": "2025-07-12",
"refCode": "period_1",
"periodStatus": "ENDED",
"targetGroupId": 2894,
"description": "Period number 1",
"active": true
}
],
"totalPeriods": 1,
"description": "Unified Target Group number 2 for UAT purpose",
"targetEvaluationType": "FIXED_CALENDAR_WINDOW",
"recurringCycles": 0,
"frequency": 0,
"targetCycleStartDate": "2026-01-01T05:00:00.000Z",
"targetCycleEndDate": "2026-02-01T05:00:00.000Z",
"targetCycleStartDateISO": "2026-01-01T05:00:00Z",
"targetCycleEndDateISO": "2026-02-01T05:00:00Z",
"trackingType": "UNIFIED",
"targets": [
{
"id": 3142,
"attribution": {
"createdOn": "2026-01-12T09:59:02.064+0000",
"createdOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedOn": "2026-01-12T09:59:02.064+0000",
"lastUpdatedOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
}
},
"name": "uatUnifiedTarget100",
"emfRuleSetId": 126470009,
"targetType": "SALES",
"targetEntity": "TRANSACTION",
"eventName": "TransactionAdd",
"targetGroupId": 2894,
"description": "uatUnifiedTarget90",
"active": true,
"expression": "currentTxn.value>500",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\">\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"500\",\"type\":\"number:primitive\"}]}",
"enrolmentMethod": "TRANSACTION",
"defaultValues": [
{
"id": 128494,
"periodId": 31591,
"defaultValue": 2000.000
}
],
"targetPeriodDefaultValuesMap": {
"31591": {
"id": 128494,
"periodId": 31591,
"defaultValue": 2000.000
}
}
},
{
"id": 3143,
"attribution": {
"createdOn": "2026-01-12T09:59:02.064+0000",
"createdOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedOn": "2026-01-12T09:59:02.064+0000",
"lastUpdatedOnISO": "2026-01-12T09:59:02Z",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman",
"type": "TILL"
}
},
"name": "uatUnifiedTarget101",
"emfRuleSetId": 126470010,
"targetType": "SALES",
"targetEntity": "TRANSACTION",
"eventName": "TransactionAdd",
"targetGroupId": 2894,
"description": "uatUnifiedTarget91",
"active": true,
"expression": "currentTxn.value>500",
"expressionJson": "{\"arity\":\"literal\",\"value\":\"true\",\"type\":\"boolean:primitive\"}",
"enrolmentMethod": "TRANSACTION",
"defaultValues": [
{
"id": 128495,
"periodId": 31591,
"defaultValue": 2000.000
}
],
"targetPeriodDefaultValuesMap": {
"31591": {
"id": 128495,
"periodId": 31591,
"defaultValue": 2000.000
}
}
}
],
"combinationType": "ALL",
"unifiedTargetExpression": {
"aggregation": "SUM",
"thresholdValue": 5000,
"ruleExpression": "(3142 & 3143)"
},
"leaderboardEnabled": false,
"userCreated": false,
"timeZoneName": "GMT"
},
"errors": null,
"warnings": null
}{
"active": true,
"description": "unified group",
"fromDate": "2023-09-25T13:45:12.063",
"name": "demo-unified2",
"preferredTillId": 50679771,
"toDate": "2024-10-31T08:41:00.529Z",
"trackingType": "UNIFIED",
"totalPeriods": 1,
"frequency": 0,
"recurringCycles": 0,
"periods": [
{
"active": true,
"description": "p1",
"endDate": "2023-10-31T23:45:12.063",
"periodStatus": "RUNNING",
"refCode": "period44",
"startDate": "2023-09-25T13:45:12.063"
}
],
"targets": [
{
"active": true,
"description": "uni15",
"expression": "currentTxn.value>500",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\">\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"500\",\"type\":\"number:primitive\"}]}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "t123",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
},
{
"active": true,
"description": "uni25",
"expression": "true",
"expressionJson": "{\"arity\":\"literal\",\"value\":\"true\",\"type\":\"boolean:primitive\"}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "t2656",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
},
{
"active": true,
"description": "uni35",
"expression": "currentTxn.value<1000",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\"<\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"1000\",\"type\":\"number:primitive\"}]}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "t344",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
}
],
"combinationType": "ALL"
}{
"active": true,
"description": "unified group",
"fromDate": "2023-09-25T13:45:12.063",
"name": "demo-unified3",
"preferredTillId": 50679771,
"toDate": "2024-10-31T08:41:00.529Z",
"trackingType": "UNIFIED",
"totalPeriods": 1,
"frequency": 0,
"recurringCycles": 0,
"periods": [
{
"active": true,
"description": "p1",
"endDate": "2023-10-31T23:45:12.063",
"periodStatus": "RUNNING",
"refCode": "period44",
"startDate": "2023-09-25T13:45:12.063"
}
],
"targets": [
{
"active": true,
"description": "uni15",
"expression": "currentTxn.value>500",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\">\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"500\",\"type\":\"number:primitive\"}]}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "T790",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
},
{
"active": true,
"description": "uni25",
"expression": "true",
"expressionJson": "{\"arity\":\"literal\",\"value\":\"true\",\"type\":\"boolean:primitive\"}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "T423",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
},
{
"active": true,
"description": "uni35",
"expression": "currentTxn.value<1000",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\"<\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"1000\",\"type\":\"number:primitive\"}]}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,50679770
]
}
],
"name": "T980",
"targetEntity": "TRANSACTION",
"enrolmentMethod": "TRANSACTION",
"targetType": "SALES",
"defaultValues": [
{
"defaultValue": 2000
}
]
}
],
"combinationType": "ANY"
}{
"data": {
"id": 1780,
"name": "UnifiedTarget",
"active": true,
"preferredTillId": 50713807,
"periods": [
{
"id": 10341,
"attribution": {
"createdOn": "2025-02-06T08:57:11.000+0000",
"lastUpdatedOn": "2025-02-06T08:57:11.000+0000",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
}
},
"startDate": "2024-12-25",
"endDate": "2025-01-24",
"refCode": "Cycle_1111",
"periodStatus": "ENDED",
"targetGroupId": 1780,
"description": "p1",
"active": true
}
],
"totalPeriods": 1,
"description": "Unified-TG",
"targetEvaluationType": "FIXED_CALENDAR_WINDOW",
"recurringCycles": 0,
"frequency": 0,
"targetCycleStartDate": "2024-12-24T18:30:00.000Z",
"targetCycleEndDate": "2025-02-25T18:29:59.999Z",
"frequencyType": "MONTHLY",
"trackingType": "UNIFIED",
"targets": [
{
"id": 2042,
"attribution": {
"createdOn": "2025-02-06T08:57:11.153+0000",
"lastUpdatedOn": "2025-02-06T08:57:11.153+0000",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
}
},
"name": "TransactionTarget",
"emfRuleSetId": 126376826,
"targetType": "SALES",
"targetEntity": "TRANSACTION",
"eventName": "TransactionAdd",
"targetGroupId": 1780,
"description": "uni35",
"active": true,
"expression": "currentTxn.value<1001",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\"<\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"1001\",\"type\":\"number:primitive\"}]}",
"enrolmentMethod": "TRANSACTION",
"defaultValues": [
{
"id": 13479,
"periodId": 10341,
"defaultValue": 2000.000
}
],
"targetPeriodDefaultValuesMap": {
"10341": {
"id": 13479,
"periodId": 10341,
"defaultValue": 2000.000
}
}
},
{
"id": 2043,
"attribution": {
"createdOn": "2025-02-06T08:57:11.153+0000",
"lastUpdatedOn": "2025-02-06T08:57:11.153+0000",
"lastUpdatedBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
},
"createdBy": {
"id": 75152721,
"code": "naman_doc",
"description": "",
"name": "naman_doc",
"type": "TILL"
}
},
"name": "BehavioralTarget",
"emfRuleSetId": 126376827,
"targetType": "COUNT",
"targetEntity": "EVENT",
"eventName": "CustomerUpdate",
"targetGroupId": 1780,
"description": "unified-TG-custUpdateCount2",
"active": true,
"expression": "true",
"expressionJson": "\n{\n \"arity\":\"literal\",\n \"value\":\"true\",\n \"type\":\"boolean:primitive\"\n}",
"filters": [],
"enrolmentMethod": "TRANSACTION",
"defaultValues": [
{
"id": 13480,
"periodId": 10341,
"defaultValue": 2.000
}
],
"targetPeriodDefaultValuesMap": {
"10341": {
"id": 13480,
"periodId": 10341,
"defaultValue": 2.000
}
}
}
],
"combinationType": "ALL",
"unifiedTargetExpression": {
"aggregation": "SUM",
"thresholdValue": 2002,
"ruleExpression": "(2042 & 2043)"
},
"leaderboardEnabled": false,
"userCreated": false
},
"errors": null,
"warnings": null
}{
"name": "UnifiedTarget",
"description": "",
"active": true,
"trackingType": "UNIFIED",
"preferredTillId": 50713807,
"targetEvaluationType": "FIXED_CALENDAR_WINDOW",
"targetCycleStartDate": "2024-12-24T18:30:00.000Z",
"targetCycleEndDate": "2025-02-25T18:29:59.999Z",
"leaderboardEnabled": false,
"totalPeriods": 1,
"frequencyType": "MONTHLY",
"frequency": 0,
"recurringCycles": 0,
"periods": [
{
"refCode": "Cycle_1111",
"startDate": "2024-12-25",
"endDate": "2025-01-24",
"active": true,
"description": "p1",
"periodStatus": "RUNNING"
}
],
"targets": [
{
"expression": "true",
"expressionJson": "\n{\n \"arity\":\"literal\",\n \"value\":\"true\",\n \"type\":\"boolean:primitive\"\n}",
"filters": [],
"eventName": "event2",
"name": "visit_target",
"targetType": "VISIT",
"targetEntity": "EVENT",
"defaultValues": [
{
"defaultValue": "2"
}
],
"enrolmentMethod": "TRANSACTION",
"description": "unified-TG-BE-VISIT1"
},
{
"eventName": "event",
"name": "sum_target",
"targetType": "EVENT_ATTRIBUTE",
"targetEntity": "EVENT",
"expression": "true",
"expressionJson": "\n{\n \"arity\":\"literal\",\n \"value\":\"true\",\n \"type\":\"boolean:primitive\"\n}",
"filters": [],
"defaultValues": [
{
"defaultValue": "4"
}
],
"extendedFieldInfo": {
"name": "steps",
"aggregateFunction": "SUM"
},
"enrolmentMethod": "TRANSACTION",
"description": "unified-TG-BE-SUM22"
}
],
"combinationType": "ALL",
"unifiedTargetExpression":{
"aggregation":"SUM",
"thresholdValue":6
}
}{
"data": {
"id": 6104,
"name": "demo-unified1",
"fromDate": "2023-09-25",
"toDate": "2024-10-31",
"active": true,
"preferredTillId": 50679771,
"periods": [
{
"id": 6883,
"attribution": {
"createdOn": "2023-09-25T17:26:26.320+0530",
"lastUpdatedOn": "2023-09-25T17:26:26.320+0530",
"lastUpdatedBy": {
"id": 50679771,
"code": "walmart_1",
"description": "",
"name": "walmart_1",
"type": "TILL"
},
"createdBy": {
"id": 50679771,
"code": "walmart_1",
"description": "",
"name": "walmart_1",
"type": "TILL"
}
},
"startDate": "2023-09-25",
"endDate": "2023-10-31",
"refCode": "period44",
"periodStatus": "RUNNING",
"targetGroupId": 6104,
"description": "p1",
"active": true
}
],
"totalPeriods": 1,
"description": "unified group",
"targetEvaluationType": "FIXED_CALENDAR_WINDOW",
"recurringCycles": 0,
"frequency": 0,
"targetCycleStartDate": "2023-09-25T00:00:00.000Z",
"targetCycleEndDate": "2023-10-31T23:59:59.000Z",
"trackingType": "UNIFIED",
"targets": [
{
"id": 9107,
"attribution": {
"createdOn": "2023-09-25T17:26:26.340+0530",
"lastUpdatedOn": "2023-09-25T17:26:26.340+0530",
"lastUpdatedBy": {
"id": 50679771,
"code": "walmart_1",
"description": "",
"name": "walmart_1",
"type": "TILL"
},
"createdBy": {
"id": 50679771,
"code": "walmart_1",
"description": "",
"name": "walmart_1",
"type": "TILL"
}
},
"name": "t4",
"emfRuleSetId": 1246740,
"targetType": "SALES",
"targetEntity": "TRANSACTION",
"targetGroupId": 6104,
"description": "uni15",
"active": true,
"expression": "currentTxn.value>500",
"expressionJson": "{\"arity\":\"binary_operation\",\"value\":\">\",\"type\":\"boolean:primitive\",\"operands\":[{\"arity\":\"object_dereference\",\"type\":\"real:object:primitive\",\"operands\":[{\"arity\":\"name\",\"value\":\"currentTxn\",\"type\":\"tx:object:primitive\"},{\"arity\":\"name\",\"value\":\"value\",\"type\":\"real:object:primitive\"}]},{\"arity\":\"literal\",\"value\":\"500\",\"type\":\"number:primitive\"}]}",
"filters": [
{
"entityType": "STORE",
"entityIds": [
50679757,
50679770
]
}
],
"enrolmentMethod": "TRANSACTION",
"defaultValues": [
{
"id": 10123,
"periodId": 6883,
"defaultValue": 2000
}
]
}
],
"combinationType": "ALL",
"unifiedTargetExpression": {
"aggregation": "SUM",
"thresholdValue": 5000,
"ruleExpression": "(9107 & 9108 & 9109)"
}
},
"errors": null,
"warnings": null
}Response parameters
| Parameter | Data Type | Description |
|---|---|---|
| data | Object | The main object containing all the details. |
| .id | Integer | The unique identifier for the target. |
| .name | String | The name of the target. |
| .fromDate | String | The start date for the target. |
| .toDate | String | The end date for the target. |
| .active | Boolean | Indicates whether the target is active. |
| .preferredTillId | Integer | A unique identifier of the till. |
| .periods | Array | An array of period objects detailing specific periods within the target. |
| ..id | Integer | The unique identifier for each target. |
| ..attribution | Object | An object containing attribution details for the target. |
| ...createdOn | String | The creation timestamp of the target. Note: This field will be deprecated in the future and is being replaced by createdOnISO. |
| ...createdOnISO | String | Indicates the creation date and time of the target period in ISO 8601 format, returned in the server time zone. EU server example India server example Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request. |
| ...lastUpdatedOn | String | The last update timestamp of the target. Note: This field will be deprecated in the future and is being replaced by lastUpdatedOnISO. |
| ...lastUpdatedOnISO | String | Indicates the last updated date and time of the target period in ISO 8601 format, returned in the server time zone. EU server example India server example Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request. |
| ...createdBy | Object | An object containing details about who created the target. |
| ..startDate | String | The start date of the target. |
| ..endDate | String | The end date of the target. |
| ..refCode | String | A reference code for the period. |
| ..periodStatus | String | The status of the target (e.g., "RUNNING"). |
| ..targetGroupId | Integer | The ID of the target group associated with the target. |
| ..description | String | A brief description of the target. |
| ..active | Boolean | Indicates whether the period is active. |
| totalPeriods | Integer | The total number of periods within the target. |
| targetCycleStartDate | String | Start date of the target cycle in ISO 8601 YYYY-MM-DDTHH:mm:ss.SSS format.Note: This field will be deprecated in the future and is being replaced by targetCycleStartDateISO. |
| targetCycleEndDate | String | End date of the target cycle in ISO 8601 YYYY-MM-DDTHH:mm:ss.SSS format.Note: This field will be deprecated in the future and is being replaced by targetCycleEndDateISO. |
| targetCycleStartDateISO | String | Indicates the start date and time of the target in ISO 8601 format, returned in the server time zone. EU server example India server example Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request. |
| targetCycleEndDateISO | String | Indicates the end date and time of the target in ISO 8601 format, returned in the server time zone. EU server example India server example Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request. |
| frequency | Integer | The frequency of the target. |
| targetCycleStartDate | String | The start date of the target cycle. |
| targetCycleEndDate | String | The end date of the target cycle. |
| trackingType | String | Defines the type of activity tracking in the target. Possible values: UNIFIED, DEFAULT, STREAKS, CAPPING. |
| targets | Array | An array of target objects detailing specific targets. |
| .id | Integer | The unique identifier for each target. |
| .attribution | Object | An object containing attribution details for the target. |
| .name | String | The name of the target. |
| .emfRuleSetId | Integer | The ID of the rule set associated with the target. |
| .targetType | String | The type of target. |
| .targetEntity | String | Entity to define target condition. Possible values: TRANSACTION, LINEITEM, POINTS. |
| .targetGroupId | Integer | The ID of the target group associated with the target. |
| .description | String | A brief description of the target. |
| .active | Boolean | Indicates whether the target is active. |
| .expression | String | A textual representation of the target's condition or rule. |
| .expressionJson | String | A JSON string representing the logical structure of the target's condition or rule. |
| .filters | Array | An array of filter objects applied to the target. |
| .enrolmentMethod | String | Method to enroll customers and add target values. Possible values: TRANSACTION (enroll loyalty customers who transact during the target period), IMPORT (to import a list of customers with custom target value). |
| .defaultValues | Array | An array of objects specifying default values, likely for some calculations or thresholds. |
| ..id | Integer | The unique identifier for each default value. |
| ..periodId | Integer | The ID of the period associated with the default value. |
| ..defaultValue | Double | A default value used within the target's context. |
| combinationType | String | A logical operator between the specified targets. Possible values: ANY (If any 1 target needs to be achieved) and ALL (All the targets in a unified target group need to be achieved). |
| unifiedTargetExpression | Object | An object representing a unified expression for target evaluation. |
| .aggregation | String | The type of aggregation used in the unified target expression (e.g., "SUM"). |
| .thresholdValue | Integer | The threshold value used in the unified target expression for evaluation. |
| .ruleExpression | String | A string representing the rule expression in the unified target expression. |
| leaderboardEnabled | Boolean | Indicates if the leaderboard feature is enabled. |
| userCreated | Boolean | Indicates if the target is a user-created target. |
| timezoneName | String | IANA time zone name for the target group; defaults to system time zone when omitted. |
| errors | null or Object | Contains error details if any occurred during the API request. |
| warnings | null or Object | Contains warning details if any occurred during the API request. |
API error codes
| Code | Description |
|---|---|
| 310069 | Target group name already exists |
| 300004 | Invalid input, check all values and ensure they are correct. |
| 310008 | Length of Target rule name cannot exceed 200 |
