Everything you need to know so you can use Talon.One like a pro
How can I customize coupons with individual attributes?
In the Attributes section of the Developer Tools, you can create a new attribute with an Associated Entity of Coupon. This makes the attribute a coupon attribute. You should enter the remainder of the necessary information and save your new attribute. Next you should create your desired coupons. In the Rule Engine, you can create a rule with conditions on coupon validation and your custom attribute. This allows you to trigger effects based on the attribute of your coupon.
What is the database/server infrastructure of Talon.One?
Each customer's data is completely isolated from others. Each customer has triple redundant deployment instances of the Talon.One API and application server for data protection. At the database level, Talon.One uses twice redundant servers in warm-standby to ensure high avaliablility of the API. A more detailed description can be found here.
Why doesn't Talon.One support Google Tag Manager?
It is not a good idea to only use Talon.One via the browser for a few reasons.
- Requests from browsers can easily be falsified. Traffic from browsers cannot necessarily be trusted. For instance, a customer could easily send a fake request to a game promotion claiming they are someone else.
- When discounts are applied to orders and item prices, these actions are managed by your server. Since a server call has to be made, Talon.One cannot only be called via the browser.
Where can I find the requests send to Talon.One?
You can find all requests and their associated responses in API Log tab of the developer section:
Whats the best practice regarding all opened sessions? Should these be destroyed?
Normally you don't have to destroy any session. The usual flow is: If a user enters a page/app you will create a session using the user-id as a session identifier. After his "journey" (putting something into his cart, registration/login, checkout process) he will click on "checkout" -> this should trigger a final "Update a Customer Session" request containing: "state": "closed".
How Talon.One processes cart contents?
For example: a user has 2 products in his cart: business carts and booklets. The cart needs to be sent using the "cartItems" Array in the payload when you are updating a user session (customer_session endpoint) Within this array, each item is an object with multiple attributes (premade and custom ones). In your case, the item category of item A would be "category": "businesscards",
The category of item B would be: "category": "booklets", Afterwards you can create a condition based on the category (for example: "if category equals booklets -> effect").
Which method should we use to inform Talon.One that a coupon code has been used and is not longer valid
If you use a coupon code – created or imported in Talon.one – you simply need to close the session the coupon code was used. Closing the session will mark the coupon code as redeemed in our backend.
If you want to disable a coupon code without a user interaction you can open an anonymous session containing the coupon code. Right after creating this session you need to close the session which will trigger the same result I mentioned before.
Do we need a new customer session for every step of the customer during his journey?
no - you don't need to create a new session for every step. A session should be opened if a user enters your site and should be closed after he checks out/finished his journey (You even can leave the session open if he disconnects/leaves the page and open the same session again after the user reconnects). In a nutshell: 1 journey (containing all user interactions) for 1 user = 1 session
How you handle sessions after a anonymous user has logged in?
If the anonymous user enters the page you need to create a session using the userID (or just an empty string ("") as the profile id. After he logged in you can change the profile id in the current session to his customerID now the session will be connected to this logged-in user.
Besides that, I would recommend having an "Update a Customer Profile" for every change in the user profile to keep the user information stored in Talon.one updated.
Are coupon codes always unique, or can they be used multiple times across different campaigns?
The coupon codes are always unique in one application and can never be generated twice across different campaigns.
Do I need to transfer the same session payload for every "update a customer session" request?
No. Everything you once pass in a session stays in the session until you overwrite it with different values. As long as you dont send empty parameters like: “cartitems”: , parameters will not be overwritten.
What is the difference between the AdvocateProfile- entity and the Profile-entity?
If you have an active referral campaign you can use the advocate's profile entity to get data from the advocate of the current user.
Is there any limit how many parallel sessions can be open per Customer Profile?
No, There is no limit.
How often is a Webhook retrying after he received a timeout or a 500 error?
A webhook will retry 10 times.
Can you import existing Coupons into Talon.One?
You can upload coupons into Talon.One over API using the coupon import endpoint, but cannot upload the codes in the frontend at this point.
Is the validation of coupons codes case sensitive on the talon side
The the sensitivity of the code validation can be set whenever you are creating a new application. It can be either: sensitive, insensitive-uppercase or insensitive-lowercase.
Is it possible to set a daily redemption limit of coupon codes?
Unfortunately, you cannot create time-dependent budget limits at the moment. Suggested to use our management API in combination with a cronjob to increase the limit (+1000) of a campaign at midnight.
Can we clear/delete all the data we have in a campaign or an application?
You can delete any campaign in the application using the following the "archive button" in the settings tab:
Beside of that, you can delete the whole application following this link: