BroadNet
Быстрый старт для разработчиков

Отправьте свое первое тестовое SMS через пять минут после получения учетных данных.

Запросите тестовый доступ, и мы ответим в течение одного рабочего дня, предоставив ваши тестовые учётные данные. Затем возьмите токен, установите TypeScript SDK и вызовите smsSendsmsPost. Ваше первое тестовое сообщение придет на ваш собственный проверенный номер примерно через пять минут после получения тестовых учётных данных. Каждый пример ниже готов к копированию, а шаг 5 описывает, что нужно проверить перед выходом в продакшн.

От запроса до продакшна

Единый путь к вашему первому сообщению с указанием сроков на каждом этапе.

  1. 01

    Запросить тестовый доступ

    Ответ в течение 1 рабочего дня

    Инженер по интеграции ответит вам, предоставит тестовые учётные данные и назначит 30-минутный звонок для обсуждения стран, объемов и сценариев использования.

  2. 02

    Первое тестовое сообщение

    Примерно через 5 минут после получения учётных данных

    Отправьте тестовое сообщение на свой проверенный номер, используя код quickstart. Отчёт о доставке (DLR) придет на ваш webhook.

  3. 03

    Интеграция

    2–5 рабочих дней

    Разрабатывайте и тестируйте с использованием ваших тестовых учетных данных, обращаясь к тому же эндпоинту, что и в примерах кода. Инженер BroadNet поможет вам в REST или SMPP.

  4. 04

    Одобрение

    3–10 рабочих дней

    Мы проверяем отправителя, цель рассылки и правила направлений и регистрируем имена отправителей (Sender ID) у каждого регулятора — параллельно с вашей интеграцией.

  5. 05

    Продакшн

    День запуска

    Доступ к промышленной среде и маршруты для вашей учетной записи уже активированы. Ваша интеграция уже обращается к https://api.broadnet.me.

Итого: 5–15 рабочих дней от запроса до продакшна для большинства рынков; дольше там, где регистрация имени отправителя (Sender ID) у регулятора занимает больше времени.

СхемаКак сообщение A2P доходит до телефона
  1. Ваше приложениеОтправка через REST API или SMPP
  2. Платформа BroadNetВалидация, маршрутизация и тарификация каждого сообщения
  3. SMSC оператораПрямое соединение с оператором
  4. Телефон абонентаСообщение доставлено
Отчет о доставке (DLR) возвращается по тому же пути на ваш webhook
Шаг 1·30 sec

Получите свой токен доступа.

Ваш токен доступа предоставляется вместе с тестовыми учетными данными: запросите тестовый доступ, и мы ответим в течение одного рабочего дня. Сохраните его в переменной окружения BROADNET_TOKEN и передавайте в заголовке Authorization: Bearer при каждом вызове. В каждом примере на этой странице используется рабочий базовый URL — https://api.broadnet.me.

your BroadNet account · access token
Access token
quickstart-default
active
84f1a02e3c7d4b91a7e0•••••••••••• copy
Header
Bearer
Env var
BROADNET_TOKEN
Base URL
api.broadnet.me
$ curl -X POST https://api.broadnet.me/sms/sendSms -H "Authorization: Bearer $BROADNET_TOKEN" …
200 OK
Проверьте это

Отправьте тестовый SMS на свой проверенный номер с помощью POST /sms/sendSms. Ответ 200 OK, содержащий ID сообщения, подтвердит работоспособность токена еще до того, как вы начнете писать основной код.

step 1.broadnet.me
Шаг 2·45 sec

Установите SDK.

У BroadNet есть один официальный SDK для TypeScript и Node.js: npm install @broadnet/cpaas-sdk axios. Он генерируется на основе спецификации BroadNet OpenAPI. В любом другом языке вы можете вызвать REST API с помощью вашей обычной HTTP библиотеки или сгенерировать клиент на основе спецификации OpenAPI.

Install
npm install @broadnet/cpaas-sdk axios

export BROADNET_TOKEN=your_access_token
bash
node >= 18
Проверьте это

Импортируйте Configuration и SMSSMSApi из @broadnet/cpaas-sdk. Если импорт разрешается и проверка типов проходит, можно отправлять.

step 2.broadnet.me
Шаг 3·60 sec

Отправьте своё первое сообщение.

Создайте объект SMSSMSApi с базовым URL и токеном, вызовите функцию smsSendsmsPost с senderId, destinationNumber, message и messageType и запишите результат в лог. Тело ответа — это идентификатор сообщения; сохраните его для последующего сопоставления со статусом доставки.

POST /sms/sendSms
// npm install @broadnet/cpaas-sdk axios
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";

const sms = new SMSSMSApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

const res = await sms.smsSendsmsPost({
  sMSSmsRequest: {
    senderId: "BroadNet",
    destinationNumber: "447700900123",
    message: "Your verification code is 482913",
    messageType: "TEXT",
  },
});

console.log(res.data); // message ID
javascript
200 OK · message ID
Response · 200 OK
body · message ID
HTTP/1.1 200 OK

2603121407537573731
Проверьте это

Проверьте телефон у себя в руке. Если вы получили SMS, самая сложная часть работы выполнена — всё, что описано ниже, отточено до совершенства.

step 3.broadnet.me
Шаг 4·90 sec

Получение статуса доставки.

BroadNet отправляет статус доставки на URL веб-хука, настроенный в вашей учётной записи: SUBMITTED, SENT, DELIVERED, READ (на каналах, которые сообщают о прочтении), FAILED или REJECTED. Сохраняйте каждое обновление, быстро отвечайте кодом 2xx и обрабатывайте его асинхронно.

POST /webhooks/broadnet
import express from "express";

