Skip to main content

Overview

Our integration with Smile makes it easy to reward customers for linking accounts and making retail purchases. Subtotal awards points directly in Smile by posting points transactions against each customer’s Smile profile. No matching earning rule needs to exist on the Smile side — Subtotal calculates the points, then records the transaction with a description you choose.

Get your Smile API key

Sign in to your Smile admin and navigate to Settings → Developer Tools → Manage API keys. Generate a new REST API key for Subtotal and copy the secret value — you’ll need it to connect the integration. smile api keys
Smile shows the full secret only once, at creation time. After that only the last four characters are visible. Store the key somewhere safe, or generate a new one if you lose it.

Connect your Smile account

Sign in to the Subtotal Dashboard and connect your Smile account to enable the integration. Navigate to Integrations → Smile → Connect. Click the Connect Smile button. smile inactive Paste your Smile REST API key, then click Save Integration. set smile api key You should now see an Active status on the Smile integration page. smile active

How Subtotal awards points in Smile

For each qualifying event, Subtotal:
  1. Looks up the Smile customer by email (GET /v1/customers?email=…).
  2. POSTs a points transaction (POST /v1/points_transactions) with the computed point value and the Action name you set as the transaction description.
The description shows up in the customer’s Smile activity feed, so choose something customer-friendly (e.g. Retail purchase, Linked a retail account). Subtotal does not reference any Smile-side earning rule or custom activity token — the only required setup in Smile is the API key.

Configure actions

After connecting, configure the actions Subtotal should send to Smile. Each action maps a Subtotal event (an account being linked, a purchase being made) to a points award. smile integration settings To add an action, click Add action and choose an event: See Rewarding linked accounts and Rewarding purchases for examples of each action type.

Customer identification

The Smile integration identifies customers by their email address. Subtotal calls Smile’s GET /v1/customers?email=… endpoint to resolve the Smile customer for each connection, then awards points against that customer’s profile. How the email is captured depends on your setup:
  • Shopify app — the customer’s email is captured automatically from their Shopify profile. No additional parameters needed.
  • API integration — include the email field when creating a connection via POST /connections. Without it, Subtotal won’t be able to identify the customer in Smile.
If no Smile customer exists for a connection’s email (e.g. the customer hasn’t been created in Smile yet), the action is skipped and logged. The customer must exist in Smile at the time the event is processed — points cannot be awarded retroactively.