Update QR template
Overview
Update an existing QR code template (identified by id in the body), filling the validated fields and saving. Requires that the template's store has a review-solicitation feature enabled.
Prerequisites
- A bearer token. Callable with Account tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/qr-codes/template/update
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Account tokens.
-
Authentication. The endpoint loads the template (own company only, 404 otherwise).
-
Before saving, the store's active plan must have
review_solicitation_emailorreview_solicitation_smsenabled. Otherwise the endpoint returns 400. -
The route is
POST./template/update.idcomes from the body (the optional{id}method arg is unused by this route).
Rate limit
- No rate limit.
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | optional (effectively required) | Template ID; must be an existing QR template. Resolved from body; without it the lookup 404s. |
name | string | required | Max 255. |
template_type | string | required | One of standard, hangtag, custom. |
design_html | string | optional | Nullable. |
design_settings | mixed | optional | Nullable; JSON string is decoded to an object/array (invalid JSON falls back to []). |
design_settings_back | mixed | optional | Nullable; same JSON decoding as design_settings. |
design_html_back | string | optional | Nullable. |
qr_code_id | integer | optional | Nullable; must be an existing QR code. |
{
"id": 10,
"name": "Updated Standard A6",
"template_type": "standard",
"design_html": "<p>Scan to leave us a review</p>",
"design_settings": {
"primaryColor": "#222"
},
"design_html_back": "<p>Thank you</p>",
"design_settings_back": {
"logo": true
},
"qr_code_id": 123
}Response
data.status(string) —"success".data.data(object) — the updatedQrCodeTemplatemodel (with includedstoreid/name).data.message(string) —"QR code template updated successfully".
200 OK · 200
200{
"data": {
"status": "success",
"data": {
"id": 10,
"name": "Updated Standard A6",
"store_id": 8748,
"template_type": "standard",
"design_html": "<p>Scan to leave us a review</p>",
"design_settings": { "primaryColor": "#222" },
"design_html_back": "<p>Thank you</p>",
"design_settings_back": { "logo": true },
"qr_code_id": 123,
"company_id": 456,
"store": { "id": 8748, "name": "Downtown Branch" }
},
"message": "QR code template updated successfully"
}
}Errors
| Status | Meaning |
|---|---|
400 | The request was rejected — the response explains why |
401 | The bearer token is missing, expired or invalid |
404 | The template does not exist or belongs to another account |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/qr-codes/template/update" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"id": 10, "name": "Updated Standard A6", "template_type": "standard", "design_html": "<p>Scan to leave us a review</p>", "design_settings": {"primaryColor": "#222"}, "design_html_back": "<p>Thank you</p>", "design_settings_back": {"logo": true}, "qr_code_id": 123}'Updated 11 days ago
Did this page help you?
