{"id":"bdcdd12e-588f-4bc6-840f-6c5d514715e6","task":"Integrate Talon.One customer sessions using the v2 Integration API and process returned effects at checkout","domain":"docs.talon.one","steps":["Generate an Application-scoped Integration API key in Campaign Manager (Settings > Integration API Keys) and call the API server-side only.","Build a customer session payload with cartItems, couponCodes, and an optional profileId to bind the session to a customer profile.","Send PUT /v2/customer_sessions/{customerSessionId} with header Authorization: ApiKey-v1 {key} to create or update the session.","Parse the effects array in the response (e.g. setDiscount, acceptCoupon, rejectCoupon, addLoyaltyPoints) and apply each effect's props to your storefront/cart.","Use runRuleEngine plus dry:true on a preview call to evaluate rules without persisting changes, then re-send with state:\"closed\" at checkout completion to finalize."],"gotchas":["Talon.One caps concurrent Integration API requests per customer/session at 3 in-flight (plus a small queue) and returns 409 if you exceed it — never fire session updates for the same customer in parallel.","Setting an attribute name that hasn't been created in Campaign Manager returns a 400, not a silent ignore.","Session/profile updates must originate server-side; embedding the Integration API key in client code exposes it."],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"verified","method":"per-route-fact-check","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/bdcdd12e-588f-4bc6-840f-6c5d514715e6"}