Skip to main content


This guide is for businesses in the telecommunications area. It shows how Talon.One can be used to provide loyalty programs and discounts. Regardless of the industry you work in, there are two steps to using Talon.One: Notify Talon.One's API of assorted customer activities. Then Handle the effects returned by the API.

The decision of which effects to return for a given customer activity will be controlled by the Talon.One Rule Engine.

1. Send activity notifications to Talon.One

We would recommend that you start with the SDKs. After the SDK has been installed & configured you will use the following API calls:

Below we show example API calls for different customer activities: viewing products, updating an order, and entering a promotional code. These are proposed as generic examples only that you will have to adapt to your use case.

1.1. User views products on a category page

Note: Make sure you have installed the SDKs.

In this scenario, we can track a custom viewedCategory event with a category and planDuration attribute whenever a user visits a category page:

talon.trackEventV2("customerId1234", "viewedCategory", { category: `bundles`, planDuration: `24` })

This allows campaigns to offer promotions specific to the category and/or the products the user is currently viewing.

For example, Talon.One may respond with an API response that contains the following effect:

["offerDiscount", "Now 10% on all 24 month plans!"]

1.2. User updates an order

In this scenario, we must send a session update with the current items whenever a user updates their order.

Tip: Make sure you have installed the SDKs.

Sending a request to this endpoint allows the campaigns that you have setup in the Rule Engine to trigger potential effects based on the cart contents that you share with Talon.One.

For example, we can simply create a campaign that gives a 10% discount when the category is bundles and the planDuration is 24 ( 24 months):

["setNewQuote", "Bundle Special", 49.99]

Then we can send a request, we must send a request to session update in order to share the cart contents:

talon.updateCustomerSession("session1234", {
attributes: {
ShopId: 53
cartItems: [{
sku: "SKU378312",
name: "24 Month & iPhone 7",
quantity: 1,
price: 499.99,
attributes: {
planDuration: 24,
category: "bundles"

1.3. User enters a promo code

In this scenario, we must send a session update whenever a user enters a promo code into their session:

talon.updateCustomerSession("session-1234", { coupon: "Christmas Special" })

The Rule Engine will validate the code, and return an acceptCoupon effect (and any other effects that were triggered), or a rejectCoupon effect indicating that the coupon was not valid.

Successful validation:

["acceptCoupon", "Christmas Special"]
["setDiscount", "$20 on all 24 month plans", 20]

Unsuccessful validation:

["rejectCoupon", "Christmas Special"]

2. Handling effects

The Rule Engine will send back discounts and other actions to take in the form of effects. These are handled in your integration by registering effect handlers:

talon.handleEffect('setDiscount', function (context, label, amount) {
context.order.addOrReplaceDiscount(label, amount)

3. Important things to keep in mind

Talon.One supports highly customizable workflows. These example scenarios rely on basic feature of the Campaign Manager and many more tutorials are available in the campaign example and tutorial sections.

4. References

  • See Handling effects for more information on the types of effects the Rule Engine might return and their arguments.
  • See Data Model overview for more information on what information you can use in your campaigns to conditionally trigger effects.