Canned replies
Pertanyaan yang sama datang berulang kali — "kapan dikirim?", "bisa COD?", "cara retur gimana?". Canned replies let you save your best answers once and insert them into any reply with one click.
Canned replies are per-workspace: every agent on the team shares the same library.
In the portal
- Manage them under Settings → Canned replies: add a new one (title + body), or delete ones you've outgrown.
- Use them from any ticket: when your workspace has at least one canned reply, the reply box shows an "Insert canned reply…" dropdown. Picking one inserts its body into the reply box — edit it to fit, then send. Nothing is sent automatically.
Keep the title short and recognizable (Resi / tracking, Retur,
Jam operasional) — that's what you scan for in the dropdown.
API
All endpoints require authentication and use the standard envelope. The canned reply object:
{
"id": "cnr_01jx2v9k3m8q4r5s6t7u8v9w0x",
"accountId": "acc_5f1e2d3c4b5a69788796a5b4",
"title": "Resi / tracking",
"body": "Halo! Resi pesanan Anda: {{nomor}}. Cek status di situs kurir ya. Terima kasih!",
"createdAt": "2026-06-11T03:00:00.000Z",
"updatedAt": "2026-06-11T03:00:00.000Z"
}
(Heads-up: {{nomor}} above is just a writing convention for the
human agent to fill in — Suppuo doesn't do template-variable
substitution.)
List
GET /api/v1/canned-replies
Returns all of the workspace's canned replies, sorted by title.
{
"data": { "cannedReplies": [ { "id": "cnr_01jx…", "title": "Resi / tracking", "...": "…" } ] },
"error": null,
"meta": { "requestId": "req_01jx…", "timestamp": "2026-06-11T03:05:00.000Z" }
}
Create
POST /api/v1/canned-replies
| Field | Type | Notes |
|---|---|---|
title |
string | required, 1–120 chars |
body |
string | required, 1–20 000 chars |
curl -X POST "https://suppuo.com/api/v1/canned-replies" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Jam operasional", "body": "Halo! Kami online Senin–Sabtu 09.00–17.00 WIB." }'
Returns 201 with the created object.
Update
PATCH /api/v1/canned-replies/:id
Send title and/or body (same limits as create). Returns 200 with
the updated object; 404 NOT_FOUND if the ID isn't in your workspace.
Delete
DELETE /api/v1/canned-replies/:id
Returns 200 with { "deleted": true }; 404 NOT_FOUND if the ID
isn't in your workspace.
See also
- Tickets API — sending the reply a canned snippet was inserted into.