Get landing page HTML by channel code
Overview
Resolve a campaign SMS request (or, failing that, a campaign channel) by its channelUniqueCode and returns the personalized landing-page HTML plus the review-site landing-page URL. Unless preview=true, it stamps link_clicked_at and delivered_at on the matched SMS request (click/delivery tracking side effect).
Prerequisites
- No authentication — this endpoint is public.
- The
channelUniqueCodeof the record you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/campaign/landing-page/{channelUniqueCode}
Authentication
-
No bearer token required.
-
Public — no bearer token (unauthenticated
campaigngroup; item markednoauth). Reached by end customers from the SMS/landing-page link.
Rate limit
- 30 requests/min per IP (public).
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
channelUniqueCode | string | Required | Identifier for the record you are targeting. |
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
preview | boolean | Optional | When true, skips the click/delivery tracking write. Defaults to false. |
Response
200 OK · 200
200{
"data": {
"status": "success",
"data": {
"landing_page_html": "<html><head><title>Leave a Review</title></head><body><h1>How was your experience?</h1><a href=\"https://example.com/review/abc123\">Write a review</a></body></html>",
"landing_page_url": "https://search.google.com/local/writereview?placeid=XXXX"
}
}
}400 Bad Request · 400
400{
"status": "error",
"message": "Bad Request",
"errors": "Landing page not found"
}Errors
| Status | Meaning |
|---|---|
400 | Bad Request |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/landing-page/<channelUniqueCode>?preview=false" \
--header 'Accept: application/json'Updated 16 days ago
Did this page help you?
