diff --git a/README.md b/README.md
index c840cc1..78b332d 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Add this dependency to your project's POM:
one.talontalon-one-client
- 14.1.0
+ 99.99.99compile
```
@@ -45,7 +45,7 @@ Add this dependency to your project's POM:
Add this dependency to your project's build file:
```groovy
-compile "one.talon:talon-one-client:14.1.0"
+compile "one.talon:talon-one-client:99.99.99"
```
### Others
@@ -254,6 +254,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**deleteCoupon**](docs/ManagementApi.md#deleteCoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon
*ManagementApi* | [**deleteCoupons**](docs/ManagementApi.md#deleteCoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons
*ManagementApi* | [**deleteLoyaltyCard**](docs/ManagementApi.md#deleteLoyaltyCard) | **DELETE** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Delete loyalty card
+*ManagementApi* | [**deletePrismaticFlow**](docs/ManagementApi.md#deletePrismaticFlow) | **DELETE** /v1/prismatic/flow | de-registers a prismatic flow for an event
*ManagementApi* | [**deleteReferral**](docs/ManagementApi.md#deleteReferral) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Delete referral
*ManagementApi* | [**deleteStore**](docs/ManagementApi.md#deleteStore) | **DELETE** /v1/applications/{applicationId}/stores/{storeId} | Delete store
*ManagementApi* | [**deleteUser**](docs/ManagementApi.md#deleteUser) | **DELETE** /v1/users/{userId} | Delete user
@@ -362,6 +363,7 @@ Class | Method | HTTP request | Description
*ManagementApi* | [**listCollectionsInApplication**](docs/ManagementApi.md#listCollectionsInApplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application
*ManagementApi* | [**listStores**](docs/ManagementApi.md#listStores) | **GET** /v1/applications/{applicationId}/stores | List stores
*ManagementApi* | [**oktaEventHandlerChallenge**](docs/ManagementApi.md#oktaEventHandlerChallenge) | **GET** /v1/provisioning/okta | Validate Okta API ownership
+*ManagementApi* | [**postPrismaticFlow**](docs/ManagementApi.md#postPrismaticFlow) | **POST** /v1/prismatic/flow | registers a prismatic flow for an event
*ManagementApi* | [**removeLoyaltyPoints**](docs/ManagementApi.md#removeLoyaltyPoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile
*ManagementApi* | [**resetPassword**](docs/ManagementApi.md#resetPassword) | **POST** /v1/reset_password | Reset password
*ManagementApi* | [**scimCreateGroup**](docs/ManagementApi.md#scimCreateGroup) | **POST** /v1/provisioning/scim/Groups | Create SCIM group
@@ -420,6 +422,8 @@ Class | Method | HTTP request | Description
- [AchievementProgress](docs/AchievementProgress.md)
- [AchievementProgressWithDefinition](docs/AchievementProgressWithDefinition.md)
- [AchievementStatusEntry](docs/AchievementStatusEntry.md)
+- [ActivateLoyaltyPoints](docs/ActivateLoyaltyPoints.md)
+- [ActivateLoyaltyPointsResponse](docs/ActivateLoyaltyPointsResponse.md)
- [AddFreeItemEffectProps](docs/AddFreeItemEffectProps.md)
- [AddItemCatalogAction](docs/AddItemCatalogAction.md)
- [AddLoyaltyPoints](docs/AddLoyaltyPoints.md)
@@ -506,6 +510,7 @@ Class | Method | HTTP request | Description
- [CampaignEvaluationTreeChangedNotification](docs/CampaignEvaluationTreeChangedNotification.md)
- [CampaignGroup](docs/CampaignGroup.md)
- [CampaignGroupEntity](docs/CampaignGroupEntity.md)
+- [CampaignLogSummary](docs/CampaignLogSummary.md)
- [CampaignNotificationBase](docs/CampaignNotificationBase.md)
- [CampaignNotificationGeneric](docs/CampaignNotificationGeneric.md)
- [CampaignNotificationItemBase](docs/CampaignNotificationItemBase.md)
@@ -602,6 +607,7 @@ Class | Method | HTTP request | Description
- [Event](docs/Event.md)
- [EventType](docs/EventType.md)
- [EventV2](docs/EventV2.md)
+- [EventV3](docs/EventV3.md)
- [ExpiringCardPointsData](docs/ExpiringCardPointsData.md)
- [ExpiringCardPointsNotification](docs/ExpiringCardPointsNotification.md)
- [ExpiringCouponsData](docs/ExpiringCouponsData.md)
@@ -694,7 +700,10 @@ Class | Method | HTTP request | Description
- [IntegrationEntity](docs/IntegrationEntity.md)
- [IntegrationEvent](docs/IntegrationEvent.md)
- [IntegrationEventV2Request](docs/IntegrationEventV2Request.md)
+- [IntegrationEventV3Request](docs/IntegrationEventV3Request.md)
+- [IntegrationEventV3Response](docs/IntegrationEventV3Response.md)
- [IntegrationProfileEntity](docs/IntegrationProfileEntity.md)
+- [IntegrationProfileEntityV3](docs/IntegrationProfileEntityV3.md)
- [IntegrationRequest](docs/IntegrationRequest.md)
- [IntegrationState](docs/IntegrationState.md)
- [IntegrationStateV2](docs/IntegrationStateV2.md)
@@ -850,6 +859,9 @@ Class | Method | HTTP request | Description
- [PriceType](docs/PriceType.md)
- [PriceTypeReferenceDetail](docs/PriceTypeReferenceDetail.md)
- [PriceTypeReferences](docs/PriceTypeReferences.md)
+- [PrismaticFlow](docs/PrismaticFlow.md)
+- [PrismaticFlowConfig](docs/PrismaticFlowConfig.md)
+- [PrismaticFlowWithConfig](docs/PrismaticFlowWithConfig.md)
- [Product](docs/Product.md)
- [ProductSearchMatch](docs/ProductSearchMatch.md)
- [ProductUnitAnalytics](docs/ProductUnitAnalytics.md)
diff --git a/api/openapi.yaml b/api/openapi.yaml
index c649675..0ced58f 100644
--- a/api/openapi.yaml
+++ b/api/openapi.yaml
@@ -160,6 +160,9 @@ tags:
Represents the [notifications](/docs/product/loyalty-programs/loyalty-notifications/overview)
about changes to loyalty points in profile-based loyalty programs.
name: Loyalty notifications
+- description: |
+ All endpoints for the prismatic integration
+ name: Prismatic
- description: |
A referral is a code shared between a customer and a prospect.
@@ -939,6 +942,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -1217,7 +1221,10 @@ paths:
coupon code.
operationId: deleteCouponReservation
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1262,28 +1269,48 @@ paths:
x-accepts: application/json
post:
description: |
- Create a coupon reservation for the specified customer profiles on the specified coupon.
+ Create a coupon reservation for the specified customer profiles on the
+ specified coupon.
+
You can also create a reservation via the Campaign Manager using the
- [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect.
+ [Create coupon code
+ reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code)
+ effect.
**Note:**
- - If the **Reservation mandatory** option was selected when creating the specified coupon,
- the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it.
- Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it.
- This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store.
-
- - If the **Coupon visibility** option was selected when creating the specified coupon,
- the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint.
-
- - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons).
- To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder
- and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint.
+ - If the **Reservation mandatory** option was selected when creating the
+ specified coupon, the endpoint creates a **hard** reservation, meaning only users who have
+ this coupon code reserved can redeem it.
+ Otherwise, the endpoint creates a **soft** reservation, meaning the coupon
+ is associated with the specified customer profiles (they show up when using
+ the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory)
+ endpoint), but any user can redeem it.
+ This can be useful, for example, to display a _coupon wallet_ for customers
+ when they visit your store.
+
+ - If the **Coupon visibility** option was selected when creating the
+ specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code
+ will be returned for all customer profiles in the [List customer
+ data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint.
+
+ - This endpoint overrides the coupon reservation limit set when
+ [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons).
+
+ To ensure that coupons cannot be reserved after the reservation limit is
+ reached, use the [Create coupon code
+ reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code)
+ effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)
+ endpoint.
- To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
+ To delete a reservation, use the
+ [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
operationId: createCouponReservation
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1335,7 +1362,10 @@ paths:
Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
operationId: getReservedCustomers
parameters:
- - description: The code of the coupon.
+ - description: "The code of the coupon.\n\n**Important:** The coupon code requires\
+ \ [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) \nif\
+ \ it contains special characters.\nFor example, you must encode `SUMMER25%OFF`\
+ \ as `SUMMER25%25OFF`.\n"
in: path
name: couponValue
required: true
@@ -1687,6 +1717,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value.
@@ -1867,6 +1898,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: Filter results by one or more subledger IDs. Must be exact match.
explode: true
@@ -2155,6 +2187,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: Filter points based on their status.
in: query
@@ -4287,50 +4320,39 @@ paths:
x-accepts: application/json
/v1/loyalty_programs/{loyaltyProgramId}/import_points:
post:
- description: |
- Upload a CSV file containing the loyalty points you want to import into a given loyalty program.
- Send the file as multipart data.
-
- Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card.
-
- The CSV file contains the following columns:
-
- - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported.
-
- **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application
- until a session or profile update is received for that profile.
- - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported.
- - `amount`: The amount of points to award to the customer profile.
- - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date.
-
- **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`.
- - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date.
-
- **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`.
- - `subledgerid` (optional): The ID of the subledger that should received the points.
- - `reason` (optional): The reason why these points are awarded.
-
- You can use the time zone of your choice. It is converted to UTC internally by Talon.One.
-
- **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the
- value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until
- the date provided for `startdate` is reached.
-
- **Note:** We recommend limiting your file size to 500MB.
-
- **Example for profile-based programs:**
-
- ```text
- customerprofileid,amount,startdate,expirydate,subledgerid,reason
- URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement
- ```
-
- **Example for card-based programs:**
-
- ```text
- identifier,amount,startdate,expirydate,subledgerid,reason
- summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement
- ```
+ description: "Upload a CSV file containing the loyalty points you want to import\
+ \ into a given loyalty program.\nSend the file as multipart data.\n\nDepending\
+ \ on the type of loyalty program, you can import points into a given customer\
+ \ profile or loyalty card.\n\nThe CSV file contains the following columns:\n\
+ \n- `customerprofileid` (optional): For profile-based loyalty programs, the\
+ \ integration ID of the customer profile where the loyalty points are imported.\n\
+ \n **Note**: If the customer profile does not exist, it will be created.\
+ \ The profile will not be visible in any Application\n until a session or\
+ \ profile update is received for that profile.\n- `identifier` (optional):\
+ \ For card-based loyalty programs, the identifier of the loyalty card where\
+ \ the loyalty points are imported.\n- `amount`: The amount of points to award\
+ \ to the customer profile.\n- `startdate` (optional): The earliest date when\
+ \ the points can be redeemed. The points are `active` from this date until\
+ \ the expiration date.\n\n This parameter accepts one of the following values:\n\
+ \ - A timestamp string in RFC3339 format.\n - `immediate`\n - `on_action`\n\
+ \ \n **Note**:\n Empty or missing values default to `immediate`.\n- `expirydate`\
+ \ (optional): The latest date when the points can be redeemed. The points\
+ \ are `expired` after this date.\n\n **Note**: It must be an RFC3339 timestamp\
+ \ string or string `unlimited`. Empty or missing values are considered `unlimited`.\n\
+ - `subledgerid` (optional): The ID of the subledger that should received the\
+ \ points.\n- `reason` (optional): The reason why these points are awarded.\n\
+ \nYou can use the time zone of your choice. It is converted to UTC internally\
+ \ by Talon.One.\n\n**Note:** For existing customer profiles and loyalty cards,\
+ \ the imported points are added to any previous active or pending points,\
+ \ depending on the\nvalue provided for `startdate`. If `startdate` matches\
+ \ the current date, the imported points are _active_. If it is later, the\
+ \ points are _pending_ until\nthe date provided for `startdate` is reached.\n\
+ \n**Note:** We recommend limiting your file size to 500MB.\n\n**Example for\
+ \ profile-based programs:**\n\n```text\ncustomerprofileid,amount,startdate,expirydate,subledgerid,reason\n\
+ URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement\n\
+ ```\n\n**Example for card-based programs:**\n\n```text\nidentifier,amount,startdate,expirydate,subledgerid,reason\n\
+ summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement\n\
+ ```\n"
operationId: importLoyaltyPoints
parameters:
- description: |
@@ -5468,6 +5490,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
responses:
"204":
@@ -5510,6 +5533,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
responses:
"200":
@@ -5562,6 +5586,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5624,6 +5649,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5683,6 +5709,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -5744,6 +5771,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Only return results from after this timestamp.
@@ -5826,6 +5854,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
- description: |
Date and time from which results are returned. Results are filtered by transaction creation date.
@@ -5946,6 +5975,7 @@ paths:
required: true
schema:
maxLength: 108
+ minLength: 4
type: string
requestBody:
content:
@@ -8318,6 +8348,34 @@ paths:
name: entity
schema:
type: string
+ - description: Returned attributes will be filtered by supplied application
+ ids
+ in: query
+ name: applicationIds
+ schema:
+ type: string
+ - description: Returned attributes will be filtered by supplied type
+ in: query
+ name: type
+ schema:
+ type: string
+ - description: Returned attributes will be filtered by supplied kind (builtin
+ or custom)
+ in: query
+ name: kind
+ schema:
+ enum:
+ - builtin
+ - custom
+ type: string
+ x-generate-enum-go: true
+ x-generate-enum-go: true
+ - description: Returned attributes will be filtered by searching case insensitive
+ through Attribute name, description and type
+ in: query
+ name: search
+ schema:
+ type: string
responses:
"200":
content:
@@ -12108,6 +12166,69 @@ paths:
tags:
- management
x-accepts: application/json
+ /v1/prismatic/flow:
+ delete:
+ operationId: deletePrismaticFlow
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PrismaticFlow'
+ required: true
+ responses:
+ "204":
+ content: {}
+ description: No Content
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad Request
+ "500":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Internal Server Error
+ summary: de-registers a prismatic flow for an event
+ tags:
+ - management
+ x-internal: false
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
+ post:
+ operationId: postPrismaticFlow
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PrismaticFlowWithConfig'
+ required: true
+ responses:
+ "201":
+ content: {}
+ description: Created
+ "400":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Bad Request
+ "500":
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Internal Server Error
+ summary: registers a prismatic flow for an event
+ tags:
+ - management
+ x-internal: false
+ x-codegen-request-body-name: body
+ x-contentType: application/json
+ x-accepts: application/json
components:
schemas:
ApplicationNotification:
@@ -12286,6 +12407,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -12734,13 +12857,20 @@ components:
$ref: '#/components/schemas/StrikethroughChangedItem'
type: array
NotificationType:
- description: The type of the notification
+ description: The type of notification.
+ enum:
+ - StrikethroughPrice
+ type: string
+ sentAt:
+ description: Timestamp at which the notification was sent.
+ format: date-time
type: string
required:
- NotificationType
- applicationId
- changedItems
- currentBatch
+ - sentAt
- totalBatches
- trigger
type: object
@@ -14007,6 +14137,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
AddLoyaltyPointsEffectProps:
@@ -14059,6 +14190,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
bundleIndex:
@@ -14069,6 +14201,16 @@ components:
bundleName:
description: The name of the bundle definition.
type: string
+ awaitsActivation:
+ description: |
+ If `true`, the loyalty points are pending until action-based activation takes place. The `startDate` parameter automatically defaults to `on_action`.
+ type: boolean
+ validityDuration:
+ description: "The duration for which the points remain active, relative\
+ \ to the activation date.\nExample: `30D`. \n**Note**: This value is\
+ \ only returned if `awaitsActivation` is `true` and `expiryDate` is not\
+ \ set.\n"
+ type: string
required:
- name
- programId
@@ -14110,6 +14252,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -14308,6 +14451,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -14355,6 +14499,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
required:
@@ -16036,6 +16181,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
usersPerCardLimit:
@@ -16068,6 +16214,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
newCardIdentifier:
@@ -16075,6 +16222,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
batchId:
@@ -21436,10 +21584,10 @@ components:
validityDuration:
description: |
The time format is either:
- - `immediate` or,
+ - `unlimited` or,
- an **integer** followed by one letter indicating the time unit.
- Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`.
+ Examples: `unlimited`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`.
Available units:
@@ -24959,6 +25107,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
customerSessionId:
@@ -24986,6 +25135,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are active immediately.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -25100,6 +25250,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are immediately active.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -27936,6 +28087,11 @@ components:
format: int64
type: integer
type: array
+ authenticationId:
+ description: The ID of the credential that this webhook is using.
+ example: 1
+ format: int64
+ type: integer
required:
- url
- verb
@@ -29653,6 +29809,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
@@ -29920,6 +30077,11 @@ components:
- advanced
example: advanced
type: string
+ campaignsCount:
+ description: The number of Campaigns created from this template.
+ example: 3
+ format: int64
+ type: integer
updated:
description: Timestamp of the most recent update to the campaign template
or any of its elements.
@@ -31107,165 +31269,28 @@ components:
$ref: '#/components/schemas/NewLoyaltyTier'
type: array
type: object
- UpdateLoyaltyProgramTier:
- description: Update a tier in a specified loyalty program.
- properties:
- id:
- description: The internal ID of the tier.
- example: 6
- format: int64
- type: integer
- name:
- description: The name of the tier.
- example: Gold
- type: string
- minPoints:
- description: The minimum amount of points required to enter the tier.
- example: 300.0
- maximum: 999999999999.99
- minimum: 0
- type: number
- required:
- - id
- type: object
- UpdateLoyaltyProgramTiers:
- description: List of tiers that are updated by the request.
- items:
- $ref: '#/components/schemas/UpdateLoyaltyProgramTier'
- type: array
- LoyaltyTiers:
- description: A list of the loyalty program's tiers.
- items:
- $ref: '#/components/schemas/LoyaltyTier'
- type: array
- LoyaltyDashboardPointsBreakdown:
- example:
- createdManually: 125.0
- createdViaRuleEngine: 9631.0
- properties:
- createdManually:
- example: 125.0
- type: number
- createdViaRuleEngine:
- example: 9631.0
- type: number
- required:
- - createdManually
- - createdViaRuleEngine
- type: object
- LoyaltyDashboardData:
- description: Datapoint for the graphs and cards on a loyalty program dashboard.
- example:
- date: 2000-01-23T04:56:07.000+00:00
- totalMembers: 2582.0
- totalSpentPoints: 25668.0
- spentPoints:
- createdManually: 125.0
- createdViaRuleEngine: 9631.0
- totalActivePoints: 9756.0
- totalPendingPoints: 548.0
- totalExpiredPoints: 1156.0
- totalNegativePoints: 32.0
- newMembers: 3.0
- earnedPoints:
- createdManually: 125.0
- createdViaRuleEngine: 9631.0
+ ActivateLoyaltyPoints:
+ description: Activate loyalty points.
properties:
- date:
- description: Date at which data point was collected.
- format: date-time
- type: string
- totalActivePoints:
- description: Total of active points for this loyalty program.
- example: 9756.0
- type: number
- totalPendingPoints:
- description: Total of pending points for this loyalty program.
- example: 548.0
- type: number
- totalSpentPoints:
- description: Total of spent points for this loyalty program.
- example: 25668.0
- type: number
- totalExpiredPoints:
- description: Total of expired points for this loyalty program.
- example: 1156.0
- type: number
- totalNegativePoints:
- description: Total of negative points for this loyalty program.
- example: 32.0
- type: number
- totalMembers:
- description: Number of loyalty program members.
- example: 2582.0
- type: number
- newMembers:
- description: Number of members who joined on this day.
- example: 3.0
- type: number
- spentPoints:
- $ref: '#/components/schemas/LoyaltyDashboardPointsBreakdown'
- earnedPoints:
- $ref: '#/components/schemas/LoyaltyDashboardPointsBreakdown'
- required:
- - date
- - earnedPoints
- - newMembers
- - spentPoints
- - totalActivePoints
- - totalExpiredPoints
- - totalMembers
- - totalNegativePoints
- - totalPendingPoints
- - totalSpentPoints
- type: object
- Import:
- example:
- accountId: 3886
- amount: 10
- created: 2020-06-10T09:05:27.993483Z
- id: 6
- userId: 388
- entity: AttributeAllowedList
- properties:
- id:
- description: The internal ID of this entity.
- example: 6
- format: int64
- type: integer
- created:
- description: The time this entity was created.
- example: 2020-06-10T09:05:27.993483Z
- format: date-time
- type: string
- accountId:
- description: The ID of the account that owns this entity.
- example: 3886
- format: int64
- type: integer
- userId:
- description: The ID of the user associated with this entity.
- example: 388
- format: int64
- type: integer
- entity:
+ transactionUUIDs:
description: |
- The name of the entity that was imported.
- example: AttributeAllowedList
+ The list of transaction UUIDs used to activate point transactions.
+
+ If passed, `sessionId` must be omitted.
+ items:
+ format: uuid
+ type: string
+ maxItems: 50
+ minItems: 1
+ type: array
+ uniqueItems: true
+ sessionId:
+ description: |
+ The integration ID of the session with the point transactions to be activated.
+
+ If passed, `transactionUUIDs` must be omitted.
+ minLength: 1
type: string
- amount:
- description: The number of values that were imported.
- example: 10
- format: int64
- minimum: 0
- type: integer
- required:
- - accountId
- - amount
- - created
- - entity
- - id
- - userId
type: object
LoyaltyLedgerEntry:
description: A single row of the ledger, describing one addition or deduction.
@@ -31359,6 +31384,174 @@ components:
- subLedgerID
- type
type: object
+ ActivateLoyaltyPointsResponse:
+ properties:
+ ledgerEntries:
+ description: Updated ledger entries after activation.
+ items:
+ $ref: '#/components/schemas/LoyaltyLedgerEntry'
+ type: array
+ type: object
+ UpdateLoyaltyProgramTier:
+ description: Update a tier in a specified loyalty program.
+ properties:
+ id:
+ description: The internal ID of the tier.
+ example: 6
+ format: int64
+ type: integer
+ name:
+ description: The name of the tier.
+ example: Gold
+ type: string
+ minPoints:
+ description: The minimum amount of points required to enter the tier.
+ example: 300.0
+ maximum: 999999999999.99
+ minimum: 0
+ type: number
+ required:
+ - id
+ type: object
+ UpdateLoyaltyProgramTiers:
+ description: List of tiers that are updated by the request.
+ items:
+ $ref: '#/components/schemas/UpdateLoyaltyProgramTier'
+ type: array
+ LoyaltyTiers:
+ description: A list of the loyalty program's tiers.
+ items:
+ $ref: '#/components/schemas/LoyaltyTier'
+ type: array
+ LoyaltyDashboardPointsBreakdown:
+ example:
+ createdManually: 125.0
+ createdViaRuleEngine: 9631.0
+ properties:
+ createdManually:
+ example: 125.0
+ type: number
+ createdViaRuleEngine:
+ example: 9631.0
+ type: number
+ required:
+ - createdManually
+ - createdViaRuleEngine
+ type: object
+ LoyaltyDashboardData:
+ description: Datapoint for the graphs and cards on a loyalty program dashboard.
+ example:
+ date: 2000-01-23T04:56:07.000+00:00
+ totalMembers: 2582.0
+ totalSpentPoints: 25668.0
+ spentPoints:
+ createdManually: 125.0
+ createdViaRuleEngine: 9631.0
+ totalActivePoints: 9756.0
+ totalPendingPoints: 548.0
+ totalExpiredPoints: 1156.0
+ totalNegativePoints: 32.0
+ newMembers: 3.0
+ earnedPoints:
+ createdManually: 125.0
+ createdViaRuleEngine: 9631.0
+ properties:
+ date:
+ description: Date at which data point was collected.
+ format: date-time
+ type: string
+ totalActivePoints:
+ description: Total of active points for this loyalty program.
+ example: 9756.0
+ type: number
+ totalPendingPoints:
+ description: Total of pending points for this loyalty program.
+ example: 548.0
+ type: number
+ totalSpentPoints:
+ description: Total of spent points for this loyalty program.
+ example: 25668.0
+ type: number
+ totalExpiredPoints:
+ description: Total of expired points for this loyalty program.
+ example: 1156.0
+ type: number
+ totalNegativePoints:
+ description: Total of negative points for this loyalty program.
+ example: 32.0
+ type: number
+ totalMembers:
+ description: Number of loyalty program members.
+ example: 2582.0
+ type: number
+ newMembers:
+ description: Number of members who joined on this day.
+ example: 3.0
+ type: number
+ spentPoints:
+ $ref: '#/components/schemas/LoyaltyDashboardPointsBreakdown'
+ earnedPoints:
+ $ref: '#/components/schemas/LoyaltyDashboardPointsBreakdown'
+ required:
+ - date
+ - earnedPoints
+ - newMembers
+ - spentPoints
+ - totalActivePoints
+ - totalExpiredPoints
+ - totalMembers
+ - totalNegativePoints
+ - totalPendingPoints
+ - totalSpentPoints
+ type: object
+ Import:
+ example:
+ accountId: 3886
+ amount: 10
+ created: 2020-06-10T09:05:27.993483Z
+ id: 6
+ userId: 388
+ entity: AttributeAllowedList
+ properties:
+ id:
+ description: The internal ID of this entity.
+ example: 6
+ format: int64
+ type: integer
+ created:
+ description: The time this entity was created.
+ example: 2020-06-10T09:05:27.993483Z
+ format: date-time
+ type: string
+ accountId:
+ description: The ID of the account that owns this entity.
+ example: 3886
+ format: int64
+ type: integer
+ userId:
+ description: The ID of the user associated with this entity.
+ example: 388
+ format: int64
+ type: integer
+ entity:
+ description: |
+ The name of the entity that was imported.
+ example: AttributeAllowedList
+ type: string
+ amount:
+ description: The number of values that were imported.
+ example: 10
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - accountId
+ - amount
+ - created
+ - entity
+ - id
+ - userId
+ type: object
LoyaltySubLedger:
description: Ledger of Balance in Loyalty Program for a Customer.
example:
@@ -31913,6 +32106,7 @@ components:
description: |
When points become active. Possible values:
- `immediate`: Points are immediately active.
+ - `on_action`: Points become active based on the customer's action.
- a timestamp value: Points become active at a given date and time.
example: 2022-01-02T15:04:05Z07:00
maxLength: 64
@@ -31934,6 +32128,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
subledgerId:
@@ -32105,6 +32300,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
type: object
@@ -32144,6 +32340,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
applicationId:
@@ -32230,6 +32427,7 @@ components:
The alphanumeric identifier of the loyalty card.
example: summer-loyalty-card-0543
maxLength: 108
+ minLength: 4
pattern: ^[A-Za-z0-9_-]*$
type: string
blockReason:
@@ -38283,6 +38481,11 @@ components:
when the user who created the key is disabled or deleted.
example: true
type: boolean
+ lastUsed:
+ description: The last time the management key was used.
+ example: 2022-03-02T16:46:17.758585Z
+ format: date-time
+ type: string
required:
- accountID
- created
@@ -38345,6 +38548,11 @@ components:
when the user who created the key is disabled or deleted.
example: true
type: boolean
+ lastUsed:
+ description: The last time the management key was used.
+ example: 2022-03-02T16:46:17.758585Z
+ format: date-time
+ type: string
key:
description: The management key.
example: f45f90d21dcd9bac965c45e547e9754a3196891d09948e35adbcbedc4e9e4b01
@@ -39363,10 +39571,361 @@ components:
- eventID
- sessionID
type: object
+ CampaignLogSummary:
+ description: Campaign Log Summary
+ properties:
+ name:
+ description: Name of the user that performed the change.
+ example: Admin
+ type: string
+ email:
+ description: E-mail of the user that performed the change.
+ example: admin@talon.one
+ type: string
+ created:
+ description: Date and time the change was performed.
+ format: date-time
+ type: string
+ action:
+ description: Action performed by the user.
+ enum:
+ - create
+ - delete
+ - update
+ example: create
+ type: string
+ summary:
+ description: AI-generated summary of the action performed.
+ type: string
+ required:
+ - action
+ - created
+ - email
+ - name
+ - summary
+ type: object
+ PrismaticFlowConfig:
+ example:
+ BatchSize: 0
+ ApiKey: ApiKey
+ PeriodsInDays:
+ - 6
+ - 6
+ properties:
+ ApiKey:
+ type: string
+ BatchSize:
+ description: Available for LoyaltyCardPointsExpiring, LoyaltyPointsExpiring,
+ TierWillDowngrade, TierDowngrade, TierUpgrade, CouponCodeExpiring, CampaignNotification
+ format: int64
+ type: integer
+ PeriodsInDays:
+ description: Available for LoyaltyCardPointsExpiring, LoyaltyPointsExpiring,
+ TierWillDowngrade
+ items:
+ format: int64
+ type: integer
+ type: array
+ required:
+ - ApiKey
+ type: object
+ PrismaticFlowWithConfig:
+ example:
+ EventType: StrikethroughPrice
+ Config:
+ BatchSize: 0
+ ApiKey: ApiKey
+ PeriodsInDays:
+ - 6
+ - 6
+ PrismaticFlowUrl: PrismaticFlowUrl
+ properties:
+ EventType:
+ description: The event type we want to register a flow for.
+ enum:
+ - StrikethroughPrice
+ - CampaignEvaluationTreeChanged
+ - CampaignNotification
+ - LoyaltyCardPointsExpiring
+ - AsyncCouponsCreated
+ - CouponCodeExpiring
+ - LoyaltyPointsExpiring
+ - LoyaltyPointsPendingToActive
+ - TierDowngrade
+ - TierUpgrade
+ - TierWillDowngrade
+ - CouponCreated
+ - CouponUpdated
+ - CouponDeleted
+ - CouponsUpdated
+ - CouponsDeleted
+ - LoyaltyCardPointsAdded
+ - LoyaltyCardPointsDeducted
+ - LoyaltyPointsAdded
+ - LoyaltyPointsDeducted
+ type: string
+ x-generate-enum-go: PrismaticEventType
+ PrismaticFlowUrl:
+ description: The URL of the prismatic flow that we want to trigger for the
+ event.
+ type: string
+ Config:
+ $ref: '#/components/schemas/PrismaticFlowConfig'
+ required:
+ - Config
+ - EventType
+ - PrismaticFlowUrl
+ type: object
+ PrismaticFlow:
+ example:
+ EventType: StrikethroughPrice
+ PrismaticFlowUrl: PrismaticFlowUrl
+ properties:
+ EventType:
+ description: The event type we want to register a flow for.
+ enum:
+ - StrikethroughPrice
+ - CampaignEvaluationTreeChanged
+ - CampaignNotification
+ - LoyaltyCardPointsExpiring
+ - AsyncCouponsCreated
+ - CouponCodeExpiring
+ - LoyaltyPointsExpiring
+ - LoyaltyPointsPendingToActive
+ - TierDowngrade
+ - TierUpgrade
+ - TierWillDowngrade
+ - CouponCreated
+ - CouponUpdated
+ - CouponDeleted
+ - CouponsUpdated
+ - CouponsDeleted
+ - LoyaltyCardPointsAdded
+ - LoyaltyCardPointsDeducted
+ - LoyaltyPointsAdded
+ - LoyaltyPointsDeducted
+ type: string
+ PrismaticFlowUrl:
+ description: The URL of the prismatic flow that we want to trigger for the
+ event.
+ type: string
+ required:
+ - EventType
+ - PrismaticFlowUrl
+ type: object
+ IntegrationProfileEntityV3:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ required:
+ - profileId
+ type: object
+ EventV3:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ storeIntegrationId:
+ description: The integration ID of the store. You choose this ID when you
+ create a store.
+ example: STORE-001
+ maxLength: 1000
+ minLength: 1
+ type: string
+ evaluableCampaignIds:
+ description: |
+ When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
+
+ These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
+ example:
+ - 10
+ - 12
+ items:
+ format: int64
+ type: integer
+ title: Campaigns to evaluate
+ type: array
+ integrationId:
+ description: |
+ The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ type:
+ description: |
+ A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager.
+ example: pageViewed
+ minLength: 1
+ title: Event Type
+ type: string
+ attributes:
+ description: Arbitrary additional JSON properties associated with the event.
+ They must be created in the Campaign Manager before setting them with
+ this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
+ example:
+ myAttribute: myValue
+ properties: {}
+ type: object
+ connectedSessionID:
+ description: The ID of the session that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ previousEventID:
+ description: The unique identifier of the event that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ required:
+ - integrationId
+ - profileId
+ - type
+ type: object
+ IntegrationEventV3Request:
+ properties:
+ profileId:
+ description: |
+ ID of the customer profile set by your integration layer.
+
+ **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
+ example: URNGV8294NV
+ type: string
+ storeIntegrationId:
+ description: The integration ID of the store. You choose this ID when you
+ create a store.
+ example: STORE-001
+ maxLength: 1000
+ minLength: 1
+ type: string
+ evaluableCampaignIds:
+ description: |
+ When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine.
+
+ These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
+ example:
+ - 10
+ - 12
+ items:
+ format: int64
+ type: integer
+ title: Campaigns to evaluate
+ type: array
+ integrationId:
+ description: |
+ The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ type:
+ description: |
+ A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager.
+ example: pageViewed
+ minLength: 1
+ title: Event Type
+ type: string
+ attributes:
+ description: Arbitrary additional JSON properties associated with the event.
+ They must be created in the Campaign Manager before setting them with
+ this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
+ example:
+ myAttribute: myValue
+ properties: {}
+ type: object
+ connectedSessionID:
+ description: The ID of the session that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ previousEventID:
+ description: The unique identifier of the event that happened in the past.
+ example: 175KJPS947296
+ minLength: 1
+ type: string
+ loyaltyCards:
+ description: Identifiers of the loyalty cards used during this event.
+ example:
+ - loyalty-card-1
+ items:
+ type: string
+ maxItems: 1
+ type: array
+ responseContent:
+ description: |
+ Optional list of requested information to be present on the response related to the tracking custom event.
+ example:
+ - triggeredCampaigns
+ - customerProfile
+ items:
+ enum:
+ - customerProfile
+ - triggeredCampaigns
+ - loyalty
+ - event
+ - awardedGiveaways
+ - ruleFailureReasons
+ type: string
+ type: array
+ required:
+ - integrationId
+ - profileId
+ - type
+ type: object
+ IntegrationEventV3Response:
+ description: |
+ This is the response type returned by the trackEventV3 endpoint.
+ properties:
+ customerProfile:
+ $ref: '#/components/schemas/CustomerProfile'
+ event:
+ $ref: '#/components/schemas/EventV3'
+ loyalty:
+ $ref: '#/components/schemas/Loyalty'
+ triggeredCampaigns:
+ items:
+ $ref: '#/components/schemas/Campaign'
+ type: array
+ ruleFailureReasons:
+ items:
+ $ref: '#/components/schemas/RuleFailureReason'
+ type: array
+ awardedGiveaways:
+ items:
+ $ref: '#/components/schemas/Giveaway'
+ type: array
+ effects:
+ description: The effects generated by the rules in your running campaigns.
+ See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects).
+ items:
+ $ref: '#/components/schemas/Effect'
+ type: array
+ createdCoupons:
+ items:
+ $ref: '#/components/schemas/Coupon'
+ type: array
+ createdReferrals:
+ items:
+ $ref: '#/components/schemas/Referral'
+ type: array
+ required:
+ - createdCoupons
+ - createdReferrals
+ - effects
+ type: object
CampaignNotificationBase:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39434,6 +39993,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39481,6 +40042,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39518,6 +40081,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39556,6 +40121,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39594,6 +40161,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39633,6 +40202,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39669,6 +40240,8 @@ components:
properties:
NotificationType:
description: The type of the notification
+ enum:
+ - CampaignNotification
example: CampaignNotification
type: string
TotalResultSize:
@@ -39991,6 +40564,8 @@ components:
type: string
NotificationType:
description: The type of the not
+ enum:
+ - CouponCreated
type: string
required:
- EmployeeName
@@ -40023,6 +40598,9 @@ components:
type: integer
NotificationType:
description: The type of the notification
+ enum:
+ - CouponUpdated
+ - CouponDeleted
example: CouponUpdated
type: string
required:
@@ -40054,6 +40632,8 @@ components:
type: string
NotificationType:
description: The type of the notification
+ enum:
+ - AsyncCouponsCreated
type: string
required:
- BatchID
@@ -40080,6 +40660,8 @@ components:
type: string
NotificationType:
description: The type of the notification
+ enum:
+ - CouponsUpdated
type: string
required:
- ApplicationID
@@ -40111,6 +40693,8 @@ components:
type: integer
NotificationType:
description: The type of the notification
+ enum:
+ - CouponsDeleted
type: string
required:
- ApplicationID
@@ -42554,6 +43138,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
@@ -42694,6 +43279,7 @@ components:
description: My collection of SKUs
- name: My collection
description: My collection of SKUs
+ campaignsCount: 3
defaultCampaignGroupId: 42
description: This is a template for a discount campaign.
features:
diff --git a/build.gradle b/build.gradle
index 176cd78..dab8cb9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'eclipse'
apply plugin: 'java'
group = 'one.talon'
-version = '14.1.0'
+version = '99.99.99'
buildscript {
repositories {
diff --git a/build.sbt b/build.sbt
index ef863e1..533d5fd 100644
--- a/build.sbt
+++ b/build.sbt
@@ -2,7 +2,7 @@ lazy val root = (project in file(".")).
settings(
organization := "one.talon",
name := "talon-one-client",
- version := "14.1.0",
+ version := "99.99.99",
scalaVersion := "2.11.4",
scalacOptions ++= Seq("-feature"),
javacOptions in compile ++= Seq("-Xlint:deprecation"),
diff --git a/docs/ActivateLoyaltyPoints.md b/docs/ActivateLoyaltyPoints.md
new file mode 100644
index 0000000..8f7f09b
--- /dev/null
+++ b/docs/ActivateLoyaltyPoints.md
@@ -0,0 +1,14 @@
+
+
+# ActivateLoyaltyPoints
+
+Activate loyalty points.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**transactionUUIDs** | [**List<UUID>**](UUID.md) | The list of transaction UUIDs used to activate point transactions. If passed, `sessionId` must be omitted. | [optional]
+**sessionId** | **String** | The integration ID of the session with the point transactions to be activated. If passed, `transactionUUIDs` must be omitted. | [optional]
+
+
+
diff --git a/docs/ActivateLoyaltyPointsResponse.md b/docs/ActivateLoyaltyPointsResponse.md
new file mode 100644
index 0000000..69e452e
--- /dev/null
+++ b/docs/ActivateLoyaltyPointsResponse.md
@@ -0,0 +1,12 @@
+
+
+# ActivateLoyaltyPointsResponse
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ledgerEntries** | [**List<LoyaltyLedgerEntry>**](LoyaltyLedgerEntry.md) | Updated ledger entries after activation. | [optional]
+
+
+
diff --git a/docs/AddLoyaltyPoints.md b/docs/AddLoyaltyPoints.md
index 3f94b2b..8845088 100644
--- a/docs/AddLoyaltyPoints.md
+++ b/docs/AddLoyaltyPoints.md
@@ -9,7 +9,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**points** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points. |
**name** | **String** | Name / reason for the point addition. | [optional]
-**validityDuration** | **String** | The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. | [optional]
+**validityDuration** | **String** | The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. | [optional]
**validUntil** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time when points should expire. The value should be provided in RFC 3339 format. If passed, `validityDuration` should be omitted. | [optional]
**pendingDuration** | **String** | The amount of time before the points are considered valid. The time format is either: - `immediate` or, - `on_action` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `30s`, `40m`, `1h`, `5D`, `7W`, `10M`, `15Y`, `on_action`. Available units: - `s`: seconds - `m`: minutes - `h`: hours - `D`: days - `W`: weeks - `M`: months - `Y`: years You can round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. | [optional]
**pendingUntil** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time after the points are considered valid. The value should be provided in RFC 3339 format. If passed, `pendingDuration` should be omitted. | [optional]
diff --git a/docs/AddLoyaltyPointsEffectProps.md b/docs/AddLoyaltyPointsEffectProps.md
index ada3b99..fdd8a19 100644
--- a/docs/AddLoyaltyPointsEffectProps.md
+++ b/docs/AddLoyaltyPointsEffectProps.md
@@ -21,6 +21,8 @@ Name | Type | Description | Notes
**cardIdentifier** | **String** | The alphanumeric identifier of the loyalty card. | [optional]
**bundleIndex** | **Long** | The position of the bundle in a list of item bundles created from the same bundle definition. | [optional]
**bundleName** | **String** | The name of the bundle definition. | [optional]
+**awaitsActivation** | **Boolean** | If `true`, the loyalty points are pending until action-based activation takes place. The `startDate` parameter automatically defaults to `on_action`. | [optional]
+**validityDuration** | **String** | The duration for which the points remain active, relative to the activation date. Example: `30D`. **Note**: This value is only returned if `awaitsActivation` is `true` and `expiryDate` is not set. | [optional]
diff --git a/docs/AsyncCouponsData.md b/docs/AsyncCouponsData.md
index 017bf0f..5b329a2 100644
--- a/docs/AsyncCouponsData.md
+++ b/docs/AsyncCouponsData.md
@@ -10,7 +10,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+ASYNCCOUPONSCREATED | "AsyncCouponsCreated"
diff --git a/docs/CampaignCollectionEditedNotification.md b/docs/CampaignCollectionEditedNotification.md
index f5be4b0..e9a593b 100644
--- a/docs/CampaignCollectionEditedNotification.md
+++ b/docs/CampaignCollectionEditedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignCollectionEditedNotificationItem>**](CampaignCollectionEditedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignCreatedNotification.md b/docs/CampaignCreatedNotification.md
index 67bb0ec..43f43a1 100644
--- a/docs/CampaignCreatedNotification.md
+++ b/docs/CampaignCreatedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignCreatedNotificationItem>**](CampaignCreatedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignDeletedNotification.md b/docs/CampaignDeletedNotification.md
index f019b23..b2d4e45 100644
--- a/docs/CampaignDeletedNotification.md
+++ b/docs/CampaignDeletedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignDeletedNotificationItem>**](CampaignDeletedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignEditedNotification.md b/docs/CampaignEditedNotification.md
index 2798476..87c581c 100644
--- a/docs/CampaignEditedNotification.md
+++ b/docs/CampaignEditedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignEditedNotificationItem>**](CampaignEditedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignEvaluationTreeChangedMessage.md b/docs/CampaignEvaluationTreeChangedMessage.md
index 360540d..7e39edb 100644
--- a/docs/CampaignEvaluationTreeChangedMessage.md
+++ b/docs/CampaignEvaluationTreeChangedMessage.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<ApplicationNotification>**](ApplicationNotification.md) | The array of changes. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignLogSummary.md b/docs/CampaignLogSummary.md
new file mode 100644
index 0000000..3da60c7
--- /dev/null
+++ b/docs/CampaignLogSummary.md
@@ -0,0 +1,27 @@
+
+
+# CampaignLogSummary
+
+Campaign Log Summary
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | Name of the user that performed the change. |
+**email** | **String** | E-mail of the user that performed the change. |
+**created** | [**OffsetDateTime**](OffsetDateTime.md) | Date and time the change was performed. |
+**action** | [**ActionEnum**](#ActionEnum) | Action performed by the user. |
+**summary** | **String** | AI-generated summary of the action performed. |
+
+
+
+## Enum: ActionEnum
+
+Name | Value
+---- | -----
+CREATE | "create"
+DELETE | "delete"
+UPDATE | "update"
+
+
+
diff --git a/docs/CampaignNotificationBase.md b/docs/CampaignNotificationBase.md
index 1b0b62c..3514515 100644
--- a/docs/CampaignNotificationBase.md
+++ b/docs/CampaignNotificationBase.md
@@ -6,8 +6,16 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignNotificationGeneric.md b/docs/CampaignNotificationGeneric.md
index c8640db..32ac9f6 100644
--- a/docs/CampaignNotificationGeneric.md
+++ b/docs/CampaignNotificationGeneric.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | **List<Object>** | A list of campaign notification data. |
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignRulesetChangedNotification.md b/docs/CampaignRulesetChangedNotification.md
index 50c0cb3..41b96d8 100644
--- a/docs/CampaignRulesetChangedNotification.md
+++ b/docs/CampaignRulesetChangedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignRulesetChangedNotificationItem>**](CampaignRulesetChangedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignStateChangedNotification.md b/docs/CampaignStateChangedNotification.md
index 3f8e6f6..5e972cb 100644
--- a/docs/CampaignStateChangedNotification.md
+++ b/docs/CampaignStateChangedNotification.md
@@ -6,9 +6,17 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
**totalResultSize** | **Long** | The total size of the result set. |
**data** | [**List<CampaignStateChangedNotificationItem>**](CampaignStateChangedNotificationItem.md) | A list of campaign notification data. | [optional]
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+
+
+
diff --git a/docs/CampaignTemplate.md b/docs/CampaignTemplate.md
index 35f78b1..143432e 100644
--- a/docs/CampaignTemplate.md
+++ b/docs/CampaignTemplate.md
@@ -28,6 +28,7 @@ Name | Type | Description | Notes
**campaignCollections** | [**List<CampaignTemplateCollection>**](CampaignTemplateCollection.md) | The campaign collections from the blueprint campaign for the template. | [optional]
**defaultCampaignGroupId** | **Long** | The default campaign group ID. | [optional]
**campaignType** | [**CampaignTypeEnum**](#CampaignTypeEnum) | The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items. |
+**campaignsCount** | **Long** | The number of Campaigns created from this template. | [optional]
**updated** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp of the most recent update to the campaign template or any of its elements. | [optional]
**updatedBy** | **String** | Name of the user who last updated this campaign template, if available. | [optional]
**validApplicationIds** | **List<Long>** | The IDs of the Applications that are related to this entity. |
diff --git a/docs/CardLedgerTransactionLogEntryIntegrationAPI.md b/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
index 4165a4c..98ba985 100644
--- a/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
+++ b/docs/CardLedgerTransactionLogEntryIntegrationAPI.md
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**customerSessionId** | **String** | ID of the customer session where the transaction occurred. | [optional]
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**name** | **String** | Name or reason of the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are active immediately. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are active immediately. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
diff --git a/docs/CouponsNotificationData.md b/docs/CouponsNotificationData.md
index d15f086..a04e399 100644
--- a/docs/CouponsNotificationData.md
+++ b/docs/CouponsNotificationData.md
@@ -11,7 +11,16 @@ Name | Type | Description | Notes
**employeeName** | **String** | The name of the employee associated with the operation. |
**data** | [**List<ExtendedCoupon>**](ExtendedCoupon.md) | A list of extended coupon data. | [optional]
**totalResultSize** | **Long** | | [optional]
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONUPDATED | "CouponUpdated"
+COUPONDELETED | "CouponDeleted"
diff --git a/docs/CreateCouponData.md b/docs/CreateCouponData.md
index 09ed9ae..dfade05 100644
--- a/docs/CreateCouponData.md
+++ b/docs/CreateCouponData.md
@@ -12,7 +12,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the not |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the not |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONCREATED | "CouponCreated"
diff --git a/docs/DeleteCouponsData.md b/docs/DeleteCouponsData.md
index 16c1183..9d97675 100644
--- a/docs/DeleteCouponsData.md
+++ b/docs/DeleteCouponsData.md
@@ -13,7 +13,15 @@ Name | Type | Description | Notes
**applicationID** | **Long** | |
**campaignID** | **Long** | |
**totalResultSize** | **Long** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONSDELETED | "CouponsDeleted"
diff --git a/docs/EventV3.md b/docs/EventV3.md
new file mode 100644
index 0000000..9f4fc30
--- /dev/null
+++ b/docs/EventV3.md
@@ -0,0 +1,19 @@
+
+
+# EventV3
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional]
+**evaluableCampaignIds** | **List<Long>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional]
+**integrationId** | **String** | The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden. |
+**type** | **String** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. |
+**attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional]
+**connectedSessionID** | **String** | The ID of the session that happened in the past. | [optional]
+**previousEventID** | **String** | The unique identifier of the event that happened in the past. | [optional]
+
+
+
diff --git a/docs/IntegrationApi.md b/docs/IntegrationApi.md
index 71687fe..4422655 100644
--- a/docs/IntegrationApi.md
+++ b/docs/IntegrationApi.md
@@ -204,7 +204,7 @@ Name | Type | Description | Notes
Create coupon reservation
-Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
+Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
### Example
@@ -229,7 +229,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // String | The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`.
CouponReservations body = new CouponReservations(); // CouponReservations | body
try {
Coupon result = apiInstance.createCouponReservation(couponValue, body);
@@ -250,7 +250,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **String**| The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. |
**body** | [**CouponReservations**](CouponReservations.md)| body |
### Return type cool
@@ -604,7 +604,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // String | The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`.
CouponReservations body = new CouponReservations(); // CouponReservations | body
try {
apiInstance.deleteCouponReservation(couponValue, body);
@@ -624,7 +624,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **String**| The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. |
**body** | [**CouponReservations**](CouponReservations.md)| body |
### Return type cool
@@ -1697,7 +1697,7 @@ public class Example {
//api_key_v1.setApiKeyPrefix("Token");
IntegrationApi apiInstance = new IntegrationApi(defaultClient);
- String couponValue = "couponValue_example"; // String | The code of the coupon.
+ String couponValue = "couponValue_example"; // String | The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`.
try {
InlineResponse200 result = apiInstance.getReservedCustomers(couponValue);
System.out.println(result);
@@ -1717,7 +1717,7 @@ public class Example {
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
- **couponValue** | **String**| The code of the coupon. |
+ **couponValue** | **String**| The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. |
### Return type cool
diff --git a/docs/IntegrationEventV3Request.md b/docs/IntegrationEventV3Request.md
new file mode 100644
index 0000000..fc0fd48
--- /dev/null
+++ b/docs/IntegrationEventV3Request.md
@@ -0,0 +1,34 @@
+
+
+# IntegrationEventV3Request
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+**storeIntegrationId** | **String** | The integration ID of the store. You choose this ID when you create a store. | [optional]
+**evaluableCampaignIds** | **List<Long>** | When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them. | [optional]
+**integrationId** | **String** | The unique ID of the current event. Only one event with this ID could be activated, duplicated events are forbidden. |
+**type** | **String** | A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager. |
+**attributes** | [**Object**](.md) | Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute). | [optional]
+**connectedSessionID** | **String** | The ID of the session that happened in the past. | [optional]
+**previousEventID** | **String** | The unique identifier of the event that happened in the past. | [optional]
+**loyaltyCards** | **List<String>** | Identifiers of the loyalty cards used during this event. | [optional]
+**responseContent** | [**List<ResponseContentEnum>**](#List<ResponseContentEnum>) | Optional list of requested information to be present on the response related to the tracking custom event. | [optional]
+
+
+
+## Enum: List<ResponseContentEnum>
+
+Name | Value
+---- | -----
+CUSTOMERPROFILE | "customerProfile"
+TRIGGEREDCAMPAIGNS | "triggeredCampaigns"
+LOYALTY | "loyalty"
+EVENT | "event"
+AWARDEDGIVEAWAYS | "awardedGiveaways"
+RULEFAILUREREASONS | "ruleFailureReasons"
+
+
+
diff --git a/docs/IntegrationEventV3Response.md b/docs/IntegrationEventV3Response.md
new file mode 100644
index 0000000..e3bfb44
--- /dev/null
+++ b/docs/IntegrationEventV3Response.md
@@ -0,0 +1,21 @@
+
+
+# IntegrationEventV3Response
+
+This is the response type returned by the trackEventV3 endpoint.
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**customerProfile** | [**CustomerProfile**](CustomerProfile.md) | | [optional]
+**event** | [**EventV3**](EventV3.md) | | [optional]
+**loyalty** | [**Loyalty**](Loyalty.md) | | [optional]
+**triggeredCampaigns** | [**List<Campaign>**](Campaign.md) | | [optional]
+**ruleFailureReasons** | [**List<RuleFailureReason>**](RuleFailureReason.md) | | [optional]
+**awardedGiveaways** | [**List<Giveaway>**](Giveaway.md) | | [optional]
+**effects** | [**List<Effect>**](Effect.md) | The effects generated by the rules in your running campaigns. See [API effects](https://docs.talon.one/docs/dev/integration-api/api-effects). |
+**createdCoupons** | [**List<Coupon>**](Coupon.md) | |
+**createdReferrals** | [**List<Referral>**](Referral.md) | |
+
+
+
diff --git a/docs/IntegrationProfileEntityV3.md b/docs/IntegrationProfileEntityV3.md
new file mode 100644
index 0000000..de03ff2
--- /dev/null
+++ b/docs/IntegrationProfileEntityV3.md
@@ -0,0 +1,12 @@
+
+
+# IntegrationProfileEntityV3
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**profileId** | **String** | ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`. |
+
+
+
diff --git a/docs/LedgerTransactionLogEntryIntegrationAPI.md b/docs/LedgerTransactionLogEntryIntegrationAPI.md
index 870d36c..ab4e220 100644
--- a/docs/LedgerTransactionLogEntryIntegrationAPI.md
+++ b/docs/LedgerTransactionLogEntryIntegrationAPI.md
@@ -13,7 +13,7 @@ Name | Type | Description | Notes
**customerSessionId** | **String** | ID of the customer session where the transaction occurred. | [optional]
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**name** | **String** | Name or reason of the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | Date when points expire. Possible values are: - `unlimited`: Points have no expiration date. - `timestamp value`: Points expire on the given date. |
**subledgerId** | **String** | ID of the subledger. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
diff --git a/docs/LoyaltyProgramTransaction.md b/docs/LoyaltyProgramTransaction.md
index 19e4b09..65e5dd1 100644
--- a/docs/LoyaltyProgramTransaction.md
+++ b/docs/LoyaltyProgramTransaction.md
@@ -14,7 +14,7 @@ Name | Type | Description | Notes
**type** | [**TypeEnum**](#TypeEnum) | Type of transaction. Possible values: - `addition`: Signifies added points. - `subtraction`: Signifies deducted points. |
**amount** | [**BigDecimal**](BigDecimal.md) | Amount of loyalty points added or deducted in the transaction. |
**name** | **String** | Name or reason for the loyalty ledger transaction. |
-**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - a timestamp value: Points become active at a given date and time. |
+**startDate** | **String** | When points become active. Possible values: - `immediate`: Points are immediately active. - `on_action`: Points become active based on the customer's action. - a timestamp value: Points become active at a given date and time. |
**expiryDate** | **String** | When points expire. Possible values: - `unlimited`: Points have no expiration date. - a timestamp value: Points expire at a given date and time. |
**customerProfileId** | **String** | Customer profile integration ID used in the loyalty program. | [optional]
**cardIdentifier** | **String** | The alphanumeric identifier of the loyalty card. | [optional]
diff --git a/docs/ManagementApi.md b/docs/ManagementApi.md
index 71777c4..c65538c 100644
--- a/docs/ManagementApi.md
+++ b/docs/ManagementApi.md
@@ -35,6 +35,7 @@ Method | HTTP request | Description
[**deleteCoupon**](ManagementApi.md#deleteCoupon) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons/{couponId} | Delete coupon
[**deleteCoupons**](ManagementApi.md#deleteCoupons) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/coupons | Delete coupons
[**deleteLoyaltyCard**](ManagementApi.md#deleteLoyaltyCard) | **DELETE** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId} | Delete loyalty card
+[**deletePrismaticFlow**](ManagementApi.md#deletePrismaticFlow) | **DELETE** /v1/prismatic/flow | de-registers a prismatic flow for an event
[**deleteReferral**](ManagementApi.md#deleteReferral) | **DELETE** /v1/applications/{applicationId}/campaigns/{campaignId}/referrals/{referralId} | Delete referral
[**deleteStore**](ManagementApi.md#deleteStore) | **DELETE** /v1/applications/{applicationId}/stores/{storeId} | Delete store
[**deleteUser**](ManagementApi.md#deleteUser) | **DELETE** /v1/users/{userId} | Delete user
@@ -143,6 +144,7 @@ Method | HTTP request | Description
[**listCollectionsInApplication**](ManagementApi.md#listCollectionsInApplication) | **GET** /v1/applications/{applicationId}/collections | List collections in Application
[**listStores**](ManagementApi.md#listStores) | **GET** /v1/applications/{applicationId}/stores | List stores
[**oktaEventHandlerChallenge**](ManagementApi.md#oktaEventHandlerChallenge) | **GET** /v1/provisioning/okta | Validate Okta API ownership
+[**postPrismaticFlow**](ManagementApi.md#postPrismaticFlow) | **POST** /v1/prismatic/flow | registers a prismatic flow for an event
[**removeLoyaltyPoints**](ManagementApi.md#removeLoyaltyPoints) | **PUT** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/deduct_points | Deduct points from customer profile
[**resetPassword**](ManagementApi.md#resetPassword) | **POST** /v1/reset_password | Reset password
[**scimCreateGroup**](ManagementApi.md#scimCreateGroup) | **POST** /v1/provisioning/scim/Groups | Create SCIM group
@@ -2905,6 +2907,89 @@ null (empty response body)
| **404** | Not found | - |
+## deletePrismaticFlow
+
+> deletePrismaticFlow(body)
+
+de-registers a prismatic flow for an event
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ PrismaticFlow body = new PrismaticFlow(); // PrismaticFlow |
+ try {
+ apiInstance.deletePrismaticFlow(body);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#deletePrismaticFlow");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**PrismaticFlow**](PrismaticFlow.md)| |
+
+### Return type cool
+
+null (empty response body)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1), [management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **204** | No Content | - |
+| **400** | Bad Request | - |
+| **500** | Internal Server Error | - |
+
+
## deleteReferral
> deleteReferral(applicationId, campaignId, referralId)
@@ -6781,7 +6866,7 @@ Name | Type | Description | Notes
## getAttributes
-> InlineResponse20036 getAttributes(pageSize, skip, sort, entity)
+> InlineResponse20036 getAttributes(pageSize, skip, sort, entity, applicationIds, type, kind, search)
List custom attributes
@@ -6826,8 +6911,12 @@ public class Example {
Long skip = 56L; // Long | The number of items to skip when paging through large result sets.
String sort = "sort_example"; // String | The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations.
String entity = "entity_example"; // String | Returned attributes will be filtered by supplied entity.
+ String applicationIds = "applicationIds_example"; // String | Returned attributes will be filtered by supplied application ids
+ String type = "type_example"; // String | Returned attributes will be filtered by supplied type
+ String kind = "kind_example"; // String | Returned attributes will be filtered by supplied kind (builtin or custom)
+ String search = "search_example"; // String | Returned attributes will be filtered by searching case insensitive through Attribute name, description and type
try {
- InlineResponse20036 result = apiInstance.getAttributes(pageSize, skip, sort, entity);
+ InlineResponse20036 result = apiInstance.getAttributes(pageSize, skip, sort, entity, applicationIds, type, kind, search);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ManagementApi#getAttributes");
@@ -6849,6 +6938,10 @@ Name | Type | Description | Notes
**skip** | **Long**| The number of items to skip when paging through large result sets. | [optional]
**sort** | **String**| The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. | [optional]
**entity** | **String**| Returned attributes will be filtered by supplied entity. | [optional]
+ **applicationIds** | **String**| Returned attributes will be filtered by supplied application ids | [optional]
+ **type** | **String**| Returned attributes will be filtered by supplied type | [optional]
+ **kind** | **String**| Returned attributes will be filtered by supplied kind (builtin or custom) | [optional] [enum: builtin, custom]
+ **search** | **String**| Returned attributes will be filtered by searching case insensitive through Attribute name, description and type | [optional]
### Return type cool
@@ -11568,7 +11661,7 @@ Name | Type | Description | Notes
Import loyalty points
-Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
### Example
@@ -12732,6 +12825,89 @@ null (empty response body)
| **200** | OK | - |
+## postPrismaticFlow
+
+> postPrismaticFlow(body)
+
+registers a prismatic flow for an event
+
+### Example
+
+```java
+// Import classes:
+import one.talon.ApiClient;
+import one.talon.ApiException;
+import one.talon.Configuration;
+import one.talon.auth.*;
+import one.talon.models.*;
+import one.talon.api.ManagementApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("https://yourbaseurl.talon.one");
+
+ // Configure API key authorization: api_key_v1
+ ApiKeyAuth api_key_v1 = (ApiKeyAuth) defaultClient.getAuthentication("api_key_v1");
+ api_key_v1.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //api_key_v1.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: management_key
+ ApiKeyAuth management_key = (ApiKeyAuth) defaultClient.getAuthentication("management_key");
+ management_key.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //management_key.setApiKeyPrefix("Token");
+
+ // Configure API key authorization: manager_auth
+ ApiKeyAuth manager_auth = (ApiKeyAuth) defaultClient.getAuthentication("manager_auth");
+ manager_auth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //manager_auth.setApiKeyPrefix("Token");
+
+ ManagementApi apiInstance = new ManagementApi(defaultClient);
+ PrismaticFlowWithConfig body = new PrismaticFlowWithConfig(); // PrismaticFlowWithConfig |
+ try {
+ apiInstance.postPrismaticFlow(body);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling ManagementApi#postPrismaticFlow");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**PrismaticFlowWithConfig**](PrismaticFlowWithConfig.md)| |
+
+### Return type cool
+
+null (empty response body)
+
+### Authorization
+
+[api_key_v1](../README.md#api_key_v1), [management_key](../README.md#management_key), [manager_auth](../README.md#manager_auth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **201** | Created | - |
+| **400** | Bad Request | - |
+| **500** | Internal Server Error | - |
+
+
## removeLoyaltyPoints
> removeLoyaltyPoints(loyaltyProgramId, integrationId, body)
diff --git a/docs/ManagementKey.md b/docs/ManagementKey.md
index ad412ce..cbbb31d 100644
--- a/docs/ManagementKey.md
+++ b/docs/ManagementKey.md
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
**accountID** | **Long** | ID of account the key is used for. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The date the management key was created. |
**disabled** | **Boolean** | The management key is disabled (this property is set to `true`) when the user who created the key is disabled or deleted. | [optional]
+**lastUsed** | [**OffsetDateTime**](OffsetDateTime.md) | The last time the management key was used. | [optional]
diff --git a/docs/NewManagementKey.md b/docs/NewManagementKey.md
index 32b741b..69f4495 100644
--- a/docs/NewManagementKey.md
+++ b/docs/NewManagementKey.md
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
**accountID** | **Long** | ID of account the key is used for. |
**created** | [**OffsetDateTime**](OffsetDateTime.md) | The date the management key was created. |
**disabled** | **Boolean** | The management key is disabled (this property is set to `true`) when the user who created the key is disabled or deleted. | [optional]
+**lastUsed** | [**OffsetDateTime**](OffsetDateTime.md) | The last time the management key was used. | [optional]
**key** | **String** | The management key. |
diff --git a/docs/NewMessageTest.md b/docs/NewMessageTest.md
index 823370e..481c658 100644
--- a/docs/NewMessageTest.md
+++ b/docs/NewMessageTest.md
@@ -12,6 +12,7 @@ Name | Type | Description | Notes
**payload** | **String** | API payload of this message. | [optional]
**params** | [**List<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. | [optional]
**applicationIds** | **List<Long>** | The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`. | [optional]
+**authenticationId** | **Long** | The ID of the credential that this webhook is using. | [optional]
diff --git a/docs/PrismaticFlow.md b/docs/PrismaticFlow.md
new file mode 100644
index 0000000..de4bb1d
--- /dev/null
+++ b/docs/PrismaticFlow.md
@@ -0,0 +1,40 @@
+
+
+# PrismaticFlow
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**eventType** | [**EventTypeEnum**](#EventTypeEnum) | The event type we want to register a flow for. |
+**prismaticFlowUrl** | **String** | The URL of the prismatic flow that we want to trigger for the event. |
+
+
+
+## Enum: EventTypeEnum
+
+Name | Value
+---- | -----
+STRIKETHROUGHPRICE | "StrikethroughPrice"
+CAMPAIGNEVALUATIONTREECHANGED | "CampaignEvaluationTreeChanged"
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+LOYALTYCARDPOINTSEXPIRING | "LoyaltyCardPointsExpiring"
+ASYNCCOUPONSCREATED | "AsyncCouponsCreated"
+COUPONCODEEXPIRING | "CouponCodeExpiring"
+LOYALTYPOINTSEXPIRING | "LoyaltyPointsExpiring"
+LOYALTYPOINTSPENDINGTOACTIVE | "LoyaltyPointsPendingToActive"
+TIERDOWNGRADE | "TierDowngrade"
+TIERUPGRADE | "TierUpgrade"
+TIERWILLDOWNGRADE | "TierWillDowngrade"
+COUPONCREATED | "CouponCreated"
+COUPONUPDATED | "CouponUpdated"
+COUPONDELETED | "CouponDeleted"
+COUPONSUPDATED | "CouponsUpdated"
+COUPONSDELETED | "CouponsDeleted"
+LOYALTYCARDPOINTSADDED | "LoyaltyCardPointsAdded"
+LOYALTYCARDPOINTSDEDUCTED | "LoyaltyCardPointsDeducted"
+LOYALTYPOINTSADDED | "LoyaltyPointsAdded"
+LOYALTYPOINTSDEDUCTED | "LoyaltyPointsDeducted"
+
+
+
diff --git a/docs/PrismaticFlowConfig.md b/docs/PrismaticFlowConfig.md
new file mode 100644
index 0000000..6c58b49
--- /dev/null
+++ b/docs/PrismaticFlowConfig.md
@@ -0,0 +1,14 @@
+
+
+# PrismaticFlowConfig
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**apiKey** | **String** | |
+**batchSize** | **Long** | Available for LoyaltyCardPointsExpiring, LoyaltyPointsExpiring, TierWillDowngrade, TierDowngrade, TierUpgrade, CouponCodeExpiring, CampaignNotification | [optional]
+**periodsInDays** | **List<Long>** | Available for LoyaltyCardPointsExpiring, LoyaltyPointsExpiring, TierWillDowngrade | [optional]
+
+
+
diff --git a/docs/PrismaticFlowWithConfig.md b/docs/PrismaticFlowWithConfig.md
new file mode 100644
index 0000000..2f5fcce
--- /dev/null
+++ b/docs/PrismaticFlowWithConfig.md
@@ -0,0 +1,41 @@
+
+
+# PrismaticFlowWithConfig
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**eventType** | [**EventTypeEnum**](#EventTypeEnum) | The event type we want to register a flow for. |
+**prismaticFlowUrl** | **String** | The URL of the prismatic flow that we want to trigger for the event. |
+**config** | [**PrismaticFlowConfig**](PrismaticFlowConfig.md) | |
+
+
+
+## Enum: EventTypeEnum
+
+Name | Value
+---- | -----
+STRIKETHROUGHPRICE | "StrikethroughPrice"
+CAMPAIGNEVALUATIONTREECHANGED | "CampaignEvaluationTreeChanged"
+CAMPAIGNNOTIFICATION | "CampaignNotification"
+LOYALTYCARDPOINTSEXPIRING | "LoyaltyCardPointsExpiring"
+ASYNCCOUPONSCREATED | "AsyncCouponsCreated"
+COUPONCODEEXPIRING | "CouponCodeExpiring"
+LOYALTYPOINTSEXPIRING | "LoyaltyPointsExpiring"
+LOYALTYPOINTSPENDINGTOACTIVE | "LoyaltyPointsPendingToActive"
+TIERDOWNGRADE | "TierDowngrade"
+TIERUPGRADE | "TierUpgrade"
+TIERWILLDOWNGRADE | "TierWillDowngrade"
+COUPONCREATED | "CouponCreated"
+COUPONUPDATED | "CouponUpdated"
+COUPONDELETED | "CouponDeleted"
+COUPONSUPDATED | "CouponsUpdated"
+COUPONSDELETED | "CouponsDeleted"
+LOYALTYCARDPOINTSADDED | "LoyaltyCardPointsAdded"
+LOYALTYCARDPOINTSDEDUCTED | "LoyaltyCardPointsDeducted"
+LOYALTYPOINTSADDED | "LoyaltyPointsAdded"
+LOYALTYPOINTSDEDUCTED | "LoyaltyPointsDeducted"
+
+
+
diff --git a/docs/StrikethroughLabelingNotification.md b/docs/StrikethroughLabelingNotification.md
index 0d8cb92..fbbfd1d 100644
--- a/docs/StrikethroughLabelingNotification.md
+++ b/docs/StrikethroughLabelingNotification.md
@@ -14,7 +14,8 @@ Name | Type | Description | Notes
**totalBatches** | **Long** | The total number of batches for the notification. |
**trigger** | [**StrikethroughTrigger**](StrikethroughTrigger.md) | |
**changedItems** | [**List<StrikethroughChangedItem>**](StrikethroughChangedItem.md) | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of notification. |
+**sentAt** | [**OffsetDateTime**](OffsetDateTime.md) | Timestamp at which the notification was sent. |
@@ -26,3 +27,11 @@ V2 | "v2"
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+STRIKETHROUGHPRICE | "StrikethroughPrice"
+
+
+
diff --git a/docs/UpdateCouponsData.md b/docs/UpdateCouponsData.md
index 9f86f0f..dd1c896 100644
--- a/docs/UpdateCouponsData.md
+++ b/docs/UpdateCouponsData.md
@@ -12,7 +12,15 @@ Name | Type | Description | Notes
**typeOfChange** | **String** | |
**operation** | **String** | |
**employeeName** | **String** | |
-**notificationType** | **String** | The type of the notification |
+**notificationType** | [**NotificationTypeEnum**](#NotificationTypeEnum) | The type of the notification |
+
+
+
+## Enum: NotificationTypeEnum
+
+Name | Value
+---- | -----
+COUPONSUPDATED | "CouponsUpdated"
diff --git a/pom.xml b/pom.xml
index cb38e6a..17167d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
talon-one-clientjartalon-one-client
- 14.1.0
+ 99.99.99https://github.com/talon-one/maven-artefactsTalon.One unified JAVA SDK. It allows for programmatic access to the integration and management API with their respective authentication strategies
diff --git a/src/main/java/one/talon/ApiClient.java b/src/main/java/one/talon/ApiClient.java
index f85429f..34a38a4 100644
--- a/src/main/java/one/talon/ApiClient.java
+++ b/src/main/java/one/talon/ApiClient.java
@@ -132,7 +132,7 @@ private void init() {
json = new JSON();
// Set default User-Agent.
- setUserAgent("OpenAPI-Generator/14.1.0/java");
+ setUserAgent("OpenAPI-Generator/99.99.99/java");
authentications = new HashMap();
}
diff --git a/src/main/java/one/talon/api/IntegrationApi.java b/src/main/java/one/talon/api/IntegrationApi.java
index 23c3df8..1889368 100644
--- a/src/main/java/one/talon/api/IntegrationApi.java
+++ b/src/main/java/one/talon/api/IntegrationApi.java
@@ -328,7 +328,7 @@ public okhttp3.Call createAudienceV2Async(NewAudience body, final ApiCallback createCouponReservationWithHttpInfo(String couponValu
/**
* Create coupon reservation (asynchronously)
- * Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
- * @param couponValue The code of the coupon. (required)
+ * Create a coupon reservation for the specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect. **Note:** - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon is associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. - This endpoint overrides the coupon reservation limit set when [the coupon is created](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons). To ensure that coupons cannot be reserved after the reservation limit is reached, use the [Create coupon code reservation](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code) effect in the Rule Builder and the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param body body (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -942,7 +942,7 @@ public okhttp3.Call deleteAudienceV2Async(Long audienceId, final ApiCallback deleteCouponReservationWithHttpInfo(String couponValue,
/**
* Delete coupon reservations (asynchronously)
* Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param body body (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
@@ -3029,7 +3029,7 @@ public okhttp3.Call getLoyaltyProgramProfileTransactionsAsync(Long loyaltyProgra
}
/**
* Build call for getReservedCustomers
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
@@ -3089,7 +3089,7 @@ private okhttp3.Call getReservedCustomersValidateBeforeCall(String couponValue,
/**
* List customers that have this coupon reserved
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @return InlineResponse200
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3109,7 +3109,7 @@ public InlineResponse200 getReservedCustomers(String couponValue) throws ApiExce
/**
* List customers that have this coupon reserved
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @return ApiResponse<InlineResponse200>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -3130,7 +3130,7 @@ public ApiResponse getReservedCustomersWithHttpInfo(String co
/**
* List customers that have this coupon reserved (asynchronously)
* Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
- * @param couponValue The code of the coupon. (required)
+ * @param couponValue The code of the coupon. **Important:** The coupon code requires [URL encoding](https://www.w3schools.com/tags//ref_urlencode.asp) if it contains special characters. For example, you must encode `SUMMER25%OFF` as `SUMMER25%25OFF`. (required)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
diff --git a/src/main/java/one/talon/api/ManagementApi.java b/src/main/java/one/talon/api/ManagementApi.java
index 59cdad8..990af34 100644
--- a/src/main/java/one/talon/api/ManagementApi.java
+++ b/src/main/java/one/talon/api/ManagementApi.java
@@ -125,6 +125,8 @@
import one.talon.model.NewPasswordEmail;
import one.talon.model.NewStore;
import org.threeten.bp.OffsetDateTime;
+import one.talon.model.PrismaticFlow;
+import one.talon.model.PrismaticFlowWithConfig;
import one.talon.model.Referral;
import one.talon.model.RoleV2;
import one.talon.model.RoleV2Base;
@@ -4151,6 +4153,120 @@ public okhttp3.Call deleteLoyaltyCardAsync(Long loyaltyProgramId, String loyalty
localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
+ /**
+ * Build call for deletePrismaticFlow
+ * @param body (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
204
No Content
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public okhttp3.Call deletePrismaticFlowCall(PrismaticFlow body, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/v1/prismatic/flow";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1", "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call deletePrismaticFlowValidateBeforeCall(PrismaticFlow body, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException("Missing the required parameter 'body' when calling deletePrismaticFlow(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = deletePrismaticFlowCall(body, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * de-registers a prismatic flow for an event
+ *
+ * @param body (required)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
204
No Content
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public void deletePrismaticFlow(PrismaticFlow body) throws ApiException {
+ deletePrismaticFlowWithHttpInfo(body);
+ }
+
+ /**
+ * de-registers a prismatic flow for an event
+ *
+ * @param body (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
204
No Content
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public ApiResponse deletePrismaticFlowWithHttpInfo(PrismaticFlow body) throws ApiException {
+ okhttp3.Call localVarCall = deletePrismaticFlowValidateBeforeCall(body, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * de-registers a prismatic flow for an event (asynchronously)
+ *
+ * @param body (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
204
No Content
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public okhttp3.Call deletePrismaticFlowAsync(PrismaticFlow body, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = deletePrismaticFlowValidateBeforeCall(body, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
/**
* Build call for deleteReferral
* @param applicationId The ID of the Application. It is displayed in your Talon.One deployment URL. (required)
@@ -10053,6 +10169,10 @@ public okhttp3.Call getAttributeAsync(Long attributeId, final ApiCallback
200
OK
-
*/
- public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
@@ -10086,6 +10206,22 @@ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, Str
localVarQueryParams.addAll(localVarApiClient.parameterToPair("entity", entity));
}
+ if (applicationIds != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("applicationIds", applicationIds));
+ }
+
+ if (type != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("type", type));
+ }
+
+ if (kind != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("kind", kind));
+ }
+
+ if (search != null) {
+ localVarQueryParams.addAll(localVarApiClient.parameterToPair("search", search));
+ }
+
Map localVarHeaderParams = new HashMap();
Map localVarCookieParams = new HashMap();
Map localVarFormParams = new HashMap();
@@ -10108,10 +10244,10 @@ public okhttp3.Call getAttributesCall(Long pageSize, Long skip, String sort, Str
}
@SuppressWarnings("rawtypes")
- private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getAttributesCall(pageSize, skip, sort, entity, _callback);
+ okhttp3.Call localVarCall = getAttributesCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, _callback);
return localVarCall;
}
@@ -10123,6 +10259,10 @@ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, S
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @return InlineResponse20036
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -10131,8 +10271,8 @@ private okhttp3.Call getAttributesValidateBeforeCall(Long pageSize, Long skip, S
200
OK
-
*/
- public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort, String entity) throws ApiException {
- ApiResponse localVarResp = getAttributesWithHttpInfo(pageSize, skip, sort, entity);
+ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search) throws ApiException {
+ ApiResponse localVarResp = getAttributesWithHttpInfo(pageSize, skip, sort, entity, applicationIds, type, kind, search);
return localVarResp.getData();
}
@@ -10143,6 +10283,10 @@ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort,
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @return ApiResponse<InlineResponse20036>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
@@ -10151,8 +10295,8 @@ public InlineResponse20036 getAttributes(Long pageSize, Long skip, String sort,
200
OK
-
*/
- public ApiResponse getAttributesWithHttpInfo(Long pageSize, Long skip, String sort, String entity) throws ApiException {
- okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, null);
+ public ApiResponse getAttributesWithHttpInfo(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search) throws ApiException {
+ okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
@@ -10164,6 +10308,10 @@ public ApiResponse getAttributesWithHttpInfo(Long pageSize,
* @param skip The number of items to skip when paging through large result sets. (optional)
* @param sort The field by which results should be sorted. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with `-`. **Note:** You may not be able to use all fields for sorting. This is due to performance limitations. (optional)
* @param entity Returned attributes will be filtered by supplied entity. (optional)
+ * @param applicationIds Returned attributes will be filtered by supplied application ids (optional)
+ * @param type Returned attributes will be filtered by supplied type (optional)
+ * @param kind Returned attributes will be filtered by supplied kind (builtin or custom) (optional)
+ * @param search Returned attributes will be filtered by searching case insensitive through Attribute name, description and type (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
@@ -10173,9 +10321,9 @@ public ApiResponse getAttributesWithHttpInfo(Long pageSize,
200
OK
-
*/
- public okhttp3.Call getAttributesAsync(Long pageSize, Long skip, String sort, String entity, final ApiCallback _callback) throws ApiException {
+ public okhttp3.Call getAttributesAsync(Long pageSize, Long skip, String sort, String entity, String applicationIds, String type, String kind, String search, final ApiCallback _callback) throws ApiException {
- okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, _callback);
+ okhttp3.Call localVarCall = getAttributesValidateBeforeCall(pageSize, skip, sort, entity, applicationIds, type, kind, search, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
@@ -17630,7 +17778,7 @@ private okhttp3.Call importLoyaltyPointsValidateBeforeCall(Long loyaltyProgramId
/**
* Import loyalty points
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
@@ -17649,7 +17797,7 @@ public ModelImport importLoyaltyPoints(Long loyaltyProgramId, Boolean notificati
/**
* Import loyalty points
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
@@ -17669,7 +17817,7 @@ public ApiResponse importLoyaltyPointsWithHttpInfo(Long loyaltyProg
/**
* Import loyalty points (asynchronously)
- * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
+ * Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. This parameter accepts one of the following values: - A timestamp string in RFC3339 format. - `immediate` - `on_action` **Note**: Empty or missing values default to `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
* @param loyaltyProgramId Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. (required)
* @param notificationsEnabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer's tier or offsets their negative points balance. This parameter is optional and defaults to `true`. (optional)
* @param upFile The file containing the data that is being imported. (optional)
@@ -19334,6 +19482,120 @@ public okhttp3.Call oktaEventHandlerChallengeAsync(final ApiCallback _call
localVarApiClient.executeAsync(localVarCall, _callback);
return localVarCall;
}
+ /**
+ * Build call for postPrismaticFlow
+ * @param body (required)
+ * @param _callback Callback for upload/download progress
+ * @return Call to execute
+ * @throws ApiException If fail to serialize the request body object
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
201
Created
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public okhttp3.Call postPrismaticFlowCall(PrismaticFlowWithConfig body, final ApiCallback _callback) throws ApiException {
+ Object localVarPostBody = body;
+
+ // create path and map variables
+ String localVarPath = "/v1/prismatic/flow";
+
+ List localVarQueryParams = new ArrayList();
+ List localVarCollectionQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+ Map localVarCookieParams = new HashMap();
+ Map localVarFormParams = new HashMap();
+ final String[] localVarAccepts = {
+ "application/json"
+ };
+ final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = {
+ "application/json"
+ };
+ final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ String[] localVarAuthNames = new String[] { "api_key_v1", "management_key", "manager_auth" };
+ return localVarApiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private okhttp3.Call postPrismaticFlowValidateBeforeCall(PrismaticFlowWithConfig body, final ApiCallback _callback) throws ApiException {
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException("Missing the required parameter 'body' when calling postPrismaticFlow(Async)");
+ }
+
+
+ okhttp3.Call localVarCall = postPrismaticFlowCall(body, _callback);
+ return localVarCall;
+
+ }
+
+ /**
+ * registers a prismatic flow for an event
+ *
+ * @param body (required)
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
201
Created
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public void postPrismaticFlow(PrismaticFlowWithConfig body) throws ApiException {
+ postPrismaticFlowWithHttpInfo(body);
+ }
+
+ /**
+ * registers a prismatic flow for an event
+ *
+ * @param body (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
201
Created
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public ApiResponse postPrismaticFlowWithHttpInfo(PrismaticFlowWithConfig body) throws ApiException {
+ okhttp3.Call localVarCall = postPrismaticFlowValidateBeforeCall(body, null);
+ return localVarApiClient.execute(localVarCall);
+ }
+
+ /**
+ * registers a prismatic flow for an event (asynchronously)
+ *
+ * @param body (required)
+ * @param _callback The callback to be executed when the API call finishes
+ * @return The request call
+ * @throws ApiException If fail to process the API call, e.g. serializing the request body object
+ * @http.response.details
+
+
Status Code
Description
Response Headers
+
201
Created
-
+
400
Bad Request
-
+
500
Internal Server Error
-
+
+ */
+ public okhttp3.Call postPrismaticFlowAsync(PrismaticFlowWithConfig body, final ApiCallback _callback) throws ApiException {
+
+ okhttp3.Call localVarCall = postPrismaticFlowValidateBeforeCall(body, _callback);
+ localVarApiClient.executeAsync(localVarCall, _callback);
+ return localVarCall;
+ }
/**
* Build call for removeLoyaltyPoints
* @param loyaltyProgramId The identifier for the loyalty program. (required)
diff --git a/src/main/java/one/talon/model/ActivateLoyaltyPoints.java b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
new file mode 100644
index 0000000..7e4d802
--- /dev/null
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPoints.java
@@ -0,0 +1,140 @@
+/*
+ * Talon.One API
+ * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * Activate loyalty points.
+ */
+@ApiModel(description = "Activate loyalty points.")
+
+public class ActivateLoyaltyPoints {
+ public static final String SERIALIZED_NAME_TRANSACTION_U_U_I_DS = "transactionUUIDs";
+ @SerializedName(SERIALIZED_NAME_TRANSACTION_U_U_I_DS)
+ private List transactionUUIDs = null;
+
+ public static final String SERIALIZED_NAME_SESSION_ID = "sessionId";
+ @SerializedName(SERIALIZED_NAME_SESSION_ID)
+ private String sessionId;
+
+
+ public ActivateLoyaltyPoints transactionUUIDs(List transactionUUIDs) {
+
+ this.transactionUUIDs = transactionUUIDs;
+ return this;
+ }
+
+ public ActivateLoyaltyPoints addTransactionUUIDsItem(UUID transactionUUIDsItem) {
+ if (this.transactionUUIDs == null) {
+ this.transactionUUIDs = new ArrayList();
+ }
+ this.transactionUUIDs.add(transactionUUIDsItem);
+ return this;
+ }
+
+ /**
+ * The list of transaction UUIDs used to activate point transactions. If passed, `sessionId` must be omitted.
+ * @return transactionUUIDs
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "The list of transaction UUIDs used to activate point transactions. If passed, `sessionId` must be omitted. ")
+
+ public List getTransactionUUIDs() {
+ return transactionUUIDs;
+ }
+
+
+ public void setTransactionUUIDs(List transactionUUIDs) {
+ this.transactionUUIDs = transactionUUIDs;
+ }
+
+
+ public ActivateLoyaltyPoints sessionId(String sessionId) {
+
+ this.sessionId = sessionId;
+ return this;
+ }
+
+ /**
+ * The integration ID of the session with the point transactions to be activated. If passed, `transactionUUIDs` must be omitted.
+ * @return sessionId
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "The integration ID of the session with the point transactions to be activated. If passed, `transactionUUIDs` must be omitted. ")
+
+ public String getSessionId() {
+ return sessionId;
+ }
+
+
+ public void setSessionId(String sessionId) {
+ this.sessionId = sessionId;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ActivateLoyaltyPoints activateLoyaltyPoints = (ActivateLoyaltyPoints) o;
+ return Objects.equals(this.transactionUUIDs, activateLoyaltyPoints.transactionUUIDs) &&
+ Objects.equals(this.sessionId, activateLoyaltyPoints.sessionId);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(transactionUUIDs, sessionId);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ActivateLoyaltyPoints {\n");
+ sb.append(" transactionUUIDs: ").append(toIndentedString(transactionUUIDs)).append("\n");
+ sb.append(" sessionId: ").append(toIndentedString(sessionId)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java b/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
new file mode 100644
index 0000000..bd98fad
--- /dev/null
+++ b/src/main/java/one/talon/model/ActivateLoyaltyPointsResponse.java
@@ -0,0 +1,110 @@
+/*
+ * Talon.One API
+ * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import one.talon.model.LoyaltyLedgerEntry;
+
+/**
+ * ActivateLoyaltyPointsResponse
+ */
+
+public class ActivateLoyaltyPointsResponse {
+ public static final String SERIALIZED_NAME_LEDGER_ENTRIES = "ledgerEntries";
+ @SerializedName(SERIALIZED_NAME_LEDGER_ENTRIES)
+ private List ledgerEntries = null;
+
+
+ public ActivateLoyaltyPointsResponse ledgerEntries(List ledgerEntries) {
+
+ this.ledgerEntries = ledgerEntries;
+ return this;
+ }
+
+ public ActivateLoyaltyPointsResponse addLedgerEntriesItem(LoyaltyLedgerEntry ledgerEntriesItem) {
+ if (this.ledgerEntries == null) {
+ this.ledgerEntries = new ArrayList();
+ }
+ this.ledgerEntries.add(ledgerEntriesItem);
+ return this;
+ }
+
+ /**
+ * Updated ledger entries after activation.
+ * @return ledgerEntries
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "Updated ledger entries after activation.")
+
+ public List getLedgerEntries() {
+ return ledgerEntries;
+ }
+
+
+ public void setLedgerEntries(List ledgerEntries) {
+ this.ledgerEntries = ledgerEntries;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ActivateLoyaltyPointsResponse activateLoyaltyPointsResponse = (ActivateLoyaltyPointsResponse) o;
+ return Objects.equals(this.ledgerEntries, activateLoyaltyPointsResponse.ledgerEntries);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(ledgerEntries);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ActivateLoyaltyPointsResponse {\n");
+ sb.append(" ledgerEntries: ").append(toIndentedString(ledgerEntries)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/AddLoyaltyPoints.java b/src/main/java/one/talon/model/AddLoyaltyPoints.java
index 24549b6..883ce44 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPoints.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPoints.java
@@ -118,11 +118,11 @@ public AddLoyaltyPoints validityDuration(String validityDuration) {
}
/**
- * The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted.
+ * The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted.
* @return validityDuration
**/
@javax.annotation.Nullable
- @ApiModelProperty(example = "5D", value = "The time format is either: - `immediate` or, - an **integer** followed by one letter indicating the time unit. Examples: `immediate`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. ")
+ @ApiModelProperty(example = "5D", value = "The time format is either: - `unlimited` or, - an **integer** followed by one letter indicating the time unit. Examples: `unlimited`, `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 round certain units up or down: - `_D` for rounding down days only. Signifies the start of the day. - `_U` for rounding up days, weeks, months and years. Signifies the end of the day, week, month or year. If passed, `validUntil` should be omitted. ")
public String getValidityDuration() {
return validityDuration;
diff --git a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
index 3014a57..fb6da0a 100644
--- a/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
+++ b/src/main/java/one/talon/model/AddLoyaltyPointsEffectProps.java
@@ -88,6 +88,14 @@ public class AddLoyaltyPointsEffectProps {
@SerializedName(SERIALIZED_NAME_BUNDLE_NAME)
private String bundleName;
+ public static final String SERIALIZED_NAME_AWAITS_ACTIVATION = "awaitsActivation";
+ @SerializedName(SERIALIZED_NAME_AWAITS_ACTIVATION)
+ private Boolean awaitsActivation;
+
+ public static final String SERIALIZED_NAME_VALIDITY_DURATION = "validityDuration";
+ @SerializedName(SERIALIZED_NAME_VALIDITY_DURATION)
+ private String validityDuration;
+
public AddLoyaltyPointsEffectProps name(String name) {
@@ -405,6 +413,52 @@ public void setBundleName(String bundleName) {
}
+ public AddLoyaltyPointsEffectProps awaitsActivation(Boolean awaitsActivation) {
+
+ this.awaitsActivation = awaitsActivation;
+ return this;
+ }
+
+ /**
+ * If `true`, the loyalty points are pending until action-based activation takes place. The `startDate` parameter automatically defaults to `on_action`.
+ * @return awaitsActivation
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "If `true`, the loyalty points are pending until action-based activation takes place. The `startDate` parameter automatically defaults to `on_action`. ")
+
+ public Boolean getAwaitsActivation() {
+ return awaitsActivation;
+ }
+
+
+ public void setAwaitsActivation(Boolean awaitsActivation) {
+ this.awaitsActivation = awaitsActivation;
+ }
+
+
+ public AddLoyaltyPointsEffectProps validityDuration(String validityDuration) {
+
+ this.validityDuration = validityDuration;
+ return this;
+ }
+
+ /**
+ * The duration for which the points remain active, relative to the activation date. Example: `30D`. **Note**: This value is only returned if `awaitsActivation` is `true` and `expiryDate` is not set.
+ * @return validityDuration
+ **/
+ @javax.annotation.Nullable
+ @ApiModelProperty(value = "The duration for which the points remain active, relative to the activation date. Example: `30D`. **Note**: This value is only returned if `awaitsActivation` is `true` and `expiryDate` is not set. ")
+
+ public String getValidityDuration() {
+ return validityDuration;
+ }
+
+
+ public void setValidityDuration(String validityDuration) {
+ this.validityDuration = validityDuration;
+ }
+
+
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
@@ -427,12 +481,14 @@ public boolean equals(java.lang.Object o) {
Objects.equals(this.cartItemSubPosition, addLoyaltyPointsEffectProps.cartItemSubPosition) &&
Objects.equals(this.cardIdentifier, addLoyaltyPointsEffectProps.cardIdentifier) &&
Objects.equals(this.bundleIndex, addLoyaltyPointsEffectProps.bundleIndex) &&
- Objects.equals(this.bundleName, addLoyaltyPointsEffectProps.bundleName);
+ Objects.equals(this.bundleName, addLoyaltyPointsEffectProps.bundleName) &&
+ Objects.equals(this.awaitsActivation, addLoyaltyPointsEffectProps.awaitsActivation) &&
+ Objects.equals(this.validityDuration, addLoyaltyPointsEffectProps.validityDuration);
}
@Override
public int hashCode() {
- return Objects.hash(name, programId, subLedgerId, value, desiredValue, recipientIntegrationId, startDate, expiryDate, transactionUUID, cartItemPosition, cartItemSubPosition, cardIdentifier, bundleIndex, bundleName);
+ return Objects.hash(name, programId, subLedgerId, value, desiredValue, recipientIntegrationId, startDate, expiryDate, transactionUUID, cartItemPosition, cartItemSubPosition, cardIdentifier, bundleIndex, bundleName, awaitsActivation, validityDuration);
}
@@ -454,6 +510,8 @@ public String toString() {
sb.append(" cardIdentifier: ").append(toIndentedString(cardIdentifier)).append("\n");
sb.append(" bundleIndex: ").append(toIndentedString(bundleIndex)).append("\n");
sb.append(" bundleName: ").append(toIndentedString(bundleName)).append("\n");
+ sb.append(" awaitsActivation: ").append(toIndentedString(awaitsActivation)).append("\n");
+ sb.append(" validityDuration: ").append(toIndentedString(validityDuration)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/src/main/java/one/talon/model/AsyncCouponsData.java b/src/main/java/one/talon/model/AsyncCouponsData.java
index f9382cb..f712d92 100644
--- a/src/main/java/one/talon/model/AsyncCouponsData.java
+++ b/src/main/java/one/talon/model/AsyncCouponsData.java
@@ -45,9 +45,54 @@ public class AsyncCouponsData {
@SerializedName(SERIALIZED_NAME_EMPLOYEE_NAME)
private String employeeName;
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ ASYNCCOUPONSCREATED("AsyncCouponsCreated");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public AsyncCouponsData batchID(String batchID) {
@@ -138,7 +183,7 @@ public void setEmployeeName(String employeeName) {
}
- public AsyncCouponsData notificationType(String notificationType) {
+ public AsyncCouponsData notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -150,12 +195,12 @@ public AsyncCouponsData notificationType(String notificationType) {
**/
@ApiModelProperty(required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java b/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
index 89648a5..1540644 100644
--- a/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
+++ b/src/main/java/one/talon/model/CampaignCollectionEditedNotification.java
@@ -32,9 +32,54 @@
*/
public class CampaignCollectionEditedNotification {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -45,7 +90,7 @@ public class CampaignCollectionEditedNotification {
private List data = null;
- public CampaignCollectionEditedNotification notificationType(String notificationType) {
+ public CampaignCollectionEditedNotification notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -57,12 +102,12 @@ public CampaignCollectionEditedNotification notificationType(String notification
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignCreatedNotification.java b/src/main/java/one/talon/model/CampaignCreatedNotification.java
index 4e56ece..ac08c55 100644
--- a/src/main/java/one/talon/model/CampaignCreatedNotification.java
+++ b/src/main/java/one/talon/model/CampaignCreatedNotification.java
@@ -32,9 +32,54 @@
*/
public class CampaignCreatedNotification {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -45,7 +90,7 @@ public class CampaignCreatedNotification {
private List data = null;
- public CampaignCreatedNotification notificationType(String notificationType) {
+ public CampaignCreatedNotification notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -57,12 +102,12 @@ public CampaignCreatedNotification notificationType(String notificationType) {
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignDeletedNotification.java b/src/main/java/one/talon/model/CampaignDeletedNotification.java
index 49dc486..0cceef4 100644
--- a/src/main/java/one/talon/model/CampaignDeletedNotification.java
+++ b/src/main/java/one/talon/model/CampaignDeletedNotification.java
@@ -32,9 +32,54 @@
*/
public class CampaignDeletedNotification {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -45,7 +90,7 @@ public class CampaignDeletedNotification {
private List data = null;
- public CampaignDeletedNotification notificationType(String notificationType) {
+ public CampaignDeletedNotification notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -57,12 +102,12 @@ public CampaignDeletedNotification notificationType(String notificationType) {
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignEditedNotification.java b/src/main/java/one/talon/model/CampaignEditedNotification.java
index a557b4c..b9e466f 100644
--- a/src/main/java/one/talon/model/CampaignEditedNotification.java
+++ b/src/main/java/one/talon/model/CampaignEditedNotification.java
@@ -32,9 +32,54 @@
*/
public class CampaignEditedNotification {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -45,7 +90,7 @@ public class CampaignEditedNotification {
private List data = null;
- public CampaignEditedNotification notificationType(String notificationType) {
+ public CampaignEditedNotification notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -57,12 +102,12 @@ public CampaignEditedNotification notificationType(String notificationType) {
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
index 06f6fa2..e586fd4 100644
--- a/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
+++ b/src/main/java/one/talon/model/CampaignEvaluationTreeChangedMessage.java
@@ -32,9 +32,54 @@
*/
public class CampaignEvaluationTreeChangedMessage {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -45,7 +90,7 @@ public class CampaignEvaluationTreeChangedMessage {
private List data = null;
- public CampaignEvaluationTreeChangedMessage notificationType(String notificationType) {
+ public CampaignEvaluationTreeChangedMessage notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -57,12 +102,12 @@ public CampaignEvaluationTreeChangedMessage notificationType(String notification
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignLogSummary.java b/src/main/java/one/talon/model/CampaignLogSummary.java
new file mode 100644
index 0000000..7018707
--- /dev/null
+++ b/src/main/java/one/talon/model/CampaignLogSummary.java
@@ -0,0 +1,261 @@
+/*
+ * Talon.One API
+ * Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
+ *
+ * The version of the OpenAPI document:
+ *
+ *
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
+ * https://openapi-generator.tech
+ * Do not edit the class manually.
+ */
+
+
+package one.talon.model;
+
+import java.util.Objects;
+import java.util.Arrays;
+import com.google.gson.TypeAdapter;
+import com.google.gson.annotations.JsonAdapter;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.io.IOException;
+import org.threeten.bp.OffsetDateTime;
+
+/**
+ * Campaign Log Summary
+ */
+@ApiModel(description = "Campaign Log Summary")
+
+public class CampaignLogSummary {
+ public static final String SERIALIZED_NAME_NAME = "name";
+ @SerializedName(SERIALIZED_NAME_NAME)
+ private String name;
+
+ public static final String SERIALIZED_NAME_EMAIL = "email";
+ @SerializedName(SERIALIZED_NAME_EMAIL)
+ private String email;
+
+ public static final String SERIALIZED_NAME_CREATED = "created";
+ @SerializedName(SERIALIZED_NAME_CREATED)
+ private OffsetDateTime created;
+
+ /**
+ * Action performed by the user.
+ */
+ @JsonAdapter(ActionEnum.Adapter.class)
+ public enum ActionEnum {
+ CREATE("create"),
+
+ DELETE("delete"),
+
+ UPDATE("update");
+
+ private String value;
+
+ ActionEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static ActionEnum fromValue(String value) {
+ for (ActionEnum b : ActionEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final ActionEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public ActionEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return ActionEnum.fromValue(value);
+ }
+ }
+ }
+
+ public static final String SERIALIZED_NAME_ACTION = "action";
+ @SerializedName(SERIALIZED_NAME_ACTION)
+ private ActionEnum action;
+
+ public static final String SERIALIZED_NAME_SUMMARY = "summary";
+ @SerializedName(SERIALIZED_NAME_SUMMARY)
+ private String summary;
+
+
+ public CampaignLogSummary name(String name) {
+
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Name of the user that performed the change.
+ * @return name
+ **/
+ @ApiModelProperty(example = "Admin", required = true, value = "Name of the user that performed the change.")
+
+ public String getName() {
+ return name;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public CampaignLogSummary email(String email) {
+
+ this.email = email;
+ return this;
+ }
+
+ /**
+ * E-mail of the user that performed the change.
+ * @return email
+ **/
+ @ApiModelProperty(example = "admin@talon.one", required = true, value = "E-mail of the user that performed the change.")
+
+ public String getEmail() {
+ return email;
+ }
+
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+
+ public CampaignLogSummary created(OffsetDateTime created) {
+
+ this.created = created;
+ return this;
+ }
+
+ /**
+ * Date and time the change was performed.
+ * @return created
+ **/
+ @ApiModelProperty(required = true, value = "Date and time the change was performed.")
+
+ public OffsetDateTime getCreated() {
+ return created;
+ }
+
+
+ public void setCreated(OffsetDateTime created) {
+ this.created = created;
+ }
+
+
+ public CampaignLogSummary action(ActionEnum action) {
+
+ this.action = action;
+ return this;
+ }
+
+ /**
+ * Action performed by the user.
+ * @return action
+ **/
+ @ApiModelProperty(example = "create", required = true, value = "Action performed by the user.")
+
+ public ActionEnum getAction() {
+ return action;
+ }
+
+
+ public void setAction(ActionEnum action) {
+ this.action = action;
+ }
+
+
+ public CampaignLogSummary summary(String summary) {
+
+ this.summary = summary;
+ return this;
+ }
+
+ /**
+ * AI-generated summary of the action performed.
+ * @return summary
+ **/
+ @ApiModelProperty(required = true, value = "AI-generated summary of the action performed.")
+
+ public String getSummary() {
+ return summary;
+ }
+
+
+ public void setSummary(String summary) {
+ this.summary = summary;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ CampaignLogSummary campaignLogSummary = (CampaignLogSummary) o;
+ return Objects.equals(this.name, campaignLogSummary.name) &&
+ Objects.equals(this.email, campaignLogSummary.email) &&
+ Objects.equals(this.created, campaignLogSummary.created) &&
+ Objects.equals(this.action, campaignLogSummary.action) &&
+ Objects.equals(this.summary, campaignLogSummary.summary);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, email, created, action, summary);
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class CampaignLogSummary {\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" email: ").append(toIndentedString(email)).append("\n");
+ sb.append(" created: ").append(toIndentedString(created)).append("\n");
+ sb.append(" action: ").append(toIndentedString(action)).append("\n");
+ sb.append(" summary: ").append(toIndentedString(summary)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+
+}
+
diff --git a/src/main/java/one/talon/model/CampaignNotificationBase.java b/src/main/java/one/talon/model/CampaignNotificationBase.java
index c10d999..f60acde 100644
--- a/src/main/java/one/talon/model/CampaignNotificationBase.java
+++ b/src/main/java/one/talon/model/CampaignNotificationBase.java
@@ -29,16 +29,61 @@
*/
public class CampaignNotificationBase {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
private Long totalResultSize;
- public CampaignNotificationBase notificationType(String notificationType) {
+ public CampaignNotificationBase notificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
return this;
@@ -50,12 +95,12 @@ public CampaignNotificationBase notificationType(String notificationType) {
**/
@ApiModelProperty(example = "CampaignNotification", required = true, value = "The type of the notification")
- public String getNotificationType() {
+ public NotificationTypeEnum getNotificationType() {
return notificationType;
}
- public void setNotificationType(String notificationType) {
+ public void setNotificationType(NotificationTypeEnum notificationType) {
this.notificationType = notificationType;
}
diff --git a/src/main/java/one/talon/model/CampaignNotificationGeneric.java b/src/main/java/one/talon/model/CampaignNotificationGeneric.java
index 94d3ab8..5431535 100644
--- a/src/main/java/one/talon/model/CampaignNotificationGeneric.java
+++ b/src/main/java/one/talon/model/CampaignNotificationGeneric.java
@@ -31,9 +31,54 @@
*/
public class CampaignNotificationGeneric {
+ /**
+ * The type of the notification
+ */
+ @JsonAdapter(NotificationTypeEnum.Adapter.class)
+ public enum NotificationTypeEnum {
+ CAMPAIGNNOTIFICATION("CampaignNotification");
+
+ private String value;
+
+ NotificationTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static NotificationTypeEnum fromValue(String value) {
+ for (NotificationTypeEnum b : NotificationTypeEnum.values()) {
+ if (b.value.equals(value)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + value + "'");
+ }
+
+ public static class Adapter extends TypeAdapter {
+ @Override
+ public void write(final JsonWriter jsonWriter, final NotificationTypeEnum enumeration) throws IOException {
+ jsonWriter.value(enumeration.getValue());
+ }
+
+ @Override
+ public NotificationTypeEnum read(final JsonReader jsonReader) throws IOException {
+ String value = jsonReader.nextString();
+ return NotificationTypeEnum.fromValue(value);
+ }
+ }
+ }
+
public static final String SERIALIZED_NAME_NOTIFICATION_TYPE = "NotificationType";
@SerializedName(SERIALIZED_NAME_NOTIFICATION_TYPE)
- private String notificationType;
+ private NotificationTypeEnum notificationType;
public static final String SERIALIZED_NAME_TOTAL_RESULT_SIZE = "TotalResultSize";
@SerializedName(SERIALIZED_NAME_TOTAL_RESULT_SIZE)
@@ -44,7 +89,7 @@ public class CampaignNotificationGeneric {
private List