SMS click URLs

Get SMS click-URL statistics for a campaign — one row per campaign_click_urls (channel sms) with click count, distinct-IP count, and last-clicked timestamp over the date window.

Auth: Account — authentication bearer token; requires the user's own company bundle_id === 3 (ACCOUNT). (404 Campaign not found otherwise). Non-account users get 403.

Rate limit: No rate limit.

Request

  • Query: start_date (string Y-m-d, optional) — defaults to campaign created_at start-of-day.
  • Query: end_date (string Y-m-d, optional) — defaults to now end-of-day. If start_date > end_date the two are swapped.

Response{ data. } envelope. The controller passes an array containing status and data to successResponse, so the literal payload is { data: { status: "success", data: [.rows ] } }.

  • data.status (string) — "success".
  • data.data[] (array) — per click-URL row:
  • id (int) — campaign_click_urls.id.
  • url_name (string) — the URL's name.
  • placeholder (string) — template placeholder token.
  • destination_url (string) — campaign_click_urls.url; if empty and a landing_page_id exists, synthesized as {white_url}/lp/{landing_page_id}?store_id={store_id}&preview=true.
  • click_count (int) — count of campaign_click_events with event = 'click', non-null sms_request_id, in window.
  • unique_ips (int) — distinct ip count over those events.
  • last_clicked (string ISO-8601 or null) — max event created_at. Rows sorted by click_count desc.

Path params

ParameterTypeRequiredNotes
campaignIdintegerRequiredDigits only.

Errors: 422 on validation failure.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Response

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json