Management API reference docs (1.0.0)
Download OpenAPI specification:Download
The Talon.One Management API is the channel between the Campaign Manager and the Rule Engine. For more background information about this API, see Management API overview
Use the Management API to programmatically do what the Campaign Manager does. For example, use it for management purposes and backoffice systems.
Ensure you authenticate to make requests to the API.
Warnings:
- This API is not meant to be used in real-time integrations that directly serve your end users.
- This API supports a maximum of 3 requests per second for each of these endpoints.
Are you looking for a different API? If you need the API to:
- Integrate with Talon.One directly and send real-time data, see the Integration API reference docs.
- Integrate with Talon.One from a CEP or CDP platform, see the Third-party API reference docs.
manager_auth
To authenticate in order to use the Management API:
- Get a bearer token by calling the createSession endpoint.
- Use the
token
property of the response in the HTTP header of your next queries:Authorization: Bearer $TOKEN
.
A token is valid for 3 months. In accordance with best pratices, use your generated token for all your API requests. Do not regenerate a token for each request.
Security Scheme Type | API Key |
---|---|
Header parameter name: | Authorization |
Operations for updating account information such as billing email addresses, inviting users, etc.
List users in account
Retrieve all users in your account.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "modified": "2021-09-12T10:12:42Z",
- "email": "john.doe@example.com",
- "accountId": 3886,
- "inviteToken": "Gy9b8w1irmQtEPo5RmbMmSPheL5h4",
- "state": "invited",
- "name": "John Doe",
- "policy": {
- "Role": 127,
- "Applications": null
}, - "latestFeedTimestamp": "2020-06-01T00:00:00Z",
- "roles": [
- 71
], - "applicationNotificationSubscriptions": null,
- "authMethod": "basic_auth"
}
]
}
Get user
Retrieve the data (including an invitation code) for a user. Non-admin users can only get their own profile.
Authorizations:
path Parameters
userId required | integer The ID of the user. |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "modified": "2021-09-12T10:12:42Z",
- "email": "john.doe@example.com",
- "accountId": 3886,
- "inviteToken": "Gy9b8w1irmQtEPo5RmbMmSPheL5h4",
- "state": "invited",
- "name": "John Doe",
- "policy": {
- "Role": 127,
- "Applications": null
}, - "latestFeedTimestamp": "2020-06-01T00:00:00Z",
- "roles": [
- 71
], - "applicationNotificationSubscriptions": null,
- "authMethod": "basic_auth"
}
Request a password reset
Send an email with a password recovery link to the email address of an existing account.
Authorizations:
Request Body schema: application/json
email required | string <email> non-empty |
Responses
Request samples
- Payload
{- "email": "user@example.com"
}
Response samples
- 204
{- "email": "user@example.com"
}
Reset password
Consumes the supplied password reset token and updates the password for the associated account.
Authorizations:
Request Body schema: application/json
password required | string The new password for your account. |
resetToken required | string non-empty |
Responses
Request samples
- Payload
{- "password": "string",
- "resetToken": "string"
}
Response samples
- 204
{- "password": "string",
- "resetToken": "string"
}
Get account details
Return the details of your companies Talon.One account.
Authorizations:
path Parameters
accountId required | integer The identifier of the account. Retrieve it via the
List users in account endpoint, in the |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "modified": "2021-09-12T10:12:42Z",
- "companyName": "string",
- "domainName": "string",
- "state": "active",
- "billingEmail": "user@example.com",
- "planName": "string",
- "planExpires": "2019-08-24T14:15:22Z",
- "applicationLimit": 0,
- "userLimit": 0,
- "campaignLimit": 0,
- "apiLimit": 0,
- "applicationCount": 0,
- "userCount": 0,
- "campaignsActiveCount": 0,
- "campaignsInactiveCount": 0,
- "attributes": { }
}
Get account analytics
Return the analytics of your Talon.One account.
Authorizations:
path Parameters
accountId required | integer The identifier of the account. Retrieve it via the
List users in account endpoint, in the |
Responses
Response samples
- 200
{- "applications": 11,
- "liveApplications": 6,
- "sandboxApplications": 2,
- "campaigns": 35,
- "activeCampaigns": 15,
- "liveActiveCampaigns": 10,
- "coupons": 850,
- "activeCoupons": 650,
- "expiredCoupons": 200,
- "referralCodes": 500,
- "activeReferralCodes": 100,
- "expiredReferralCodes": 400,
- "activeRules": 35,
- "users": 0,
- "roles": 10,
- "customAttributes": 18,
- "webhooks": 2,
- "loyaltyPrograms": 5,
- "liveLoyaltyPrograms": 5
}
An extra fee applied to the cart. For example, shipping fees, or processing fees. See the docs.
Create additional cost
Create an additional cost.
These additional costs are shared across all applications in your account, and are never required.
Authorizations:
Request Body schema: application/json
name required | string^[A-Za-z](\w|\s)*$ The additional cost name that will be used in API requests and Talang. E.g. if |
title required | string^[A-Za-z][A-Za-z0-9_.!~*'() -]*$ The human-readable name for the additional cost that will be shown in the Campaign Manager. Like |
description required | string A description of this additional cost. |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the applications that are subscribed to this additional cost |
type | string Default: "session" Enum: "session" "item" "both" The type of additional cost. The following options can be chosen:
|
Responses
Request samples
- Payload
{- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
Response samples
- 201
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
List additional costs
Returns all the defined additional costs for the account.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
]
}
Get additional cost
Returns the additional cost.
Authorizations:
path Parameters
additionalCostId required | integer |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
Update additional cost
Updates an existing additional cost. Once created, the only property of an additional cost that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations.
Authorizations:
path Parameters
additionalCostId required | integer |
Request Body schema: application/json
name required | string^[A-Za-z](\w|\s)*$ The additional cost name that will be used in API requests and Talang. E.g. if |
title required | string^[A-Za-z][A-Za-z0-9_.!~*'() -]*$ The human-readable name for the additional cost that will be shown in the Campaign Manager. Like |
description required | string A description of this additional cost. |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the applications that are subscribed to this additional cost |
type | string Default: "session" Enum: "session" "item" "both" The type of additional cost. The following options can be chosen:
|
Responses
Request samples
- Payload
{- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "name": "string",
- "title": "string",
- "description": "string",
- "subscribedApplicationsIds": [
- 0
], - "type": "session"
}
Analytics are used to retrieve statistical data about the performance of campaigns within an application.
Export triggered effects to CSV file
Download a file containing the triggered effects that match the given attributes.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
campaignId | number Filter results by campaign. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
dateFormat | string Enum: "excel" "ISO8601" Determines the format of dates in the export document. |
Responses
Export customer sessions to CSV file
Download a file containing the customer sessions that match the request.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string. |
profileIntegrationId | string Only return sessions for the customer that matches this customer integration ID. |
dateFormat | string Enum: "excel" "ISO8601" Determines the format of dates in the export document. |
customerSessionState | string Enum: "open" "closed" "partially_returned" "cancelled" Filter results by state. |
Responses
Represents an Application in the Campaign Manager, see the docs. It is also the target of every Integration API request to Talon.One.
One Application can hold various API keys used for Integration API requests.
You may have multiple Applications within one account, for example staging and production, or different international markets.
List applications
List all applications in the current account.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "modified": "2021-09-12T10:12:42Z",
- "accountId": 3886,
- "name": "My Application",
- "description": "A test Application",
- "timezone": "Europe/Berlin",
- "currency": "EUR",
- "caseSensitivity": "sensitive",
- "attributes": { },
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignPriority": "universal",
- "exclusiveCampaignsStrategy": "listOrder",
- "defaultDiscountScope": "sessionTotal",
- "enableCascadingDiscounts": true,
- "enableFlattenedCartItems": true,
- "attributesSettings": {
- "mandatory": {
- "campaigns": [
- "string"
], - "coupons": [
- "string"
]
}
}, - "sandbox": true,
- "enablePartialDiscounts": false,
- "defaultDiscountAdditionalCostPerItemScope": "price",
- "loyaltyPrograms": [
- {
- "id": 0,
- "created": "2020-06-10T09:05:27.993483Z",
- "title": "Point collection",
- "description": "Customers collect 10 points per 1$ spent",
- "subscribedApplications": [
- 132,
- 97
], - "defaultValidity": "unlimited",
- "defaultPending": "immediate",
- "allowSubledger": false,
- "usersPerCardLimit": 111,
- "accountID": 1,
- "name": "my_program",
- "tiers": [
- {
- "name": "Gold",
- "minPoints": 300,
- "id": 3,
- "created": "2021-06-10T09:05:27.993483Z",
- "programID": 139
}, - {
- "name": "Silver",
- "minPoints": 200,
- "id": 2,
- "created": "2021-06-10T09:04:59.355258Z",
- "programId": 139
}, - {
- "name": "Bronze",
- "minPoints": 100,
- "id": 1,
- "created": "2021-06-10T09:04:39.355258Z",
- "programId": 139
}
], - "timezone": "Europe/Berlin",
- "cardBased": true
}
]
}
]
}
Get application
Get the application specified by the ID.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "modified": "2021-09-12T10:12:42Z",
- "accountId": 3886,
- "name": "My Application",
- "description": "A test Application",
- "timezone": "Europe/Berlin",
- "currency": "EUR",
- "caseSensitivity": "sensitive",
- "attributes": { },
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignPriority": "universal",
- "exclusiveCampaignsStrategy": "listOrder",
- "defaultDiscountScope": "sessionTotal",
- "enableCascadingDiscounts": true,
- "enableFlattenedCartItems": true,
- "attributesSettings": {
- "mandatory": {
- "campaigns": [
- "string"
], - "coupons": [
- "string"
]
}
}, - "sandbox": true,
- "enablePartialDiscounts": false,
- "defaultDiscountAdditionalCostPerItemScope": "price",
- "loyaltyPrograms": [
- {
- "id": 0,
- "created": "2020-06-10T09:05:27.993483Z",
- "title": "Point collection",
- "description": "Customers collect 10 points per 1$ spent",
- "subscribedApplications": [
- 132,
- 97
], - "defaultValidity": "unlimited",
- "defaultPending": "immediate",
- "allowSubledger": false,
- "usersPerCardLimit": 111,
- "accountID": 1,
- "name": "my_program",
- "tiers": [
- {
- "name": "Gold",
- "minPoints": 300,
- "id": 3,
- "created": "2021-06-10T09:05:27.993483Z",
- "programID": 139
}, - {
- "name": "Silver",
- "minPoints": 200,
- "id": 2,
- "created": "2021-06-10T09:04:59.355258Z",
- "programId": 139
}, - {
- "name": "Bronze",
- "minPoints": 100,
- "id": 1,
- "created": "2021-06-10T09:04:39.355258Z",
- "programId": 139
}
], - "timezone": "Europe/Berlin",
- "cardBased": true
}
]
}
Get report of health of application API
Display the health of the application and show the last time the Application was used.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
Responses
Response samples
- 200
{- "summary": "OK",
- "lastUsed": "2021-09-12T10:12:42Z"
}
Represents a piece of information related to one of the entities avaialbe in the Campaign Manager. Use them to create highly customized rules. See the docs.
Create custom attribute
Create a custom attribute in this account. Custom attributes allow you to attach new fields to Talon.One domain objects like campaigns, coupons, customers and so on.
These attributes can then be given values when creating/updating these objects, and these values can be
used in your campaign rules. For example, you could define a zipCode
field for customer sessions,
and add a rule to your campaign that only allows certain ZIP codes.
These attributes are shared across all applications in your account, and are never required.
Authorizations:
Request Body schema: application/json
entity required | string Enum: "Account" "Application" "Campaign" "CustomerProfile" "CustomerSession" "CartItem" "Coupon" … 3 more The name of the entity that can have this attribute. When creating or updating the entities of a given type, you can include an |
name required | string^[A-Za-z]\w*$ The attribute name that will be used in API requests and Talang. E.g. if |
title required | string^[A-Za-z][A-Za-z0-9_.!~*'() -]*$ The human-readable name for the attribute that will be shown in the Campaign Manager. Like |
type required | string Enum: "string" "number" "boolean" "time" "(list string)" "(list number)" "(list time)" … 2 more The data type of the attribute, a |
description required | string A description of this attribute. |
suggestions required | Array of strings <= 50 items [ items non-empty ] A list of suggestions for the attribute. |
editable required | boolean Whether or not this attribute can be edited. |
eventType | string |
hasAllowedList | boolean Default: false Whether or not this attribute has an allowed list of values associated with it. |
restrictedBySuggestions | boolean Default: false Whether or not this attribute's value is restricted by suggestions ( |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the applications that are subscribed to this attribute |
Responses
Request samples
- Payload
{- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
]
}
Response samples
- 201
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
], - "eventTypeId": 22
}
List custom attributes
Returns all the defined custom attributes for the account.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
entity | string Returned attributes will be filtered by supplied entity |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
], - "eventTypeId": 22
}
]
}
Get custom attribute
Returns custom attribute for the account by its id.
Authorizations:
path Parameters
attributeId required | integer |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
], - "eventTypeId": 22
}
Update custom attribute
Updates an existing custom attribute. Once created, the only property of a custom attribute that can be changed is the title (human readable description). This restriction is in place to prevent accidentally breaking live integrations. E.g. if you have a customer profile attribute with the name region
, and your integration is sending attributes.region
with customer profile updates, changing the name to locale
would cause the integration requests to begin failing.
If you really need to change the type
or name
property of a custom attribute, create a new attribute and update any relevant integrations and rules to use the new attribute. Then delete the old attribute when you are confident you have migrated any needed data from the old attribute to the new one.
Authorizations:
path Parameters
attributeId required | integer |
Request Body schema: application/json
entity required | string Enum: "Account" "Application" "Campaign" "CustomerProfile" "CustomerSession" "CartItem" "Coupon" … 3 more The name of the entity that can have this attribute. When creating or updating the entities of a given type, you can include an |
name required | string^[A-Za-z]\w*$ The attribute name that will be used in API requests and Talang. E.g. if |
title required | string^[A-Za-z][A-Za-z0-9_.!~*'() -]*$ The human-readable name for the attribute that will be shown in the Campaign Manager. Like |
type required | string Enum: "string" "number" "boolean" "time" "(list string)" "(list number)" "(list time)" … 2 more The data type of the attribute, a |
description required | string A description of this attribute. |
suggestions required | Array of strings <= 50 items [ items non-empty ] A list of suggestions for the attribute. |
editable required | boolean Whether or not this attribute can be edited. |
eventType | string |
hasAllowedList | boolean Default: false Whether or not this attribute has an allowed list of values associated with it. |
restrictedBySuggestions | boolean Default: false Whether or not this attribute's value is restricted by suggestions ( |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the applications that are subscribed to this attribute |
Responses
Request samples
- Payload
{- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
]
}
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "entity": "Account",
- "eventType": "string",
- "name": "string",
- "title": "string",
- "type": "string",
- "description": "string",
- "suggestions": [
- "string"
], - "hasAllowedList": false,
- "restrictedBySuggestions": false,
- "editable": true,
- "subscribedApplicationsIds": [
- 0
], - "eventTypeId": 22
}
Import allowed values for attribute
Upload a CSV file containing a list of allowed values for the specified attribute. These values are also called picklist values.
The file should be sent as multipart data.
The import replaces the previous list of allowed values for this attribute, if any.
The CSV file must only contain the following column:
item
(required): the values in your allowed list, for example a list of SKU's.
An allowed list is limited to 500,000 items.
Example:
item
CS-VG-04032021-UP-50D-10
CS-DV-04042021-UP-49D-12
CS-DG-02082021-UP-50G-07
Authorizations:
path Parameters
attributeId required | integer |
Request Body schema: multipart/form-data
upFile | string <csv> The file with the information about the data that should be imported. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "userId": 0,
- "entity": "AttributeAllowedList",
- "amount": 10
}
Get value suggestions for catalog item attributes
Provide value suggestions for catalog item attributes according to the query.
Authorizations:
path Parameters
catalogId required | integer |
attributeId required | integer |
query Parameters
query required | string |
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "hasMore": true,
- "data": [
- "string"
]
}
List audiences
Get all audiences created in the account. To create an audience, use Create audience.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
Responses
Response samples
- 200
{- "hasMore": true,
- "totalResultSize": 0,
- "data": [
- {
- "accountId": 3886,
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "name": "Travel audience",
- "integration": "mparticle",
- "integrationId": "382370BKDB946"
}
]
}
Create campaign from campaign template
Use the campaign template referenced in the request body to create a new campaign in one of the connected Applications.
If the template was created from a campaign with rules referencing campaign collections, the corresponding collections for the new campaign are created automatically.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
name required | string non-empty A user-facing name for this campaign. |
templateId required | integer The ID of the Campaign Template which will be used in order to create the Campaign. |
description | string A detailed description of the campaign. |
object Custom Campaign Attributes. If the Campaign Template defines the same values, they will be overridden. | |
Array of objects[ items ] Actual values to replace the template placeholder values in the Ruleset bindings. Values for all Template Parameters must be provided. | |
Array of objects[ items ] Limits for this Campaign. If the Campaign Template or Application define default values for the same limits, they will be overridden. | |
tags | Array of strings <= 50 items [ items [ 1 .. 50 ] characters ] A list of tags for the campaign. If the campaign template has tags, they will be overridden by this list. |
Responses
Request samples
- Payload
{- "name": "Discount campaign",
- "description": "This template is for discount campaigns.",
- "templateId": 4,
- "campaignAttributesOverrides": { },
- "templateParamValues": [
- {
- "name": "my property",
- "type": "templateParameter",
- "expression": [
- { }
], - "valueType": "string"
}
], - "limitOverrides": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "tags": [
- "summer"
]
}
Response samples
- 201
{- "campaign": {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}, - "ruleset": {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "userId": 0,
- "rules": [
- {
- "title": "Give discount via coupon",
- "description": "Creates a discount when a coupon is valid",
- "bindings": [
- {
- "name": "my property",
- "type": "templateParameter",
- "expression": [
- { }
], - "valueType": "string"
}
], - "condition": [
- "and",
- [
- "couponValid"
]
], - "effects": [
- "catch",
- [
- "noop"
], - [
- "setDiscount",
- "10% off",
- [
- "*",
- [
- ".",
- "Session",
- "Total"
], - [
- "/",
- 10,
- 100
]
]
]
]
}
], - "bindings": [ ],
- "rbVersion": "v2",
- "activate": true,
- "campaignId": 320,
- "templateId": 3,
- "activatedAt": "2019-08-24T14:15:22Z"
}, - "collections": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
]
}
Campaigns are the primary resource used to control the behavior of the Talon.One Rule Engine. They combine rulesets, coupons, and limits into a single unit.
List campaigns
List the campaigns of the specified application that match your filter criteria.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
campaignState | string Enum: "enabled" "disabled" "archived" "draft" "scheduled" "running" "expired" Filter results by the state of the campaign.
|
name | string Filter results performing case-insensitive matching against the name of the campaign. |
tags | string Filter results performing case-insensitive matching against the tags of the campaign. When used in conjunction with the "name" query parameter, a logical OR will be performed to search both tags and name for the provided values |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the campaign creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
campaignGroupId | integer Filter results to campaigns owned by the specified campaign group ID. |
templateId | integer The ID of the Campaign Template this Campaign was created from. |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}
]
}
Get campaign
Retrieve the given campaign.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Responses
Response samples
- 200
{- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}
Update campaign
Update the given campaign.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
name required | string non-empty A user-facing name for this campaign. |
tags required | Array of strings <= 50 items [ items [ 1 .. 50 ] characters ] A list of tags for the campaign. |
required | Array of objects[ items ] The set of limits that will operate for this campaign |
features required | Array of strings Items Enum: "coupons" "referrals" "loyalty" "giveaways" A list of features for the campaign. |
description | string A detailed description of the campaign. |
startTime | string <date-time> Timestamp when the campaign will become active. |
endTime | string <date-time> Timestamp when the campaign will become inactive. |
object Arbitrary properties associated with this campaign | |
state | string Default: "enabled" Enum: "enabled" "disabled" "archived" A disabled or archived campaign is not evaluated for rules or coupons. |
activeRulesetId | integer ID of Ruleset this campaign applies on customer session evaluation. |
object | |
object | |
campaignGroups | Array of integers[ items ] The IDs of the campaign groups that own this entity. |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "string"
], - "features": [
- "coupons"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 0
]
}
Response samples
- 200
{- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}
Copy the campaign into the specified application
Copy the campaign into all specified application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
applicationIds required | Array of integers[ items ] Application IDs of the applications to which a campaign should be copied to |
name | string Name of the copied campaign (Defaults to "Copy of original campaign name") |
description | string A detailed description of the campaign. |
startTime | string <date-time> Timestamp when the campaign will become active. |
endTime | string <date-time> Timestamp when the campaign will become inactive. |
tags | Array of strings <= 50 items [ items [ 1 .. 50 ] characters ] A list of tags for the campaign. |
Responses
Request samples
- Payload
{- "name": "string",
- "applicationIds": [
- 0
], - "description": "string",
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
]
}
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}
]
}
List campaigns that match the given attributes
Get a list of all the campaigns that match a set of attributes.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
campaignState | string Enum: "enabled" "disabled" "archived" "draft" "scheduled" "running" "expired" Filter results by the state of the campaign.
|
Request Body schema: application/json
required | object Properties to match against a campaign. All provided attributes will be exactly matched against campaign attributes | ||
|
Responses
Request samples
- Payload
{- "attributes": { }
}
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "userId": 0,
- "name": "Summer promotions",
- "description": "Campaign for all summer 2021 promotions",
- "startTime": "2021-07-20T22:00:00Z",
- "endTime": "2021-09-22T22:00:00Z",
- "attributes": { },
- "state": "enabled",
- "activeRulesetId": 0,
- "tags": [
- "summer"
], - "features": [
- "coupons",
- "referrals"
], - "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "referralSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "campaignGroups": [
- 1,
- 3
], - "couponRedemptionCount": 0,
- "referralRedemptionCount": 0,
- "discountCount": 0,
- "discountEffectCount": 0,
- "couponCreationCount": 0,
- "customEffectCount": 0,
- "referralCreationCount": 0,
- "addFreeItemEffectCount": 0,
- "awardedGiveawaysCount": 0,
- "createdLoyaltyPointsCount": 0,
- "createdLoyaltyPointsEffectCount": 0,
- "redeemedLoyaltyPointsCount": 0,
- "redeemedLoyaltyPointsEffectCount": 0,
- "callApiEffectCount": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "updated": "2019-08-24T14:15:22Z",
- "createdBy": "John Doe",
- "updatedBy": "Jane Doe",
- "templateId": 3
}
]
}
List campaign rulesets
List all rulesets of this campaign. A ruleset is a revision of the rules of a campaign. Important: The response also includes deleted rules. You should only consider the latest revision of the returned rulesets.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "userId": 0,
- "rules": [
- {
- "title": "Give discount via coupon",
- "description": "Creates a discount when a coupon is valid",
- "bindings": [
- {
- "name": "my property",
- "type": "templateParameter",
- "expression": [
- { }
], - "valueType": "string"
}
], - "condition": [
- "and",
- [
- "couponValid"
]
], - "effects": [
- "catch",
- [
- "noop"
], - [
- "setDiscount",
- "10% off",
- [
- "*",
- [
- ".",
- "Session",
- "Total"
], - [
- "/",
- 10,
- 100
]
]
]
]
}
], - "bindings": [ ],
- "rbVersion": "v2",
- "activate": true,
- "campaignId": 320,
- "templateId": 3,
- "activatedAt": "2019-08-24T14:15:22Z"
}
]
}
Get ruleset
Retrieve the specified ruleset.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
rulesetId required | integer |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "userId": 0,
- "rules": [
- {
- "title": "Give discount via coupon",
- "description": "Creates a discount when a coupon is valid",
- "bindings": [
- {
- "name": "my property",
- "type": "templateParameter",
- "expression": [
- { }
], - "valueType": "string"
}
], - "condition": [
- "and",
- [
- "couponValid"
]
], - "effects": [
- "catch",
- [
- "noop"
], - [
- "setDiscount",
- "10% off",
- [
- "*",
- [
- ".",
- "Session",
- "Total"
], - [
- "/",
- 10,
- 100
]
]
]
]
}
], - "bindings": [ ],
- "rbVersion": "v2",
- "activate": true,
- "campaignId": 320,
- "templateId": 3,
- "activatedAt": "2019-08-24T14:15:22Z"
}
Get analytics of campaigns
Retrieve statistical data about the performance of the given campaign.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
rangeStart required | string <date-time> Only return results from after this timestamp, must be an RFC3339 timestamp string |
rangeEnd required | string <date-time> Only return results from before this timestamp, must be an RFC3339 timestamp string |
granularity | string Enum: "1 hour" "1 day" "1 week" "1 month" "1 year" The time interval between the results in the returned time-series. |
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "date": "2019-08-24T14:15:22Z",
- "campaignRevenue": 0,
- "totalCampaignRevenue": 0,
- "campaignRefund": 0,
- "totalCampaignRefund": 0,
- "campaignDiscountCosts": 0,
- "totalCampaignDiscountCosts": 0,
- "campaignRefundedDiscounts": 0,
- "totalCampaignRefundedDiscounts": 0,
- "campaignFreeItems": 0,
- "totalCampaignFreeItems": 0,
- "couponRedemptions": 0,
- "totalCouponRedemptions": 0,
- "couponRolledbackRedemptions": 0,
- "totalCouponRolledbackRedemptions": 0,
- "referralRedemptions": 0,
- "totalReferralRedemptions": 0,
- "couponsCreated": 0,
- "totalCouponsCreated": 0,
- "referralsCreated": 0,
- "totalReferralsCreated": 0,
- "addedLoyaltyPoints": 0,
- "totalAddedLoyaltyPoints": 0,
- "deductedLoyaltyPoints": 0,
- "totalDeductedLoyaltyPoints": 0
}
]
}
Get value suggestions for catalog item attributes
Provide value suggestions for catalog item attributes according to the query.
Authorizations:
path Parameters
catalogId required | integer |
attributeId required | integer |
query Parameters
query required | string |
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "hasMore": true,
- "data": [
- "string"
]
}
Represents a collection of arbitrary values that you can use inside rules. For example, a list of SKUs. See the documentation.
List collections in account
List collections in account.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
name | string Filter by the name of the Collection. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "hasMore": true,
- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7
}
]
}
Create account-level collection
Create account-level collection.
Authorizations:
Request Body schema: application/json
name required | string non-empty ^[^[:cntrl:]\s][^[:cntrl:]]*$ The name of this collection. |
description | string A short description of the purpose of this collection. |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the Applications where this collection is enabled. |
Responses
Request samples
- Payload
{- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection"
}
Response samples
- 201
- 400
- 401
- 409
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
Get account-level collection
Retrieve the given account-level collection
Authorizations:
path Parameters
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Response samples
- 200
- 404
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
Delete account-level collection
Delete the given account-level collection
Authorizations:
path Parameters
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Response samples
- 404
{- "message": "string",
- "errors": [
- {
- "title": "string",
- "details": "string",
- "source": {
- "pointer": "string",
- "parameter": "string",
- "line": "string",
- "resource": "string"
}
}
], - "StatusCode": 0
}
Update account-level collection description and connected Applications
Edit the description of the account-level collection and enable or disable the collection in different Applications.
Authorizations:
path Parameters
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Request Body schema: application/json
description | string A short description of the purpose of this collection. |
subscribedApplicationsIds | Array of integers[ items ] A list of the IDs of the Applications where this collection is enabled. |
Responses
Request samples
- Payload
{- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
]
}
Response samples
- 200
- 400
- 401
- 409
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
List collections in application
List collections from all campaigns in the Application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
name | string Filter by the name of the Collection. |
Responses
Response samples
- 200
- 404
{- "hasMore": true,
- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
]
}
List collections
List collections in the campaign.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
name | string Filter by the name of the Collection. |
Responses
Response samples
- 200
- 404
{- "hasMore": true,
- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
]
}
Create collection
Create a collection.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
name required | string non-empty ^[^[:cntrl:]\s][^[:cntrl:]]*$ The name of this collection. |
description | string A short description of the purpose of this collection. |
Responses
Request samples
- Payload
{- "description": "My collection of SKUs",
- "name": "My collection"
}
Response samples
- 201
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
Get collection
Retrieve the given collection.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Response samples
- 200
- 404
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
Update collection description
Edit the description of the collection.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Request Body schema: application/json
description | string A short description of the purpose of this collection. |
Responses
Request samples
- Payload
{- "description": "My collection of SKUs"
}
Response samples
- 200
- 401
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "modified": "2021-09-12T10:12:42Z",
- "description": "My collection of SKUs",
- "subscribedApplicationsIds": [
- 1,
- 2,
- 3
], - "name": "My collection",
- "modifiedBy": 48,
- "createdBy": 134,
- "applicationId": 1,
- "campaignId": 7,
- "payload": [
- "KTL-WH-ET-1",
- "KTL-BL-ET-1"
]
}
Delete collection
Delete the given collection.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Response samples
- 401
{- "message": "string",
- "errors": [
- {
- "title": "string",
- "details": "string",
- "source": {
- "pointer": "string",
- "parameter": "string",
- "line": "string",
- "resource": "string"
}
}
], - "StatusCode": 0
}
Import data in existing collection via CSV file
Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data.
The import replaces the initial content of the collection.
The CSV file must only contain the following column:
item
: the values in your collection.
A collection is limited to 500,000 items.
Example:
item
Addidas
Nike
Asics
Note: Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Request Body schema: multipart/form-data
upFile | string <csv> The file with the information about the data that should be imported. |
Responses
Response samples
- 200
- 401
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "userId": 0,
- "entity": "AttributeAllowedList",
- "amount": 10
}
Import data in existing account-level collection via CSV file
Upload a CSV file containing the collection of string values that should be attached as payload for collection. The file should be sent as multipart data.
The import replaces the initial content of the collection.
The CSV file must only contain the following column:
item
: the values in your collection.
A collection is limited to 500,000 items.
Example:
item
Addidas
Nike
Asics
Note: Before sending a request to this endpoint, ensure the data in the CSV to import is different from the data currently stored in the collection.
Authorizations:
path Parameters
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Request Body schema: multipart/form-data
upFile | string <csv> The file with the information about the data that should be imported. |
Responses
Response samples
- 200
- 400
- 401
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "userId": 0,
- "entity": "AttributeAllowedList",
- "amount": 10
}
Export account-level collection items to CSV file
Download a file containing an account-level collection's items.
Authorizations:
path Parameters
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Export a collection's items to CSV file
Download a file containing a collection's items.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
collectionId required | integer The ID of the collection. You can get it with the List collection in account endpoint. |
Responses
Coupons are unique codes belonging to a particular campaign. They don't define any behavior on their own, instead the campaign ruleset can include rules that validate coupons and carry out particular effects.
Create coupons for multiple recipients
Create coupons according to some pattern for up to 1000 recipients.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
silent | string Default: "yes" Possible values:
|
Request Body schema: application/json
recipientsIntegrationIds required | Array of strings [ 1 .. 1000 ] items The integration IDs for recipients |
usageLimit required | integer [ 0 .. 999999 ] The number of times the coupon code can be redeemed. |
discountLimit | number [ 0 .. 999999 ] The amount of discounts that can be given with this coupon code. |
startDate | string <date-time> >= 0 Timestamp at which point the coupon becomes valid. |
expiryDate | string <date-time> >= 0 Expiry date of the coupon. Coupon never expires if this is omitted, zero, or negative. |
object Arbitrary properties associated with this item | |
validCharacters | Array of strings List of characters used to generate the random parts of a code. By default, the list of
characters is equivalent to the |
couponPattern | string [ 3 .. 100 ] characters The pattern used to generate coupon codes. The character |
Responses
Request samples
- Payload
{- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "attributes": { },
- "recipientsIntegrationIds": [
- "string"
], - "validCharacters": [
- "string"
], - "couponPattern": "string"
}
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
]
}
Create coupons asynchronously
Create any number of coupons from 20,001 to 5,000,000.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
numberOfCoupons required | integer <= 5000000 The number of new coupon codes to generate for the campaign. Must be between 20,001 and 5,000,000. |
usageLimit required | integer [ 0 .. 999999 ] The number of times the coupon code can be redeemed. |
required | object Arbitrary properties associated with coupons |
discountLimit | number [ 0 .. 999999 ] The amount of discounts that can be given with this coupon code. |
startDate | string <date-time> >= 0 Timestamp at which point the coupon becomes valid. |
expiryDate | string <date-time> >= 0 Expiry date of the coupon. Coupon never expires if this is omitted, zero, or negative. |
object |
Responses
Request samples
- Payload
{- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "numberOfCoupons": 200000,
- "couponSettings": {
- "validCharacters": [
- "A",
- "B",
- "C",
- "D",
- "E",
- "2",
- "0"
], - "couponPattern": "SUMMER-####-####"
}, - "attributes": { }
}
Response samples
- 200
{- "batchId": "tqyrgahe"
}
Create coupons
Create coupons according to some pattern. Up to 20.000 coupons can be created without a unique prefix. When a unique prefix is provided, up to 200.000 coupons can be created.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
silent | string Default: "yes" Possible values:
|
Request Body schema: application/json
numberOfCoupons required | integer The number of new coupon codes to generate for the campaign. Must be at least 1. |
usageLimit required | integer [ 0 .. 999999 ] The number of times the coupon code can be redeemed. |
discountLimit | number [ 0 .. 999999 ] The amount of discounts that can be given with this coupon code. |
startDate | string <date-time> >= 0 Timestamp at which point the coupon becomes valid. |
expiryDate | string <date-time> >= 0 Expiry date of the coupon. Coupon never expires if this is omitted, zero, or negative. |
Array of objects[ items ] Limits configuration for a coupon. These limits will override the limits set from the campaign. Note: Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured. | |
uniquePrefix | string DEPRECATED To create more than 20,000 coupons in one request, use Create coupons asynchronously endpoint. |
object Arbitrary properties associated with this item | |
recipientIntegrationId | string <= 1000 characters The integration ID for this coupon's beneficiary's profile |
validCharacters | Array of strings List of characters used to generate the random parts of a code. By default,
the list of characters is equivalent to the |
couponPattern | string [ 3 .. 100 ] characters The pattern used to generate coupon codes.
The character |
Responses
Request samples
- Payload
{- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "numberOfCoupons": 1,
- "uniquePrefix": "string",
- "attributes": { },
- "recipientIntegrationId": "URNGV8294NV",
- "validCharacters": [
- "A",
- "B",
- "G",
- "Y"
], - "couponPattern": "SUMMER-#####"
}
Response samples
- 200
{- "totalResultSize": 0,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
]
}
Update coupons
Update all coupons of an campaign, or a specific batch of coupons.
You can find the batchId
in the Coupons view of your Application
in the Campaign Manager or by using List coupons.
Important:
- Only send sequential requests to this endpoint.
- Requests to this endpoint timeout after 30 minutes. If you hit a timeout, reach out to our support team.
To update a specific coupon, use Update coupon.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: application/json
usageLimit | integer [ 0 .. 999999 ] The number of times the coupon code can be redeemed. |
discountLimit | number [ 0 .. 999999 ] The amount of discounts that can be given with this coupon code. |
startDate | string <date-time> >= 0 Timestamp at which point the coupon becomes valid. |
expiryDate | string <date-time> >= 0 Expiry date of the coupon. Coupon never expires if this is omitted, zero, or negative. |
object Arbitrary properties associated with this item | |
batchID | string The id of the batch the coupon belongs to. |
Responses
Request samples
- Payload
{- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "attributes": { },
- "batchID": "string"
}
Delete coupons
Deletes all the coupons matching the specified criteria.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
value | string Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
startsAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
startsBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
expiresAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
expiresBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
valid | string Enum: "expired" "validNow" "validFuture"
|
batchId | string Filter results by batches of coupons |
usable | string Enum: "true" "false"
|
referralId | integer Filter the results by matching them with the Id of a referral, that meaning the coupons that had been created as an effect of the usage of a referral code. |
recipientIntegrationId | string Filter results by match with a profile id specified in the coupon's |
exactMatch | boolean Default: false Filter results to an exact case-insensitive matching against the coupon code |
Responses
List coupons
List all the coupons matching the specified criteria.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
value | string Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
valid | string Enum: "expired" "validNow" "validFuture" Either "expired", "validNow", or "validFuture". The first option matches coupons in which the expiry date is set and in the past. The second matches coupons in which start date is null or in the past and expiry date is null or in the future, the third matches coupons in which start date is set and in the future. |
usable | string Enum: "true" "false" Either "true" or "false". If "true", only coupons where |
referralId | integer Filter the results by matching them with the Id of a referral, that meaning the coupons that had been created as an effect of the usage of a referral code. |
recipientIntegrationId | string Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field |
batchId | string Filter results by batches of coupons |
exactMatch | boolean Default: false Filter results to an exact case-insensitive matching against the coupon code |
Responses
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
]
}
Update coupon
Update the specified coupon.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
couponId required | string The ID of the coupon code to update |
Request Body schema: application/json
usageLimit | integer [ 0 .. 999999 ] The number of times the coupon code can be redeemed. |
discountLimit | number [ 0 .. 999999 ] The amount of discounts that can be given with this coupon code. |
startDate | string <date-time> >= 0 Timestamp at which point the coupon becomes valid. |
expiryDate | string <date-time> >= 0 Expiry date of the coupon. Coupon never expires if this is omitted, zero, or negative. |
Array of objects[ items ] Limits configuration for a coupon. These limits will override the limits set from the campaign. Note: Only usable when creating a single coupon which is not tied to a specific recipient. Only per-profile limits are allowed to be configured. | |
recipientIntegrationId | string <= 1000 characters The integration ID for this coupon's beneficiary's profile |
object Arbitrary properties associated with this item |
Responses
Request samples
- Payload
{- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "recipientIntegrationId": "string",
- "attributes": { }
}
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
Delete coupon
Delete the specified coupon.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
couponId required | string The ID of the coupon code to update |
Responses
List coupons that match the given attributes in campaign (without total count)
List the coupons whose attributes match the query criteria in the given campaign.
The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request.
Note: The total count is not included in the response.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
value | string Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
valid | string Enum: "expired" "validNow" "validFuture" Either "expired", "validNow", or "validFuture". The first option matches coupons in which the expiry date is set and in the past. The second matches coupons in which start date is null or in the past and expiry date is null or in the future, the third matches coupons in which start date is set and in the future. |
usable | string Enum: "true" "false" Either "true" or "false". If "true", only coupons where |
referralId | integer Filter the results by matching them with the Id of a referral, that meaning the coupons that had been created as an effect of the usage of a referral code. |
recipientIntegrationId | string Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field |
exactMatch | boolean Default: false Filter results to an exact case-insensitive matching against the coupon code |
batchId | string Filter results by batches of coupons |
Request Body schema: application/json
property name* | any |
Responses
Request samples
- Payload
{- "my_attribute_1": "some value",
- "my_attribute_2": "some other value",
- "my_attribute_3": "some other value"
}
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
]
}
List coupons that match the given attributes (without total count)
List the coupons whose attributes match the query criteria in all active campaigns of the given Application.
The match is successful if all the attributes of the request are found in a coupon, even if the coupon has more attributes that are not present on the request.
Note: The total count is not included in the response.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
value | string Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
valid | string Enum: "expired" "validNow" "validFuture" Either "expired", "validNow", or "validFuture". The first option matches coupons in which the expiry date is set and in the past. The second matches coupons in which start date is null or in the past and expiry date is null or in the future, the third matches coupons in which start date is set and in the future. |
usable | string Enum: "true" "false" Either "true" or "false". If "true", only coupons where |
referralId | integer Filter the results by matching them with the Id of a referral, that meaning the coupons that had been created as an effect of the usage of a referral code. |
recipientIntegrationId | string Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field |
batchId | string Filter results by batches of coupons |
exactMatch | boolean Default: false Filter results to an exact case-insensitive matching against the coupon code |
campaignState | string Enum: "enabled" "disabled" "archived" "draft" "scheduled" "running" "expired" Filter results by the state of the campaign.
|
Request Body schema: application/json
property name* | any |
Responses
Request samples
- Payload
{- "my_attribute_1": "some value",
- "my_attribute_2": "some other value",
- "my_attribute_3": "some other value"
}
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "campaignId": 211,
- "value": "XMAS-20-2021",
- "usageLimit": 100,
- "discountLimit": 30,
- "startDate": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "limits": [
- {
- "action": "createCoupon",
- "limit": 1000,
- "period": "yearly",
- "entities": [
- "Coupon"
]
}
], - "usageCounter": 10,
- "discountCounter": 0,
- "discountRemainder": 0,
- "attributes": { },
- "referralId": 326632952,
- "recipientIntegrationId": "URNGV8294NV",
- "importId": 0,
- "reservation": false,
- "batchId": "32535-43255"
}
]
}
Import coupons via CSV file
Upload a CSV file containing the coupons that should be created. The file should be sent as multipart data.
The CSV file can contain the following columns:
value
(required): The coupon code.expirydate
: The end date in RFC3339 of the code redemption period.startdate
: The start date in RFC3339 of the code redemption period.limitval
: The maximum amount of redemptions of this code. For unlimited redemptions, use0
. Defaults to1
when not provided.attributes
: A json object describing custom referral attribute names and their values. Double the double-quotes in the object.discountlimit
: The amount of discounts that can be given with this coupon code. For example, if you created a custom attribute calledcategory
associated to the coupon entity, set it with"{""category"": ""10_off""}"
.
Important: Do not leave empty columns in the file.
You can use the timezone of your choice. It is converted to UTC internally by Talon.One.
Example:
"value","expirydate","startdate","recipientintegrationid","limitval","attributes","discountlimit"
COUP1,2018-07-01T04:00:00Z,2018-05-01T04:00:00Z,cust123,1,"{""Category"": ""10_off""}",2.4
Once imported, you can find the batchId
in the Campaign Manager or by
using List coupons.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
campaignId required | integer The ID of the campaign. It is displayed in your Talon.One deployment URL. |
Request Body schema: multipart/form-data
upFile | string <csv> The file with the information about the data that should be imported. |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2020-06-10T09:05:27.993483Z",
- "accountId": 3886,
- "userId": 0,
- "entity": "AttributeAllowedList",
- "amount": 10
}
Export coupons to CSV file
Download a file containing the coupons that match the given properties.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
campaignId | number Filter results by campaign. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
value | string Filter results performing case-insensitive matching against the coupon code. Both the code and the query are folded to remove all non-alpha-numeric characters. |
createdBefore | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Filter results comparing the parameter value, expected to be an RFC3339 timestamp string, to the coupon creation timestamp. You can use any timezone. Talon.One will convert to UTC internally. |
valid | string Enum: "expired" "validNow" "validFuture" Either "expired", "validNow", or "validFuture". The first option matches coupons in which the expiry date is set and in the past. The second matches coupons in which start date is null or in the past and expiry date is null or in the future, the third matches coupons in which start date is set and in the future. |
usable | string Enum: "true" "false" Either "true" or "false". If "true", only coupons where |
referralId | integer Filter the results by matching them with the Id of a referral, that meaning the coupons that had been created as an effect of the usage of a referral code. |
recipientIntegrationId | string Filter results by match with a profile id specified in the coupon's RecipientIntegrationId field |
batchId | string Filter results by batches of coupons |
exactMatch | boolean Default: false Filter results to an exact case-insensitive matching against the coupon code |
dateFormat | string Enum: "excel" "ISO8601" Determines the format of dates in the export document. |
campaignState | string Enum: "enabled" "disabled" "archived" "draft" "scheduled" "running" "expired" Filter results by the state of the campaign.
|
Responses
Represents the data of a customer, including sessions and events used for reporting and debugging in the Campaign Manager.
List application's customers
List all the customers of the specified application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
integrationId | string Filter results performing an exact matching against the profile integration identifier. |
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
Responses
Response samples
- 200
{- "totalResultSize": 0,
- "hasMore": true,
- "data": [
- {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "string",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 0,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z",
- "advocateIntegrationId": "string"
}
]
}
List application customers matching the given attributes
Get a list of the application customers matching the provided criteria.
The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
withTotalResultSize | boolean When this flag is set, the result includes the total size of the result, across all pages. This might decrease performance on large data sets.
|
Request Body schema: application/json
object Properties to match against a customer profile. All provided attributes will be exactly matched against profile attributes. | |
integrationIDs | Array of strings |
profileIDs | Array of integers[ items ] |
Responses
Request samples
- Payload
{- "attributes": { },
- "integrationIDs": [
- "string"
], - "profileIDs": [
- 0
]
}
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "string",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 0,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z",
- "advocateIntegrationId": "string"
}
]
}
List customer profiles matching the given attributes
Get a list of the customer profiles matching the provided criteria.
The match is successful if all the attributes of the request are found in a profile, even if the profile has more attributes that are not present on the request.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
Request Body schema: application/json
object Properties to match against a customer profile. All provided attributes will be exactly matched against profile attributes. | |
integrationIDs | Array of strings |
profileIDs | Array of integers[ items ] |
Responses
Request samples
- Payload
{- "attributes": { },
- "integrationIDs": [
- "string"
], - "profileIDs": [
- 0
]
}
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "URNGV8294NV",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 31,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z"
}
]
}
Get customer profile
Return the details of the specified customer profile.
Performance tip: You can retrieve the same information via the Integration API, which can save you extra API requests. Consider these options:
- Request the customer profile to be part of the response content using Update Customer Session.
- Send an empty update with the Update Customer Profile endpoint with
runRuleEngine=false
.
Authorizations:
path Parameters
customerId required | integer The value of the |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "URNGV8294NV",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 31,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z"
}
List customer profiles
List all customer profiles.
Authorizations:
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
Responses
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "URNGV8294NV",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 31,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z"
}
]
}
Get application's customer
Retrieve the customers of the specified application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
customerId required | integer The value of the |
Responses
Response samples
- 200
{- "id": 0,
- "created": "2019-08-24T14:15:22Z",
- "integrationId": "string",
- "attributes": {
- "Language": "english",
- "ShippingCountry": "DE"
}, - "accountId": 0,
- "closedSessions": 3,
- "totalSales": 299.99,
- "loyaltyMemberships": [
- {
- "joined": "2012-03-20T14:15:22.000Z",
- "loyaltyProgramId": 323414846
}
], - "audienceMemberships": [
- {
- "id": 0,
- "name": "string"
}
], - "lastActivity": "2020-02-08T14:15:20Z",
- "advocateIntegrationId": "string"
}
Get Activity Reports for Application Customers
Fetch summary reports for all application customers based on a time range. Instead of having the total number of results in the response, this endpoint only if there are more results.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
rangeStart required | string <date-time> Only return results from after this timestamp, must be an RFC3339 timestamp string |
rangeEnd required | string <date-time> Only return results from before this timestamp, must be an RFC3339 timestamp string |
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
name | string Only return reports matching the customer name |
integrationId | string Filter results performing an exact matching against the profile integration identifier. |
campaignName | string Only return reports matching the campaignName |
advocateName | string Only return reports matching the current customer referrer name |
Responses
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "integrationId": "URNGV8294NV",
- "created": "2020-02-07T08:15:22Z",
- "name": "string",
- "customerId": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "couponRedemptions": 0,
- "couponUseAttempts": 0,
- "couponFailedAttempts": 0,
- "accruedDiscounts": 0,
- "accruedRevenue": 0,
- "totalOrders": 0,
- "totalOrdersNoCoupon": 0,
- "campaignName": "string"
}
]
}
Get customer's activity report
Fetch the summary report of a given customer in the given application, in a time range.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
customerId required | integer The value of the |
query Parameters
rangeStart required | string <date-time> Only return results from after this timestamp, must be an RFC3339 timestamp string |
rangeEnd required | string <date-time> Only return results from before this timestamp, must be an RFC3339 timestamp string |
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
Responses
Response samples
- 200
{- "integrationId": "URNGV8294NV",
- "created": "2020-02-07T08:15:22Z",
- "name": "string",
- "customerId": 0,
- "lastActivity": "2019-08-24T14:15:22Z",
- "couponRedemptions": 0,
- "couponUseAttempts": 0,
- "couponFailedAttempts": 0,
- "accruedDiscounts": 0,
- "accruedRevenue": 0,
- "totalOrders": 0,
- "totalOrdersNoCoupon": 0,
- "campaignName": "string"
}
Get customer's analytics report
Fetch analytics for a given customer in the given application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
customerId required | integer The value of the |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
Responses
Response samples
- 200
{- "acceptedCoupons": 0,
- "createdCoupons": 0,
- "freeItems": 0,
- "totalOrders": 0,
- "totalDiscountedOrders": 0,
- "totalRevenue": 0,
- "totalDiscounts": 0
}
List Application sessions
List all the sessions of the specified Application.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
profile | string Profile integration ID filter for sessions. Must be exact match. |
state | string Enum: "open" "closed" "partially_returned" "cancelled" Filter by sessions with this state. Must be exact match. |
createdBefore | string <date-time> Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. |
coupon | string Filter by sessions with this coupon. Must be exact match. |
referral | string Filter by sessions with this referral. Must be exact match. |
integrationId | string Filter by sessions with this integrationId. Must be exact match. |
Responses
Response samples
- 200
{- "hasMore": true,
- "data": [
- {
- "id": 6,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "profileId": 138,
- "integrationId": "URNGV8294NV",
- "profileintegrationid": "382370BKDB946",
- "coupon": "BKDB946",
- "referral": "BKDB946",
- "state": "closed",
- "cartItems": [
- {
- "name": "Air Glide",
- "sku": "SKU1241028",
- "quantity": 1,
- "returnedQuantity": 1,
- "remainingQuantity": 1,
- "price": 99.99,
- "category": "shoes",
- "weight": 1130,
- "height": 0,
- "width": 0,
- "length": 0,
- "position": 0,
- "attributes": {
- "image": "11.jpeg",
- "material": "leather"
}, - "additionalCosts": {
- "shipping": {
- "price": 9
}
}
}
], - "discounts": {
- "property1": 0,
- "property2": 0
}, - "totalDiscounts": 100,
- "total": 200,
- "attributes": { }
}
]
}
Get Application session
Get the details of the given session. You can list the sessions with the List Application sessions endpoint.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
sessionId required | integer The internal ID of the session. You can get the ID with the List Application sessions endpoint. |
Responses
Response samples
- 200
{- "id": 6,
- "created": "2019-08-24T14:15:22Z",
- "applicationId": 322,
- "profileId": 138,
- "integrationId": "URNGV8294NV",
- "profileintegrationid": "382370BKDB946",
- "coupon": "BKDB946",
- "referral": "BKDB946",
- "state": "closed",
- "cartItems": [
- {
- "name": "Air Glide",
- "sku": "SKU1241028",
- "quantity": 1,
- "returnedQuantity": 1,
- "remainingQuantity": 1,
- "price": 99.99,
- "category": "shoes",
- "weight": 1130,
- "height": 0,
- "width": 0,
- "length": 0,
- "position": 0,
- "attributes": {
- "image": "11.jpeg",
- "material": "leather"
}, - "additionalCosts": {
- "shipping": {
- "price": 9
}
}
}
], - "discounts": {
- "property1": 0,
- "property2": 0
}, - "totalDiscounts": 100,
- "total": 200,
- "attributes": { }
}
List Applications events
Lists all events recorded for an application. Instead of having the total number of results in the response, this endpoint only if there are more results.
Authorizations:
path Parameters
applicationId required | integer The ID of the Application. It is displayed in your Talon.One deployment URL. |
query Parameters
pageSize | integer [ 1 .. 1000 ] The number of items to include in this response. When omitted, the maximum value of 1000 will be used. |
skip | integer Skips the given number of items when paging through large result sets. |
sort | string The field by which results should be sorted. Sorting defaults to ascending order, prefix the field name with |
type | string Comma-separated list of types by which to filter events. Must be exact match(es). |
createdBefore | string <date-time> Only return events created before this date. You can use any timezone. Talon.One will convert to UTC internally. |
createdAfter | string <date-time> Only return events created after this date. You can use any timezone. Talon.One will convert to UTC internally. |
session | string Session integration ID filter for events. Must be exact match. |
profile | string Profile integration ID filter for events. Must be exact match. |
customerName | string >= 2 characters Customer name filter for events. Will match substrings case-insensitively. |
customerEmail | string >= 2 characters Customer e-mail address filter for events. Will match substrings case-insensitively. |
couponCode |