Integrations

Connect Ukta to the systems that already run the work

Pass feedback context into POS, CRM, and email flows with scoped keys, one-time links, and payloads that stay useful after submission.

Token request200 OK
POST /api/external/token
x-api-key: nk_a1b2...
{
  "storeSlug": "downtown-coffee",
  "payload": {
    "orderId": "ORD-12345",
    "civ": "CUST-7891"
  }
}

civ — Customer Identification Value. Ties this feedback to a returning customer so the dashboard can show loyalty trends over time.

Common patterns

Three ways teams put Ukta into motion

POS triggers

Create survey links automatically when an order closes.

CRM sync

Attach order IDs, account fields, and customer context.

Email flows

Send one-time feedback links in post-purchase sequences.

How it works

Three steps from key to insight

01

Authenticate

Create a scoped API key for the whole workspace or one store.

Authorization: Bearer nk_live_5893...
x-workspace-id: 1042

02

Generate

Request a one-time token with metadata — including an optional civ to identify the customer across future visits.

POST /api/external/token
storeSlug: downtown-coffee
orderId:  ORD-12345
civ:      CUST-7891

03

Receive

Search, filter, and export feedback using the context you passed in.

5-star feedback
ORD-12345
Source: POS

Customer Identification Value

Know whether your regulars are getting a better experience

A single opaque string — a loyalty ID, phone hash, or account number — passed from your POS or billing software connects each piece of feedback to a real customer. Ukta never stores PII; it stores only the value you send, which means the data stays useful without introducing compliance risk.

Confirm loyalty is paying off

Are the improvements you ship actually landing with repeat customers? The dashboard compares first-visit vs return-visit avg rating and CSAT side by side so you can answer that question with data instead of instinct.

Catch declining regulars early

A loyalist who starts rating 3★ after years of 5★ is a churn signal, not a random outlier. CIV-linked tracking surfaces this as a loyalty signal: "Repeat visitors growing dissatisfied" before it becomes a lost customer.

Measure return rate, not just volume

High total feedback count can hide low retention. CIV lets you see what proportion of your identified customers came back — the return rate — which is a truer signal of experience quality than raw volume alone.

Option A — embed at token generation

Ideal for POS and billing integrations that generate the survey link at checkout. Pass civ inside the payload when requesting a token. Ukta extracts and indexes it automatically when the customer submits.

POST /api/external/token
x-api-key: nk_a1b2...

{
  "storeSlug": "downtown-coffee",
  "payload": {
    "orderId": "ORD-12345",
    "civ":     "CUST-7891"   ← loyalty ID / phone hash
  }
}

The customer sees a normal survey link. The civ travels with the token and is stored when they submit — no extra step needed on the survey side.

Option B — pass at submission

For integrations that submit feedback directly — bypassing the survey UI — include civ as a top-level field alongside the rating. Works with both one-time tokens and reusable campaign tokens.

POST /api/external/public/submit

{
  "token":   "tkn_xyz...",
  "rating":  5,
  "comment": "Great service as always.",
  "civ":     "CUST-7891"   ← same ID, any submission path
}

If both the token payload and the submit body carry a civ, the submit body value takes precedence — useful when the customer authenticates at survey time rather than at checkout.

What appears on the dashboard once CIV data flows in

Return rate

What share of identified customers submitted feedback more than once in the selected period.

First visit vs return visit

Side-by-side avg rating and CSAT % for customers on their first submission vs those who have returned.

Loyalty signal

Automatic classification: returning customers rating you higher, lower, or consistently — with the exact delta displayed.

Bring feedback into the workflow instead of bolting it on later

Use secure APIs and tracked links to keep customer context intact from trigger to response.

Get API keys