Links & tracking

Public, unauthenticated links embedded in review-solicitation emails/SMS and landing pages — hit directly by end customers (and their mail clients) via Hashids-encoded codes/tokens, not by the SPA.

Public, unauthenticated links embedded in review-solicitation emails/SMS and landing pages — hit directly by end customers (and their mail clients) via Hashids-encoded codes/tokens, not by the SPA. Contains: get landing page by channel code (Get landing page HTML by channel code), get landing page by code (Get landing page by code (store-scoped, auth) — the one authenticated exception, needs an account token + store_id), resolve click URL & record the click (Resolve click URL & record click), track review-request click (Track review-request click), email-open tracking pixel (Track email open (pixel), returns image/png), web-view email HTML (Web-view email HTML), and the two-step email unsubscribe: show status (Show unsubscribe status) + confirm (Confirm unsubscribe). All are rate-limited to 30 req/min per IP except Get landing page by code (store-scoped, auth), which inherits the authenticated group's no-throttle.

Prerequisites

  • A bearer token in the Authorization header. Any endpoint that needs no token says so on its own page.
  • The id of each record the call targets. Every endpoint page lists the ids it needs.

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
403The token is valid but the record sits outside your account
422The request failed validation — the response names the fields
500Unexpected server error

Individual endpoints may return more; each page lists its own.

Endpoints

Get landing page HTML by channel code

GET — Resolve a campaign SMS request (or, failing that, a campaign channel) by its unique_code and returns the personalized landing-page HTML plus the review-site landing-page URL.

Open →

Get landing page by code (store-scoped, auth)

GET — Get the landing-page HTML for a campaign landing page, resolved by its unique_code, with the store's placeholders substituted in.

Open →

Resolve click URL & record click

GET — Decodes the Hashids hash_id into [click_url_id, request_id], records a click event (IP / User-Agent / referer, deduped per IP for 5 minutes), marks the underlying Email/SMS request as clicked (and delivered, for SMS), and returns the personalized landing-page HTML, the raw landing-page URL, and the request's unique_code.

Open →

Track review-request click

GET — Record a click event for a tracked campaign link identified by the Hashids unique_code (decoded into click-url id + request id).

Open →

Track email open (pixel)

GET — Email-open tracking pixel.

Open →

Web-view email HTML

GET — Get the rendered HTML of a campaign email for the browser "view in web" link.

Open →

Show unsubscribe status

GET — Decodes the tamper-proof, server-encrypted UnsubscribeToken from a campaign-email unsubscribe link and returns the masked recipient address plus whether they are already on the suppression list.

Open →

Confirm unsubscribe

POST — Confirm an email unsubscribe.

Open →


Did this page help you?