const app = express();

app.post("/webhooks/broadnet", express.json(), async (req, res) => {
  // Store the status update first, then acknowledge with a 2xx.
  // Statuses: SUBMITTED, SENT, DELIVERED, READ, FAILED, REJECTED.
  await db.statusUpdates.insert({ receivedAt: new Date(), body: req.body });
  res.sendStatus(200);
});
javascript
delivery status · JSON
DELIVERED

Подтверждено на телефоне. Более ранние обновления, SUBMITTED и SENT, поступают по мере перемещения сообщения по сети.

после доставки
READ

Открыто получателем в каналах, где сообщается о прочтении, например, WhatsApp.

при чтении
FAILED / REJECTED

Не доставлено. Перед повторной отправкой проверьте формат номера и ваш идентификатор отправителя.

окончательный статус
Проверьте это

Отправьте сообщение на свой телефон, затем проверьте журнал сервера на наличие обновления статуса DELIVERED.

step 4.broadnet.me
Шаг 5·не входит в эти пять минут

Перед продакшном.

Доступ к промышленной среде открывается после завершения проверки: идентификации отправителя, целей трафика и ID отправителей (3–10 рабочих дней), что происходит параллельно с вашей интеграцией. После одобрения тот же самый код будет отправлять промышленный трафик. До этого момента не допускайте попадания токена в системы контроля версий, настройте вебхуки статуса доставки и определите политику повторных попыток (retry policy).

  • 01
    Перенесите секреты в свою среду.

    Храните BROADNET_TOKEN в переменной окружения или в менеджере секретов, никогда не в системе контроля версий или клиентском коде. Немедленно замените её, если произойдёт утечка данных.

  • 02
    Повторяйте запросы безопасно и следите за балансом

    Повторная отправка сообщений при сетевых ошибках и ответах с кодом 5xx осуществляется с экспоненциальной задержкой. Каждая принятая отправка возвращает идентификатор сообщения, поэтому сохраняйте его и проверяйте статус доставки, вместо того чтобы отправлять сообщение вслепую. При массовой отправке в каждом ответе отображается информация об оставшихся кредитах.

  • 03
    Закрепить версию SDK

    Укажите точную версию @broadnet/cpaas-sdk в package.json и обновляйте его осознанно. Пути к API не содержат префикса версии, поэтому следите за изменениями в журнале изменений и спецификации OpenAPI.

  • 04
    Обработка ошибок по коду состояния

    При возникновении ошибок возвращается код состояния HTTP и тело ExceptionResponse, содержащее статус, ошибку, сообщение, errorCode и requestUri. Исправлены ошибки 400 и 401; ошибки 5xx повторяются с задержкой.

  • 05
    Определите политику повторных попыток.

    По умолчанию: экспоненциальная задержка при ошибках 5xx и сетевых ошибках, никогда не применяется при ошибках 4xx. После истечения таймаута проверьте статус доставки перед повторной отправкой, поскольку первый запрос мог быть уже принят.

Проверьте это

Проверьте свой код по контрольному списку ниже. Когда все пункты будут отмечены, ваша интеграция будет готова к продакшну сразу после завершения процесса одобрения.

step 5.broadnet.me
Создан для серийного производства с самого первого дня.

Те же самые участки кода обрабатывают более 300 млн сообщений в день.

Ваш тестовый трафик — это не имитация. Каждый запрос, ключ и вебхук, настроенные на предыдущих этапах, проходят через те же механизмы маршрутизации, биллинга и комплаенса, что и наш основной корпоративный трафик, ежегодно проходящий аудит на соответствие нижеуказанным сертификатам.

ISO 27001
Информационная безопасность
ISO 9001
Управление качеством
ISO 22301
обеспечение непрерывности бизнеса
GDPR
Согласованность · Размещение данных в ЕС
HIPAA
Выровнено · BAA по запросу
СОК 2
Тип II · ежегодный аудит
резидентство данных ЕС + ОАЭSLA на доступность API 99,99%Единый базовый URL для тестирования и продакшнаВеб-хуки статуса доставки
Вопросы, которые задают покупатели

Вопросы о быстром старте

POST https://api.broadnet.me/sms/sendSms с заголовком Authorization: Bearer и JSON-телом с полями senderId, destinationNumber, message и messageType (TEXT или UNICODE). В ответе возвращается ID сообщения. Устаревший HTTP API в /websmpp по-прежнему доступен для интеграций эпохи SMPP.

Запросите тестовый доступ на /signup. Инженер BroadNet ответит в течение одного рабочего дня и пришлёт тестовые учётные данные: токен доступа, который передаётся в заголовке Authorization: Bearer, и адрес для отправки тестового трафика. Первое тестовое сообщение можно отправить примерно через пять минут после их получения.

Один официальный SDK: @broadnet/cpaas-sdk для TypeScript и Node.js, в npm. На любом другом языке вызывайте REST API напрямую по HTTPS или сгенерируйте клиент из спецификации OpenAPI (/developers/openapi.yaml).

Вопроса здесь нет? Обратитесь к нашей инженерной команде

Тестовый доступ · ответ в течение одного рабочего дня

Пять ступеней вниз.
Остался всего один ключ.

Протестируйте отправку на свои проверенные номера, запустите интеграцию, а затем переключитесь на промышленный трафик в той же консоли. Тот же SDK, те же эндпоинты и те же SLA, через которые проходит более 300 млн сообщений в день.

$ curl -X POST https://api.broadnet.me/sms/sendSms -H "Authorization: Bearer $BROADNET_TOKEN" -d '{ "senderId": "…", "destinationNumber": "…", "message": "…", "messageType": "TEXT" }'