• 228 направлений
  • Без KYC — всегда
  • Bitcoin, Monero, USDT и ещё 4 валюты

Документация

Создавайте решения на API.
Первое сообщение за пять минут.

Один базовый URL, Bearer-ключи, предсказуемый JSON, идемпотентные операции записи и подписанные вебхуки. Воспользуйтесь поиском или выберите задачу; на каждой странице есть готовые примеры.

/
  • https://api.smsmeteor.com/v1
  • 50 запросов в секунду на ключ
  • 1000 сообщений в одном запросе API

01Начало

Три шага до доставленного сообщения.

  1. 1
    Создать ключПанель → Разработчикам → Создать ключ. Тестовый ключ есть в каждом аккаунте и не списывает средства.
  2. 2
    Отправьте одно сообщение через POSTНаправление в формате E.164, отправитель, текст и ключ идемпотентности. Цена указана в ответе.
  3. 3
    Узнайте о доставкеЗапрашивайте сообщение или зарегистрируйте вебхук и получите message.delivered через несколько секунд.
POST /v1/messages
import os, requests

r = requests.post(
    "https://api.smsmeteor.com/v1/messages",
    headers={"Authorization": f"Bearer {os.environ['SMSMETEOR_KEY']}",
             "Idempotency-Key": "order-4821"},
    json={"to": "+14155550142", "from": "METEOR",
          "text": "Ваш заказ №4821 отправлен."},
)
print(r.json()["id"], r.json()["price"])
const r = await fetch("https://api.smsmeteor.com/v1/messages", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SMSMETEOR_KEY}`,
    "Idempotency-Key": "order-4821",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ to: "+14155550142", from: "METEOR",
    text: "Ваш заказ №4821 отправлен." }),
});
const { id, price } = await r.json();
$ch = curl_init('https://api.smsmeteor.com/v1/messages');
curl_setopt_array($ch, [
  CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('SMSMETEOR_KEY'),
    'Idempotency-Key: order-4821', 'Content-Type: application/json'],
  CURLOPT_POSTFIELDS => json_encode(['to' => '+14155550142',
    'from' => 'METEOR', 'text' => 'Ваш заказ №4821 отправлен.']),
]);
$msg = json_decode(curl_exec($ch), true);
curl https://api.smsmeteor.com/v1/messages \
  -H "Authorization: Bearer $SMSMETEOR_KEY" \
  -H "Idempotency-Key: order-4821" \
  -d to="+14155550142" \
  -d from="METEOR" \
  -d text="Ваш заказ №4821 отправлен."

02По задачам

Что вы хотите сделать?

03Интерфейс

Шесть конечных точек, один базовый URL.

МетодПутьНазначение
POST/v1/messagesОтправить одно сообщениеСправочник
POST/v1/messages/batchОтправить до 1 000 сообщенийСправочник
GET/v1/messages/{id}Статус, метки времени, цена, код оператора связиСправочник
GET/v1/messagesСписок и фильтры, курсорная пагинацияСправочник
GET/v1/ratesПубличная таблица тарифов для всех стран или одной страныСправочник
GET/v1/balanceБаланс, ожидающие пополнения, нижний порогСправочник

04Понятия

Шесть понятий описывают весь API.

Аутентификация

Bearer-ключи с областями send, read или обеими; при необходимости с ограничением по IP. Тестовые ключи проверяют запрос и рассчитывают цену без отправки.

Authorization: Bearer sk_live_…Подробнее

Идемпотентность

Одинаковые ключ и тело в течение 24 часов возвращают исходный ответ. Повторный запрос не отправляет сообщение дважды.

Idempotency-Key: order-4821Подробнее

Статусы

Изменяются только вперёд. Списание происходит после статуса «Отправлено»; отклонённые сообщения не оплачиваются; срок действия — 48 часов.

В очередиОтправленоДоставленоОшибка

Подробнее

Ограничения частоты

50 запросов в секунду на ключ. При превышении: 429 с Retry-After. Для большого объёма используйте пакетную отправку, а не дополнительные ключи.

X-RateLimit-Remaining: 47Подробнее

Ошибки

Единый формат JSON, стабильный code, понятное сообщение и ошибочное field. Повторяйте 429 и 5xx; исправляйте 4xx.

{ "error": { "code": "invalid_number" } }Подробнее

Цены

Каждый ответ содержит цену сообщения из публичной таблицы тарифов. Без тарифных планов и уровней, как в панели.

"price": "0.0084", "currency": "USD"Таблица тарифов

05Ресурсы

Файлы, состояние и поддержка.