younifyd
Menu

Get Customer Achievements

List customer's available achievements

GET/v1/customer_profiles/{integrationId}/achievements

Use it in a workflow

  1. Add a step and choose the Talon.One connector.
  2. Pick the Get Customer Achievements action (under integration).
  3. Fill in the fields below, then reference the result from later steps as {{getCustomerAchievements.response.data}}.

Request

Path parameters

integrationIdstringrequired

The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.

Query parameters

campaignIdsarray<string>

Filter by one or more Campaign IDs, separated by a comma. **Note:** If no campaigns are specified, data for all the campaigns in the Application is returned.

achievementIdsarray<string>

Filter by one or more Achievement IDs, separated by a comma. **Note:** If no achievements are specified, data for all the achievements in the Application is returned.

achievementStatusarray<string>

Filter by status of the achievement. **Note:** If the achievement status is not specified, only data for all active achievements in the Application is returned.

currentProgressStatusarray<string>

Filter by customer progress status in the achievement.

pageSizeinteger (int64)

The number of items in the response.

Default 1000

skipinteger (int64)

The number of items to skip when paging through large result sets.

Response

Returns 200 with an object. Read it in later steps with {{getCustomerAchievements.response.data.<field>}}.

totalResultSizeinteger (int64)
dataarray<object>
idinteger (int64)required

The internal ID of this entity.

createdstring (date-time)required

The time this entity was created.

namestringrequired

The internal name of the achievement used in API requests. **Note**: The name should start with a letter. This cannot be changed after the achievement has been created.

titlestringrequired

The display name for the achievement in the Campaign Manager.

descriptionstring (string)required

A description of the achievement.

targetnumberrequired

The required number of actions or the transactional milestone to complete the achievement.

periodstring

The relative duration after which the achievement ends and resets for a particular customer profile. **Note**: The `period` does not start when the achievement is created. The period is a **positive real number** followed by one letter indicating the time unit. Examples: `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can also round certain units down to the beginning of period and up to the end of period.: - `_D` for rounding down days only. Signifies the start of the day. Example: `30D_D` - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. Example: `23W_U` **Note**: You can either use the round down and round up option or set an absolute period.

periodEndOverrideobject6 fields

The absolute duration after which the achievement ends and resets for a particular customer profile. **Note**: The duration follows the time zone of the Application this achievement belongs to.

recurrencePolicystring

The policy that determines if and how the achievement recurs. - `no_recurrence`: The achievement can be completed only once. - `on_expiration`: The achievement resets after it expires and becomes available again. - `on_completion`: When the customer progress status reaches `completed`, the achievement resets and becomes available again.

One ofno_recurrenceon_expirationon_completion

activationPolicystring

The policy that determines how the achievement starts, ends, or resets. - `user_action`: The achievement ends or resets relative to when the customer started the achievement. - `fixed_schedule`: The achievement starts, ends, or resets for all customers following a fixed schedule.

One ofuser_actionfixed_schedule

fixedStartDatestring (date-time)

The achievement's start date when `activationPolicy` is set to `fixed_schedule`. **Note:** It must be an RFC3339 timestamp string.

endDatestring (date-time)

The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string.

allowRollbackAfterCompletionboolean

When `true`, customer progress can be rolled back in completed achievements.

campaignIdinteger (int64)

The ID of the campaign the achievement belongs to.

statusstring

The status of the achievement.

One ofactivescheduled

currentProgressobject5 fields

The current progress of the customer in the achievement.

json
{
  "totalResultSize": 1,
  "data": [
    {
      "currentProgress": {
        "endDate": {},
        "progress": 10,
        "completionDate": {},
        "startDate": {},
        "status": "completed"
      },
      "period": "1Y",
      "endDate": {},
      "created": {},
      "campaignId": 1,
      "description": "50% off for every 50th purchase in a year.",
      "activationPolicy": "fixed_schedule",
      "title": "50% off on 50th purchase.",
      "allowRollbackAfterCompletion": false,
      "target": 50,
      "fixedStartDate": {},
      "name": "Order50Discount",
      "periodEndOverride": {
        "month": 11,
        "dayOfMonth": 23,
        "hour": 23,
        "minute": 59,
        "second": 59
      },
      "id": 6,
      "recurrencePolicy": "no_recurrence",
      "status": "active"
    }
  ]
}

Need more? See the Talon.One guide for connection setup and behaviour shared by every action.