Одиночні повідомлення
POST /v1/messages надсилає один текст на один номер і миттєво повертає ідентифікатор повідомлення. Коди входу, скидання паролів та сповіщення про платежі відправляються в момент виклику вашого коду.
Надіслати повідомленняBulk SMS API
BulkSMSAPI, це API для масової розсилки SMS для розробників: надсилайте один текст або пакет до 10 000 номерів за запит у 227 країн через REST, відстежуйте кожне повідомлення з підписаними вебхуками та оплачуйте за повідомлення з попередньо оплаченого балансу.
Одне SMS до Сполучені Штати коштує $0.00507 за сегмент.
Будівельні блоки
POST /v1/messages надсилає один текст на один номер і миттєво повертає ідентифікатор повідомлення. Коди входу, скидання паролів та сповіщення про платежі відправляються в момент виклику вашого коду.
Надіслати повідомленняPOST /v1/batches обробляє до 10 000 номерів в одному запиті, з одним текстом для всіх або індивідуальним текстом для кожного номера. Дублікати та невірні номери відокремлюються та вказуються у відповіді.
Надіслати пакетКожне доставлене або невдале повідомлення викликає ваш endpoint з підписаною JSON-подією. Кожна подія має 10 спроб протягом приблизно 24 годин, тому розгортання ніколи не призведе до втрати статусу.
Налаштувати вебхукиGET /v1/pricing повертає ціну за сегмент для кожної країни без ключа. Показуйте вартість у своєму продукті або перевіряйте маршрут перед масштабною розсилкою.
Отримати ціни через APIДодайте send_at до будь-якого запиту, і пакет чекатиме до вказаної хвилини (від 2 хвилин до 45 днів). Скасуйте його до початку, і повна вартість повернеться на баланс.
Запланувати пакетВставте або завантажте список, напишіть текст, перегляньте його для кожного отримувача та надішліть без коду. Кожен пакет з API відображається в тій самій консолі з лічильниками у реальному часі.
Переглянути консольОдна подія у вашій системі, один текст одній особі, надісланий за лічені секунди.
Один текст або індивідуальний текст для кожного отримувача у списку з тисяч номерів в одному запиті.
Надішліть одноразовий код з вашої системи автентифікації за допомогою POST /v1/messages та перевірте статус доставки, перш ніж користувач запросить новий код.
Ваша система замовлень викликає API, коли посилка залишає склад, вказуючи часовий проміжок та код відстеження в одному короткому повідомленні.
Щоденний процес формує список на завтра та надсилає один пакет із персональним повідомленням для кожного пацієнта чи клієнта, запланований на вечір напередодні.
Платежі карткою, перекази та вхід з нового пристрою запускають повідомлення в ту ж секунду, з оплатою за сегмент та збереженням статусу.
Надсилайте до 50,000 номерів з консолі або пакети по 10,000 з вашого CRM, додаючи рядок відмови до кожного повідомлення.
Повідомте всіх зачеплених клієнтів одразу, коли змінюється послуга, рейс чи маршрут доставки, та повідомте, коли проблема вирішена.
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 країн
Баланс $44 за перше поповнення
Приблизно 8,678 односегментних повідомлень до Сполучені Штати
Баланс $120 за перше поповнення
Приблизно 23,668 односегментних повідомлень до Сполучені Штати
Баланс $250 за перше поповнення
Приблизно 49,309 односегментних повідомлень до Сполучені Штати
Баланс $390 за перше поповнення
Приблизно 76,923 односегментних повідомлень до Сполучені Штати
Баланс $675 за перше поповнення
Приблизно 133,136 односегментних повідомлень до Сполучені Штати
Баланс $1,400 за перше поповнення
Приблизно 276,134 односегментних повідомлень до Сполучені Штати
Кількість повідомлень для Сполучені Штати за ціною $0.00507 за сегмент. Як працюють платежі
10,000
номерів у пакетному запиті
Надсилайте список одним запитом, розділений за країнами та тарифікований за отримувачем.
600
запитів на хвилину на ключ
Заголовки обмеження швидкості у кожній відповіді показують, що залишилось у вікні.
1,200
повідомлень на хвилину на акаунт
Черга передає повідомлення маршруту по порядку, кожні дві секунди.
Крок 1
Ваш браузер створює ключ акаунта. Збережіть його один раз; це єдиний логін, без електронної пошти чи пароля для керування.
Крок 2
Додайте від $40 через хостинг-касу. Баланс відображається у консолі та через GET /v1/balance.
Крок 3
Назвіть ключ для кожної програми чи середовища, скопіюйте його один раз і відкликайте будь-коли, не чіпаючи інші.
Крок 4
Викличте /v1/messages або /v1/batches і додайте URL вебхука: події доставки та помилки надходять підписані.
Створіть акаунт за секунди, поповніть від $40 та викличте API з будь-якої мови, що підтримує HTTPS. Ціни починаються від $0.00247 за повідомлення.