Mga solong mensahe
Ang POST /v1/messages ay nagpapadala ng isang text sa isang numero at agad na nagbibigay ng message id. Ang mga login code, password reset, at payment alert ay ipapadala sa sandaling tawagin ito ng iyong code.
Magpadala ng mensaheBulk SMS API
Ang BulkSMSAPI ay isang bulk SMS API para sa mga developer: magpadala ng isang text o batch ng hanggang 10,000 numero kada request sa 227 bansa gamit ang REST, subaybayan ang bawat mensahe gamit ang signed webhooks, at bayaran kada mensahe mula sa prepaid balance.
Ang isang SMS papunta sa Estados Unidos ay nagkakahalaga ng $0.00507 kada segment.
Mga building block
Ang POST /v1/messages ay nagpapadala ng isang text sa isang numero at agad na nagbibigay ng message id. Ang mga login code, password reset, at payment alert ay ipapadala sa sandaling tawagin ito ng iyong code.
Magpadala ng mensaheAng POST /v1/batches ay tumatanggap ng hanggang 10,000 numero sa isang request, na may isang text para sa lahat o personal na text bawat numero. Ang mga duplicate at hindi wastong numero ay itinatabi at nakalista sa sagot.
Magpadala ng batchBawat delivered o failed na mensahe ay tumatawag sa iyong endpoint gamit ang signed JSON event. Bawat event ay may 10 pagtatangka sa loob ng 24 oras, kaya hindi ka mawawalan ng status kahit mag-deploy ka.
I-set up ang webhooksAng GET /v1/pricing ay nagbabalik ng presyo bawat segment para sa bawat bansa, kahit walang key. Ipakita ang mga gastos sa iyong sariling produkto, o suriin ang ruta bago magpadala ng malaking batch.
Basahin ang mga presyo gamit ang APIIdagdag ang send_at sa kahit anong request at ang batch ay maghihintay hanggang sa minutong iyon, mula 2 minuto hanggang 45 araw sa hinaharap. Kanselahin ito bago ito magsimula at ang buong gastos ay ibabalik sa balance.
I-schedule ang batchI-paste o i-upload ang listahan, isulat ang text, i-preview ito bawat recipient at ipadala nang walang code. Bawat batch mula sa API ay makikita sa parehong console na may live counts.
Tingnan ang consoleIsang event sa iyong sistema, isang text sa isang tao, ipapadala sa loob ng ilang segundo.
Isang text, o isang text bawat tao, sa listahan ng libu-libo sa isang request lang.
Magpadala ng one-time code mula sa iyong auth service gamit ang POST /v1/messages at basahin ang delivery event bago humingi ng bago ang user.
Tumatawag ang iyong order system sa API kapag umalis ang parcel sa depot, kasama ang time window at tracking code sa isang maikling text.
Isang nightly job ang nagbuo ng listahan para bukas at nagpapadala ng isang batch na may personal na text para sa bawat pasyente o client, naka-schedule para sa gabi bago ito.
Ang mga card payment, transfer at new device sign-in ay nagti-trigger ng text sa parehong segundo, na may presyo kada segment at na-log kasama ang status nito.
Magpadala ng 50,000 numero mula sa console o batches na 10,000 mula sa iyong CRM, na may opt-out line na idinagdag sa bawat text.
Sabihin sa lahat ng apektadong customer nang sabay-sabay kapag nagbago ang isang serbisyo, flight o delivery route, at sundan ito kapag naayos na.
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"])
}Presyo
GET /v1/pricing, kaya maipapakita ng iyong sariling product ang parehong mga numero.227 sa 227 na bansa
Balance $44 sa unang top-up
Humigit-kumulang 8,678 isang-segment na mensahe sa Estados Unidos
Balance $120 sa unang top-up
Humigit-kumulang 23,668 isang-segment na mensahe sa Estados Unidos
Balance $250 sa unang top-up
Humigit-kumulang 49,309 isang-segment na mensahe sa Estados Unidos
Balance $390 sa unang top-up
Humigit-kumulang 76,923 isang-segment na mensahe sa Estados Unidos
Balance $675 sa unang top-up
Humigit-kumulang 133,136 isang-segment na mensahe sa Estados Unidos
Balance $1,400 sa unang top-up
Humigit-kumulang 276,134 isang-segment na mensahe sa Estados Unidos
Ang bilang ng mensahe ay para sa Estados Unidos sa halagang $0.00507 bawat segment. Paano gumagana ang pagbabayad
10,000
mga numero bawat batch request
Magpadala ng listahan sa isang tawag, hatiin ayon sa bansa at presyo bawat tatanggap.
600
mga request bawat minuto bawat key
Ang rate limit headers sa bawat sagot ay nagpapakita kung ano ang natitira sa window.
1,200
mga mensahe bawat minuto bawat account
Ang pila ay naghahatid ng mga mensahe sa ruta nang sunud-sunod, tuwing dalawang segundo.
Hakbang 1
Ang iyong browser ay gumagawa ng account key. I-save ito minsan; ito lang ang login, walang email o password na kailangang pangasiwaan.
Hakbang 2
Magdagdag mula $40 sa pamamagitan ng hosted checkout. Ang balance ay makikita sa console at sa GET /v1/balance.
Hakbang 3
Pangalanan ang isang key bawat app o environment, kopyahin ito minsan, at puwedeng i-revoke anumang oras nang hindi ginagalaw ang iba.
Hakbang 4
Tawagan ang /v1/messages o /v1/batches at magdagdag ng webhook URL: ang delivered at failed na mga event ay darating na naka-sign.
Gumawa ng account sa ilang segundo, mag-top up mula $40 at tawagan ang API mula sa kahit anong lengguwahe na nakakapagsalita ng HTTPS. Ang presyo ay nagsisimula sa $0.00247 bawat mensahe.