Pojedyncze wiadomości
POST /v1/messages wysyła jedną wiadomość na jeden numer i natychmiast zwraca identyfikator wiadomości. Kody logowania, resetowanie haseł i alerty płatności są wysyłane w momencie wywołania przez Twój kod.
Wyślij wiadomośćBulk SMS API
BulkSMSAPI to API do masowej wysyłki SMS dla developerów: wyślij jedną wiadomość lub partię do 10 000 numerów w żądaniu do 227 krajów przez REST, śledź każdą wiadomość z podpisanymi webhookami i płać za wiadomość z przedpłaconego salda.
Jedna wiadomość SMS do Stany Zjednoczone kosztuje $0.00507 za segment.
Elementy składowe
POST /v1/messages wysyła jedną wiadomość na jeden numer i natychmiast zwraca identyfikator wiadomości. Kody logowania, resetowanie haseł i alerty płatności są wysyłane w momencie wywołania przez Twój kod.
Wyślij wiadomośćPOST /v1/batches obsługuje do 10 000 numerów w jednym żądaniu, z jedną wiadomością dla wszystkich lub spersonalizowaną wiadomością na numer. Duplikaty i błędne numery są odfiltrowane i wymienione w odpowiedzi.
Wyślij partięKażda dostarczona lub nieudana wiadomość wywołuje Twój endpoint podpisany zdarzeniem JSON. Każde zdarzenie ma 10 prób w ciągu około 24 godzin, więc wdrożenie nigdy nie spowoduje utraty statusu.
Skonfiguruj webhookiGET /v1/pricing zwraca cenę za segment dla każdego kraju, bez klucza. Pokaż koszty w swoim produkcie lub sprawdź trasę przed dużą wysyłką.
Odczytaj ceny przez APIDodaj send_at do żądania, a partia będzie czekać do tej minuty, od 2 minut do 45 dni w przód. Anuluj przed rozpoczęciem, a pełny koszt wróci do salda.
Zaplanuj partięWklej lub prześlij listę, napisz tekst, podejrzyj go dla odbiorcy i wyślij bez kodu. Każda partia z API pojawia się w tej samej konsoli z licznikami na żywo.
Zobacz konsolęJedno zdarzenie w Twoim systemie, jedna wiadomość do jednej osoby, wysłana w ciągu sekund.
Jeden tekst lub jeden tekst na osobę, do listy tysięcy w jednym żądaniu.
Wyślij jednorazowy kod z Twojej usługi autoryzacyjnej za pomocą POST /v1/messages i odczytaj zdarzenie dostarczenia, zanim użytkownik poprosi o nowy kod.
Twój system zamówień wywołuje API, gdy przesyłka opuszcza magazyn, z przedziałem czasowym i kodem śledzenia w jednym krótkim tekście.
Nocne zadanie tworzy listę na jutro i wysyła jedną partię z osobistym tekstem dla każdego pacjenta lub klienta, zaplanowaną na wieczór poprzedniego dnia.
Płatności kartą, przelewy i logowania z nowych urządzeń wywołują SMS w tej samej sekundzie, wyceniane za segment i rejestrowane z ich statusem.
Wyślij 50 000 numerów z konsoli lub partie po 10 000 z Twojego CRM, z dodaną linią rezygnacji do każdego tekstu.
Powiadom wszystkich dotkniętych klientów jednocześnie, gdy usługa, lot lub trasa dostawy ulegną zmianie, i śledź sytuację, gdy zostanie naprawiona.
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"])
}Cennik
GET /v1/pricing, więc Twój własny produkt może pokazywać te same liczby.227 z 227 krajów
Saldo $44 przy pierwszym doładowaniu
Około 8,678 wiadomości jednosegmentowych do Stany Zjednoczone
Saldo $120 przy pierwszym doładowaniu
Około 23,668 wiadomości jednosegmentowych do Stany Zjednoczone
Saldo $250 przy pierwszym doładowaniu
Około 49,309 wiadomości jednosegmentowych do Stany Zjednoczone
Saldo $390 przy pierwszym doładowaniu
Około 76,923 wiadomości jednosegmentowych do Stany Zjednoczone
Saldo $675 przy pierwszym doładowaniu
Około 133,136 wiadomości jednosegmentowych do Stany Zjednoczone
Saldo $1,400 przy pierwszym doładowaniu
Około 276,134 wiadomości jednosegmentowych do Stany Zjednoczone
Liczba wiadomości dotyczy Stany Zjednoczone w cenie $0.00507 za segment. Jak działają płatności
10,000
numery na żądanie wsadowe
Wyślij listę w jednym wywołaniu, podzieloną według kraju i wycenioną na odbiorcę.
600
żądania na minutę na klucz
Nagłówki limitu szybkości w każdej odpowiedzi pokazują, co pozostało w oknie.
1,200
wiadomości na minutę na konto
Kolejka przekazuje wiadomości do trasy w kolejności, co dwie sekundy.
Krok 1
Twoja przeglądarka tworzy klucz konta. Zapisz go raz; to jedyne logowanie, bez zarządzania e-mailem lub hasłem.
Krok 2
Dodaj od $40 przez hostowaną kasę. Saldo pokazuje się w konsoli i przez GET /v1/balance.
Krok 3
Nadaj nazwę kluczowi na aplikację lub środowisko, skopiuj go raz i odwołaj w dowolnym momencie bez dotykania innych.
Krok 4
Wywołaj /v1/messages lub /v1/batches i dodaj adres URL webhooka: dostarczone i nieudane zdarzenia przychodzą podpisane.
Utwórz konto w kilka sekund, doładuj od $40 i wywołaj API z dowolnego języka obsługującego HTTPS. Ceny zaczynają się od $0.00247 za wiadomość.