Talon.One

Datafly Signal delivers events to Talon.One server-to-server using the Integration API (the Track Event V2 endpoint). Events arrive as Talon.One custom events and are evaluated by the Rule Engine to drive promotions, coupons, loyalty, and referral campaigns — with no client-side Talon.One SDK on your pages.

Prerequisites

Before configuring Talon.One in Signal you need a Talon.One Application, its deployment host, and a Production Integration API key.

Note your deployment host

Your Talon.One account lives on a region-specific host such as mycompany.europe-west1.talon.one. This is the host portion of the URL you use to reach the Campaign Manager. Signal posts events to https://<deployment>/v2/events.

Create the custom events

The Track Event V2 endpoint only accepts events whose type has been declared in the Campaign Manager. For each event you intend to send:

  1. In the Campaign Manager, open your Application > Settings > Developer settings (custom attributes and events).
  2. Create a custom event for each type this blueprint sends: pageview, signed_up, logged_in, product_viewed, product_added, checkout_started, order_completed, order_refunded.
  3. Create a custom attribute (on the event or profile, with the correct data type) for every attribute key you intend to use — for example productId (string), price (number), total (number), currency (string), couponCode (string).
⚠️

Talon.One rejects events whose type is not declared, and rejects attributes that are missing or have the wrong data type, with a 400 response. Declare every event and attribute before going live.

Generate an Integration API key

  1. In your Application, go to Settings > Integration API Keys.
  2. Click Create API Key.
  3. Select Production as the key type, give it a name (e.g. “Datafly Signal”), and set an expiration date.
  4. Copy the key — Signal sends it as Authorization: ApiKey-v1 <key>.

Use an Integration API key, not a Management API key. The two are different credentials with different scopes.

Configure in Signal

Configuration Fields

FieldRequiredDescription
deploymentYesYour Talon.One deployment host without the scheme, e.g. mycompany.europe-west1.talon.one.
api_keyYesA Production Integration API key. Sent as Authorization: ApiKey-v1 <key>.

Management UI Setup

  1. Go to Integrations > Add Integration > Talon.One.
  2. Choose the Default preset.
  3. Enter your deployment host and api_key.
  4. Select the consent categories that should gate delivery (typically marketing).
  5. Click Save.

API Endpoint

POST https://<deployment>/v2/events
Authorization: ApiKey-v1 <api_key>
Content-Type: application/json

The request body carries a required profileId, the custom event type, and an attributes object:

{
  "profileId": "user-123",
  "type": "product_viewed",
  "attributes": {
    "productId": "SKU-A",
    "price": 49.99,
    "currency": "USD"
  }
}

If the profileId is new, Talon.One creates the customer profile automatically.

Identity Signals

Talon.One identifies users by profile, not by hashed PII, so no client-side or hashed match keys are required.

SignalTalon.One fieldDescription
user_idprofileIdYour stable customer identifier. This is the primary key Talon.One uses to attach loyalty balances, coupons, and referral state.
anonymous_idprofileId (fallback)Used as the profileId when no user_id is present, so pre-login activity still reaches a profile. Also sent as the anonymousId attribute.
emailattributes.emailOptional profile attribute, useful for cross-channel matching inside Talon.One.

Call datafly.identify() when a user logs in or registers so a stable user_id flows into profileId:

datafly.identify("user-123", {
  email: "jane.doe@example.com"
});

Event Mapping

Default preset

Signal eventTalon.One event type
pagepageview
Signed Upsigned_up
Logged Inlogged_in
Product Viewedproduct_viewed
Product Addedproduct_added
Checkout Startedcheckout_started
Order Completedorder_completed
Order Refundedorder_refunded

Events not in the mapping are dropped. To customise, edit the integration’s Field Mappings in the Management UI.

Example: Order Completed

Datafly.js call:

datafly.track("Order Completed", {
  order_id: "ORD-001",
  revenue: 129.99,
  currency: "USD",
  coupon: "SUMMER10",
  products: [
    { product_id: "SKU-A", name: "Widget", price: 49.99, quantity: 2 },
    { product_id: "SKU-B", name: "Gadget", price: 30.01, quantity: 1 }
  ]
});

Talon.One payload sent by Signal:

{
  "profileId": "user-123",
  "type": "order_completed",
  "attributes": {
    "orderId": "ORD-001",
    "total": 129.99,
    "currency": "USD",
    "couponCode": "SUMMER10",
    "cartItems": [
      { "product_id": "SKU-A", "name": "Widget", "price": 49.99, "quantity": 2 },
      { "product_id": "SKU-B", "name": "Gadget", "price": 30.01, "quantity": 1 }
    ],
    "anonymousId": "a1b2c3d4...",
    "marketingConsent": "true"
  }
}

Track Event V2 fires custom events; it does not maintain a customer session cart. If your promotions need cart-aware evaluation (running totals, applied coupons), use Talon.One customer sessions instead. Contact your Datafly representative about a session-based preset.

Testing

Send a test event

Trigger an event on a page where Datafly.js is installed (for example a product page for product_viewed).

Verify in the Campaign Manager

  1. Open your Application and go to the customer profile for the profileId you sent (or search by it).
  2. Confirm the event appears in the profile’s activity, with the attributes you mapped.
  3. If you have a rule listening for that custom event, confirm the expected effect (coupon, loyalty points, etc.) was applied.

Use the event debugger

Use Signal’s Event Debugger to inspect the exact JSON body Signal sent and the HTTP response code from Talon.One.

Troubleshooting

ProblemSolution
400 Bad RequestThe custom event type or one of the attributes is not declared in the Campaign Manager, or an attribute has the wrong data type. Declare/correct it under Developer settings.
401 UnauthorizedThe Integration API key is wrong, expired, or you used a Management API key. Generate a new Production Integration API key.
404 Not FoundThe deployment host is wrong. Confirm the region subdomain (e.g. europe-west1).
Events accepted but no rule firesConfirm a campaign rule is listening for that custom event type, and that the profile/session has the attributes the rule checks.
Missing profileId errorsEnsure datafly.identify() is called so a user_id is present; otherwise the anonymous_id fallback supplies the profileId.