MAAC Go 概觀
💳 NT$49 試用 credit
J

歡迎回來 Jin 👋

送達率 99.7% · 中華電信 / 遠傳 / 台哥大直連 · 中文客服工作日 4h 內回

Getting Started · 1 / 5 完成

🎁 你有 NT$50 試用 credit(剩 NT$49)· 夠發 ~65 則測試簡訊
20%
進度
STEP 1
註冊帳號
已完成
STEP 2
發測試簡訊
1 則 · NT$1
3 NEXT →
匯入聯絡人
約 2 分鐘 →
4 STEP 4
發第一檔 broadcast
挑名單、寫訊息
5 STEP 5
儲值 NT$500
+NT$50 bonus
錢包餘額
NT$49
試用金
30 天發送
載入中
送達率
平均送達
花費 —

最近的群發

看全部
名稱收件人狀態時間
你自己(測試簡訊)1送達剛剛
發第一檔群發 → 匯入名單 → 看送達報表

交易訊息 API 活動

看文件
還沒呼叫過 API
拿 API key 開始 →

群發

一對多發送——挑收件人、寫訊息、按送出。支援 LINE / SMS 自動路由。

即時更新 · 每 15 秒同步一次
名稱收件人段數成本送達率狀態時間操作
載入中…
💡 小提示:表現好的活動可以用「複製」快速再發一次,系統會帶入同樣名單+文案草稿。
+ 新群發
群發 · 新增

新群發

選收件人、寫訊息、送出。送達自動追蹤 · 失敗自動重試。

步驟 1 · 收件人

步驟 2 · 訊息內容

支援 personalization: {{first_name}} · {{last_name}} · 連結自動縮為 maac.io/xxxxx 短網址(17 字)
38 字 / 70 1 ✓ 含 STOP · NCC 合規 NCC 合規檢查(台灣) ✓ 含退訂關鍵字:STOP 或「退訂」 ✓ 含品牌前綴:訊息開頭帶【XXX】方便收件人辨識 ✓ 未用黑名單縮網址:bit.lyreurl.cclihi.cc 等(易被運營商攔截) ✓ 無釣魚常見詞:「中獎」、「帳號異常」、「立即領取」等 送出時後端會再跑一次完整規則引擎(以後端為準)

步驟 3 · 送出

預覽 & 成本

SMS 預覽
FROM: 1990
【你的品牌】Hi {{first_name}}!本週末滿千送百,VIP 專屬優惠 → maac.io/xxxxx · STOP退訂
收件人0
段數1 段 / 人
單價NT$0.75 / 則
總成本NT$0
送後餘額
送出呼叫 POST /broadcast

API · 金鑰

程式化發送 OTP、訂單通知、預約提醒。金鑰、curl / SDK 快速開始、Webhook 開關都在這裡。

API 金鑰

正式(Production)
sk_live_••••••••••••••••xKj3
測試(Testing)
sk_test_••••••••••••••••b2M9
正式金鑰會扣錢包餘額;測試金鑰不實際送、不計費。

快速開始 · curl

curl -X POST https://api.cresclab.com/v1/sms/send \ -H "Authorization: Bearer sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "to": "+886912345678", "from": "1990", "body": "您的驗證碼為 483291", "type": "otp" }'

Webhooks · 送達通知

每次送達狀態更新(sent / delivered / failed)POST 到此 URL · HMAC-SHA256 簽章驗證

聯絡人

收件人管理 · 自動去重 · 遵守 STOP opt-out。

總聯絡人
載入中…
可送達
Opt-out (STOP)
自動從發送名單排除
姓名手機Tags加入時間操作
載入中…
CSV · 貼號碼 · API

發送紀錄

每封 SMS 的完整狀態 · Live · 點任一行看 payload + timeline

送達(7 天)
送出中
失敗
總計
時間 收件人 內容 成本 狀態 ID
載入中…

報表

送達、失敗、成本 · 群發與交易訊息合計 · 最近 30 天

總發送
送達率
失敗
累計花費

數據還不夠

發個 10 封以上才會有有意義的趨勢圖。

錢包 · 帳單

餘額、儲值、交易紀錄。底層走 SMTM 金流。

試用金餘額
NT$49
可發 ~65 則 · 首次註冊送 NT$50(已入帳)

🔁 自動續儲

當餘額不足時自動刷卡補款。預設關閉——你要自己開。

交易紀錄

日期類型說明金額餘額
今天贈送首次註冊送 NT$50 試用金+NT$50NT$50
今天扣款測試簡訊 1 則−NT$1NT$49

設定

帳戶、安全、通知。

個人資料

換號碼時會發 OTP 到新門號驗證
NCC 要求 2–8 字 · 自動加到簡訊開頭
用於排程、報表顯示時間(簽檔 / 送出不受影響)

🔐 兩步驟驗證(2FA)

未啟用

強烈建議啟用。我們用 2FA + Stripe Radar + device fingerprint 三層防護 self-serve 帳戶 fraud。

📱 TOTP (Google Authenticator / Authy)

掃 QR code,每 30 秒產生 6 位驗證碼。最安全、推薦。

📞 SMS OTP(簡訊驗證碼)

每次登入送驗證碼到 +886 912 345 678

🔑 備援碼

10 組一次性備援碼,手機遺失時用。

Sender ID(品牌簽檔)

