單一訊息
POST /v1/messages 會立即傳送一則簡訊到一個號碼,並回傳訊息 ID。登入驗證碼、密碼重設和付款通知會在您的程式碼呼叫時立即送出。
傳送訊息基礎元件
POST /v1/messages 會立即傳送一則簡訊到一個號碼,並回傳訊息 ID。登入驗證碼、密碼重設和付款通知會在您的程式碼呼叫時立即送出。
傳送訊息POST /v1/batches 可在一個請求中處理最多 10,000 個號碼,傳送相同內容或針對每個號碼傳送個人化訊息。重複和無效的號碼會被排除並列在回應中。
傳送批次每則成功或失敗的訊息都會以簽署的 JSON 事件呼叫您的端點。每個事件會在約 24 小時內嘗試 10 次,因此部署不會讓您錯過任何狀態。
設定 WebhooksGET /v1/pricing 會回傳每個國家的每分段價格,無需使用金鑰。在您的產品中顯示成本,或在大量傳送前檢查路線。
透過 API 讀取價格在任何請求中加入 send_at,批次會等待到指定時間,範圍從 2 分鐘到 45 天內。在開始前取消,完整費用將退回餘額。
排程批次貼上或上傳清單,撰寫內容,預覽每位收件者的訊息並無需程式碼即可傳送。來自 API 的每個批次都會顯示在同一個控制台中,並提供即時計數。
查看控制台系統中的一個事件,傳送一則簡訊給一個人,幾秒內完成。
一個請求中傳送一則簡訊,或針對每個人的個人化簡訊,給數千個號碼的清單。
透過 POST /v1/messages 從您的驗證服務發送一次性驗證碼,並在使用者要求新的驗證碼之前讀取傳送事件。
當包裹離開倉庫時,您的訂單系統會呼叫 API,並在簡訊中包含時間範圍與追蹤碼。
每晚的任務會建立隔天的清單,並在前一晚發送一批包含每位患者或客戶個人化訊息的簡訊。
卡片支付、轉帳與新裝置登入會立即觸發簡訊,按分段計價並記錄其狀態。
從控制台發送 50,000 筆號碼,或從您的 CRM 發送 10,000 筆批次,每則簡訊均附上取消訂閱連結。
當服務、航班或配送路線變更時,立即通知所有受影響的客戶,並在問題解決後進行後續追蹤。
curl https://bulksmsapi.cc/v1/batches \
-H "Authorization: Bearer $BULKSMSAPI_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: spring-sale-0412" \
-d '{
"name": "Spring sale",
"text": "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
"to": [
"+14155550123",
"+447400123456",
"+4915123456789"
]
}'const res = await fetch("https://bulksmsapi.cc/v1/batches", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.BULKSMSAPI_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": "spring-sale-0412",
},
body: JSON.stringify({
name: "Spring sale",
text: "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
to: ["+14155550123", "+447400123456", "+4915123456789"],
}),
});
const batch = await res.json();
console.log(res.status, batch.id, batch.recipients, batch.cost);import json, os, urllib.request
req = urllib.request.Request(
"https://bulksmsapi.cc/v1/batches",
data=json.dumps({
"name": "Spring sale",
"text": "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
"to": ["+14155550123", "+447400123456", "+4915123456789"],
}).encode(),
headers={
"Authorization": "Bearer " + os.environ["BULKSMSAPI_KEY"],
"Content-Type": "application/json",
"Idempotency-Key": "spring-sale-0412",
"User-Agent": "northwind-app/1.0",
},
method="POST",
)
with urllib.request.urlopen(req) as res:
batch = json.load(res)
print(res.status, batch["id"], batch["recipients"], batch["cost"])<?php
$ch = curl_init("https://bulksmsapi.cc/v1/batches");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("BULKSMSAPI_KEY"),
"Content-Type: application/json",
"Idempotency-Key: spring-sale-0412",
],
CURLOPT_POSTFIELDS => json_encode([
"name" => "Spring sale",
"text" => "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
"to" => ["+14155550123", "+447400123456", "+4915123456789"],
]),
]);
$batch = json_decode(curl_exec($ch), true);
echo $batch["id"], " ", $batch["recipients"], " ", $batch["cost"], "\n";package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
body, _ := json.Marshal(map[string]any{
"name": "Spring sale",
"text": "Spring sale at Northwind: 20% off until Sunday. Opt out: northwind.example/sms",
"to": []string{"+14155550123", "+447400123456", "+4915123456789"},
})
req, _ := http.NewRequest("POST", "https://bulksmsapi.cc/v1/batches", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+os.Getenv("BULKSMSAPI_KEY"))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Idempotency-Key", "spring-sale-0412")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var batch map[string]any
json.NewDecoder(res.Body).Decode(&batch)
fmt.Println(res.StatusCode, batch["id"], batch["recipients"], batch["cost"])
}價格
GET /v1/pricing 即時讀取,因此您的產品可以顯示相同的數字。227 / 227 個國家
| 國家 | 呼叫碼 | 每則 SMS |
|---|---|---|
| $0.00787 | ||
| $0.00307 | ||
| $0.02207 | ||
| $0.00727 | ||
| $0.02807 | ||
| $0.00677 | ||
| $0.00587 | ||
| $0.00987 | ||
| $0.02377 | ||
| $0.01667 | ||
| $0.03997 | ||
| $0.00247 | ||
| $0.01277 | ||
| $0.00417 | ||
| $0.00907 | ||
| $0.01017 | ||
| $0.01037 | ||
| $0.04257 | ||
| $0.04197 | ||
| $0.01067 | ||
| $0.01867 | ||
| $0.01277 | ||
| $0.03967 | ||
| $0.00527 | ||
| $0.01187 | ||
| $0.00707 | ||
| $0.05677 | ||
| $0.00907 | ||
| $0.01697 | ||
| $0.01277 | ||
| $0.00907 | ||
| $0.01277 | ||
| $0.01357 | ||
| $0.02697 | ||
| $0.01247 | ||
| $0.04257 | ||
| $0.00847 | ||
| $0.02357 | ||
| $0.00907 | ||
| $0.03827 | ||
| $0.00757 | ||
| $0.02237 | ||
| $0.02117 | ||
| $0.01467 | ||
| $0.00987 | ||
| $0.01417 | ||
| $0.04257 | ||
| $0.01557 | ||
| $0.02117 | ||
| $0.02547 | ||
| $0.05107 | ||
| $0.13637 | ||
| $0.01607 | ||
| $0.01157 | ||
| $0.00617 | ||
| $0.01327 | ||
| $0.01297 | ||
| $0.00987 | ||
| $0.00987 | ||
| $0.01447 | ||
| $0.06157 | ||
| $0.00707 | ||
| $0.02037 | ||
| $0.02697 | ||
| $0.01157 | ||
| $0.00987 | ||
| $0.00707 | ||
| $0.01897 | ||
| $0.01557 | ||
| $0.01187 | ||
| $0.01277 | ||
| $0.01667 | ||
| $0.01417 | ||
| $0.05557 | ||
| $0.00877 | ||
| $0.01977 | ||
| $0.01187 | ||
| $0.02407 | ||
| $0.02777 | ||
| $0.01327 | ||
| $0.00987 | ||
| $0.00707 | ||
| $0.01217 | ||
| $0.01247 | ||
| $0.00677 | ||
| $0.01847 | ||
| $0.01387 | ||
| $0.00907 | ||
| $0.00847 | ||
| $0.00507 | ||
| $0.00727 | ||
| $0.02147 | ||
| $0.01667 | ||
| $0.00447 | ||
| $0.01417 | ||
| $0.01277 | ||
| $0.03117 | ||
| $0.02267 | ||
| $0.01357 | ||
| $0.09657 | ||
| $0.02547 | ||
| $0.00727 | ||
| $0.00277 | ||
| $0.01127 | ||
| $0.04537 | ||
| $0.01187 | ||
| $0.02117 | ||
| $0.02067 | ||
| $0.01847 | ||
| $0.00847 | ||
| $0.05077 | ||
| $0.02267 | ||
| $0.00507 | ||
| $0.00707 | ||
| $0.02177 | ||
| $0.00787 | ||
| $0.01187 | ||
| $0.01557 | ||
| $0.01357 | ||
| $0.01247 | ||
| $0.01277 | ||
| $0.01387 | ||
| $0.00417 | ||
| $0.00727 | ||
| $0.03687 | ||
| $0.00907 | ||
| $0.00817 | ||
| $0.00957 | ||
| $0.01417 | ||
| $0.00587 | ||
| $0.02207 | ||
| $0.00337 | ||
| $0.01637 | ||
| $0.01327 | ||
| $0.01467 | ||
| $0.00957 | ||
| $0.05307 | ||
| $0.01417 | ||
| $0.01927 | ||
| $0.00927 | ||
| $0.01387 | ||
| $0.01277 | ||
| $0.01037 | ||
| $0.02517 | ||
| $0.04797 | ||
| $0.00907 | ||
| $0.04477 | ||
| $0.01417 | ||
| $0.01357 | ||
| $0.01977 | ||
| $0.01557 | ||
| $0.00927 | ||
| $0.01847 | ||
| $0.01037 | ||
| $0.04257 | ||
| $0.01417 | ||
| $0.00987 | ||
| $0.01387 | ||
| $0.01817 | ||
| $0.01217 | ||
| $0.01127 | ||
| $0.02547 | ||
| $0.01357 | ||
| $0.01557 | ||
| $0.01327 | ||
| $0.04257 | ||
| $0.00907 | ||
| $0.02237 | ||
| $0.00367 | ||
| $0.00987 | ||
| $0.01357 | ||
| $0.01417 | ||
| $0.01757 | ||
| $0.04827 | ||
| $0.02777 | ||
| $0.01037 | ||
| $0.02897 | ||
| $0.00707 | ||
| $0.00727 | ||
| $0.01417 | ||
| $0.01067 | ||
| $0.01357 | ||
| $0.00787 | ||
| $0.00847 | ||
| $0.01037 | ||
| $0.01977 | ||
| $0.00877 | ||
| $0.02207 | ||
| $0.01417 | ||
| $0.07097 | ||
| $0.00957 | ||
| $0.00987 | ||
| $0.02207 | ||
| $0.04537 | ||
| $0.03407 | ||
| $0.00417 | ||
| $0.01817 | ||
| $0.01787 | ||
| $0.03317 | ||
| $0.02207 | ||
| $0.01467 | ||
| $0.01037 | ||
| $0.00957 | ||
| $0.00847 | ||
| $0.01447 | ||
| $0.03407 | ||
| $0.02717 | ||
| $0.01157 | ||
| $0.01387 | ||
| $0.02697 | ||
| $0.01417 | ||
| $0.01297 | ||
| $0.01417 | ||
| $0.01067 | ||
| $0.00507 | ||
| $0.00727 | ||
| $0.01247 | ||
| $0.02947 | ||
| $0.01127 | ||
| $0.00817 | ||
| $0.00507 | ||
| $0.01277 | ||
| $0.00907 | ||
| $0.00847 | ||
| $0.00617 | ||
| $0.01787 | ||
| $0.00907 |
首次充值餘額 $44
約 8,678 則單分段訊息至 美國
首次充值餘額 $120
約 23,668 則單分段訊息至 美國
首次充值餘額 $250
約 49,309 則單分段訊息至 美國
首次充值餘額 $390
約 76,923 則單分段訊息至 美國
首次充值餘額 $675
約 133,136 則單分段訊息至 美國
首次充值餘額 $1,400
約 276,134 則單分段訊息至 美國
10,000
每批次請求的號碼數量
在單次呼叫中發送清單,按國家拆分並按收件人計價。
600
每個金鑰每分鐘的請求數
每個回應中的速率限制標頭顯示剩餘的請求額度。
1,200
每個帳戶每分鐘的訊息數
佇列每兩秒按順序將訊息傳遞給路由。
步驟 1
您的瀏覽器會生成一個帳戶金鑰。只需保存一次,這是唯一的登入方式,無需管理電子郵件或密碼。
步驟 2
從 $40 開始通過託管結帳頁面充值。餘額顯示在控制台和 GET /v1/balance 中。
步驟 3
為每個應用程式或環境命名一個金鑰,複製一次,並可隨時撤銷而不影響其他金鑰。
步驟 4
呼叫 /v1/messages 或 /v1/batches 並添加 webhook URL:送達和失敗事件會以簽名形式到達。