所有行銷簡訊開頭會自動加 【你的品牌】。NCC 2024/11 新制要求這個簽檔為認證品牌,未認證仍可發但不享 fast-track。

🆔 品牌簽檔 · 【你的品牌】

4–8 字 · 可含中英數 · 建議 company_name 或 app_name

✅ NCC 官方認證(需代辦)

通過認證後:享 fast-track 審核 · 簡訊開頭可顯示「[認證]」徽章 · 電信白名單加分

📞 5 位短碼(1990 以外)

高送達通路 · 需電信商審核 4–6 週 · 月租 NT$5,000+

聯絡業務

計畫 & 升級

帳號

🔄 重設密碼

寄重設連結到你的 Email / 手機。

重設

🚪 登出

登出這個 session。下次回來會停在登入頁。

登出

Webhooks

送達 / 失敗事件 real-time 通知你的伺服器 · HMAC-SHA256 簽章防偽

Endpoint 設定

設定後立刻生效。每次更新會 rotate signing secret。

訂閱的事件

sms.sent 訊息送到電信商
sms.delivered 電信商回報送達
sms.failed 送達失敗 · 含 error reason

驗證 signature 範例

// Node.js import { createHmac } from 'node:crypto'; app.post('/webhooks/cresclab', (req, res) => { const sig = req.headers['x-cresclab-signature']; const body = JSON.stringify(req.body); const expected = createHmac('sha256', process.env.WEBHOOK_SECRET) .update(body) .digest('hex'); if (sig !== expected) return res.status(401).end(); // 處理事件 const { event, data } = req.body; if (event === 'sms.delivered') markDelivered(data.id); res.status(200).end(); });

程式碼範本

常見使用情境的程式碼片段 · 複製貼到 terminal 或 IDE 立刻能跑。

🔐 OTP 驗證碼

註冊、登入、付款 2FA · 送達率 99.8% · 平均 3 秒

const otp = String(Math.floor(100000 + Math.random() * 900000)); await sms.send({ to: user.phone, body: `【你的品牌】驗證碼 ${otp},5 分鐘內有效。勿告知他人。`, type: 'otp', }); // Save otp + expiry to your DB for verify

📦 訂單出貨通知

追蹤碼點擊率 92% · 客服退件 -41%

await sms.send({ to: order.customer_phone, body: `【你的品牌】訂單 ${order.id} 已出貨,預計 ${order.eta} 送達。查單 ${order.tracking_url}`, type: 'notification', });

📅 預約提醒

診所 / 美業 D-1 自動提醒 · no-show -67%

// D-1 18:00 cron 自動送 await sms.send({ to: appointment.phone, body: `【你的品牌】您 ${appointment.date} 的預約在明天 ${appointment.time},改期請回電 ${shop.tel}`, type: 'notification', });

😴 沉睡客戶喚醒

90 天未購 · 回購率 +28%

const sleepers = await db.query('SELECT * FROM users WHERE last_order < NOW() - INTERVAL 90 DAY'); for (const u of sleepers) { await sms.send({ to: u.phone, body: `【你的品牌】Hi ${u.name},90 天不見!送您 $200 回歸券,至 ${expiry} 止`, type: 'marketing', }); }

💳 付款失敗補救

信用卡扣款失敗即時通知,請客戶 retry

await sms.send({ to: subscription.phone, body: `【你的品牌】您的 ${subscription.plan} 自動續約扣款失敗,請至 ${portal.url} 更新付款方式,48h 內不處理會暫停服務。`, type: 'transactional', });

🎉 會員生日折扣

生日當天早上 9:00 cron 自動送

const birthdayUsers = await db.query('SELECT * FROM users WHERE DATE_FORMAT(birthday, "%m-%d") = DATE_FORMAT(NOW(), "%m-%d")'); for (const u of birthdayUsers) { await sms.send({ to: u.phone, body: `【你的品牌】生日快樂 ${u.name} 🎂!生日週 8 折至 ${code_expiry},折扣碼 BDAY${new Date().getFullYear()}`, }); }

還要更多?

完整 API 文件,或讀 GitHub 上的 recipes(batch send、personalization、地區分眾、CSV import 等)。

API 文件

完整 REST API、Webhook、SDK。欄位說明中英對照,工作日 4 小時內回信支援。

🤖
給 AI Agent(Cursor / Claude Code / Windsurf)
丟下面任一 URL 給 agent,它就能讀完整 API、生 SDK、寫串接。
OpenAPI 3.0 最通用(IDE agent 直接 import)· llms.txt 是 agent 發現入口(短)· llms-full.txt 把所有欄位 / 錯誤碼 inline(貼到 Claude / ChatGPT 當 context)· 起手 prompt 一鍵生 TypeScript client。

POST /sms/send

送一封 transactional SMS 給單一收件人。用於 OTP、訂單通知、預約提醒。

Request body

欄位型態必填說明
tostringE.164 格式,e.g. +886912345678
bodystring訊息內容。中文 70 字/段、英數 160 字/段
fromstringSender ID,預設 1990(Cresclab 共用短碼)
typeenumotp · notification · marketing

Response

HTTP/1.1 200 OK { "id": "sms_abc123", "status": "sent", "segments": 1, "cost_twd": "0.75", "delivered_at": "2026-04-20T01:23:45Z" }