FAQ

Питання та відповіді про Bulk SMS API

39 відповідей про акаунти, надсилання, ціни, звіти про доставку та API, перевірені на відповідність обмеженням у коді. Деталі про кінцеві точки та поля містяться у Довідник API.

Сервіс

Що таке BulkSMSAPI?

Bulk SMS API для розробників: надсилайте одне повідомлення або пакет до 10,000 номерів за один запит до 227 країн через REST, відстежуйте кожне повідомлення за допомогою підписаних вебхуків та оплачуйте за кожне повідомлення з попередньо оплаченого балансу. Веб-консоль дозволяє відправляти кампанії зі списку або CSV без коду.

Хто використовує Bulk SMS API?

Продуктові та інженерні команди, які надсилають тексти зі своїх систем: коди входу та реєстрації, оновлення замовлень та доставки, нагадування про зустрічі, сповіщення про платежі, службові повідомлення та маркетингові кампанії. Будь-хто, хто може робити HTTPS-запит, може використовувати його.

До яких країн я можу надсилати повідомлення?

227 країн та територій, перелічені з їхніми цінами на сторінці цін та сторінках країн. Один запит може містити різні країни: кожен номер оцінюється за країною, до якої він належить.

Чи є щомісячна плата або контракт?

Ні. Ви платите за кожен сегмент повідомлення з попередньо оплаченого балансу, і немає щомісячної плати, плати за налаштування або мінімального обсягу. Баланс не має терміну дії.

Чи є безкоштовний пробний період?

Облікові записи починаються з нульового балансу, і перше поповнення відкриває доступ до всього. Перше поповнення додає бонус до 40%, тому перші повідомлення коштують менше. Ціни є публічними, а ендпоінт оцінки та консоль показують точну вартість перед відправкою.

Обліковий запис та API ключі

Як створити обліковий запис?

Відкрийте Get API key. Ваш браузер створить ключ облікового запису, який починається з acct_; скопіюйте його або збережіть як текстовий файл, підтвердьте, що ви його зберегли, і обліковий запис готовий. Ключ облікового запису, це єдиний логін: немає електронної пошти чи пароля для керування.

Що станеться, якщо я втрачу ключ облікового запису?

Ми зберігаємо лише хеш ключа, тому ніхто не може його показати знову, включаючи нашу команду підтримки. Зберігайте його в менеджері паролів. Поки ви залишаєтеся в системі, консоль продовжує працювати, і ви можете зв'язатися з підтримкою з неї.

Як отримати API ключ?

На сторінці API ключів у консолі, після першого поповнення балансу. Назвіть ключ, створіть його та скопіюйте один раз: він починається з bsa_live_. Один обліковий запис може мати до 10 активних ключів, кожен зі своєю назвою та лічильником обмеження запитів.

Чи можу я використовувати різні ключі для продакшну та тестування?

Так. Створіть окремий ключ для кожного додатка або середовища та дайте йому назву. Кожен ключ показує, коли востаннє використовувався, а скасування одного ключа не впливає на інші.

Скільки облікових записів я можу створити?

До 3 облікових записів на одну мережеву адресу. Більшість команд обходяться одним обліковим записом з кількома API ключами.

Надсилання повідомлень

Скільки номерів можна додати в один запит?

POST /v1/batches приймає до 10,000 номерів в один запит, або один текст для всіх, або індивідуальний текст для кожного номера. Консоль приймає до 50,000 номерів за одну кампанію. Більші списки розділяються на кілька запитів.

Як швидко надсилаються повідомлення?

Черга обробляється кожні дві секунди та передає до 1,200 повідомлень на хвилину на один обліковий запис до мережі, у порядку їх отримання. Одне повідомлення зазвичай надсилається протягом кількох секунд після запиту.

У якому форматі повинні бути номери телефонів?

Міжнародний формат E.164: знак плюсу, код країни та національний номер, наприклад, +14155550123. Пробіли, тире, дужки та префікс 00 автоматично видаляються; дублікати та номери, які неможливо прочитати, відкладаються і не сплачуються.

Якої довжини може бути повідомлення?

До 10 сегментів: 1,530 символів у GSM-7 або 670 у Unicode. Один сегмент містить 160 символів GSM-7 або 70 символів Unicode; довші тексти розділяються на частини по 153 або 67 символів і знову об’єднуються на телефоні.

Чому моє повідомлення використало більше сегментів, ніж я очікував?

Один символ поза алфавітом GSM-7, наприклад, фігурні лапки, емодзі або літера на кшталт á чи ç, переводить весь текст у Unicode з 70 символами на сегмент. Редактор у консолі вказує такі символи, а POST /v1/estimates повертає кодування перед надсиланням.

Чи можу я запланувати повідомлення?

Так. Додайте send_at до API запиту або оберіть час у консолі, від 2 хвилин до 45 днів наперед. Запланований пакет можна скасувати до його початку, і повна вартість повертається на баланс.

Чи може кожен одержувач отримати різний текст?

Так. Через API надішліть пакет з повідомленнями, один {to, text} для кожного одержувача. У консолі вставте або завантажте список з додатковими стовпцями та використовуйте поля злиття {{1}} до {{9}} у тексті.

Чи додається рядок відмови до моїх повідомлень?

Налаштуйте текст відмови один раз у Налаштуваннях, наприклад, посилання або електронну адресу, і консоль додасть його до текстів кампанії, коли ви поставите галочку. Через API ви контролюєте весь текст, тому додайте цей рядок самостійно до маркетингових повідомлень. Номери з вашого списку виключень пропускаються консоллю та API і не сплачуються.

Чи можу я спочатку надіслати тестове повідомлення?

Так. У консолі є можливість надіслати тестове повідомлення на один номер перед кампанією, а через API ви можете надіслати одне повідомлення на свій телефон за допомогою POST /v1/messages.

Ціни та оплата

Скільки коштує одне SMS?

Це залежить від країни номера: кожна країна має одну ціну за сегмент у доларах США, починаючи з $0.00247 (Бразилія). Сторінка цін та GET /v1/pricing містять список усіх країн.

Як розраховується вартість пакету?

Для кожного одержувача: ціна за сегмент у його країні помножена на кількість сегментів у тексті. Сума списується з балансу, коли запит прийнято, і відповідь показує її у полі cost.

Яка мінімальна сума поповнення?

$40. Поповнення може бути будь-якою сумою від $40 до $5,000. Перше поповнення додає бонус до 40%, який відображається для кожної суми перед оплатою.

Як здійснити оплату?

У консолі розділ Billing відкриває вікно з оплатою поверх сторінки. Ви обираєте суму та оплачуєте криптовалютою, а сторінка оплати показує точну суму та адресу. Сторінка платежів містить список кожного кроку.

Чи повертаються кошти за невдалі повідомлення?

Так. Коли повідомлення не вдається, його вартість автоматично повертається на баланс у тому ж циклі, як рядок повернення в журналі. Скасований запланований пакет повністю повертається.

Чи можу я вивести свій баланс?

Баланс використовується для оплати повідомлень і залишається на вашому рахунку без терміну дії. Повернення за невдалі або скасовані повідомлення також повертаються на баланс.

Чи змінюються ціни?

Ціни можуть змінюватися при зміні вартості мережі. Поточний список має дату, API повертає дату з кожною ціною, а повідомлення, які вже прийняті, зберігають ціну, за якою вони були сплачені.

Доставка та звіти

Як дізнатися, що повідомлення доставлено?

Кожне повідомлення переходить з черги до відправленого, доставленого або невдалого. Додайте URL вебхука в консолі, щоб отримати підписану подію для кожного фінального статусу, або читайте GET /v1/messages/{id} та GET /v1/batches/{id}.

Як підписуються вебхуки?

У форматі Standard Webhooks: заголовки webhook-id, webhook-timestamp та webhook-signature, де підпис є HMAC-SHA256 від id, timestamp та сирого тіла з вашим секретом whsec_. У документації є код перевірки для Node.js, Python, PHP та Go.

Що робити, якщо мій вебхук недоступний?

Кожна подія отримує 10 спроб протягом приблизно 24 годин, і кожна спроба вказана в консолі з її HTTP статусом. Ви також можете опитувати кінцеві точки повідомлень у будь-який час.

Чому повідомлення може не вдатися?

Телефон може бути вимкненим занадто довго, номер може більше не бути в службі, або мережа може відхилити повідомлення. Статус невдачі містить код помилки, а вартість повертається.

Як довго зберігаються записи про повідомлення?

Пакети, повідомлення та журнал балансу залишаються у вашому акаунті та в API. Журнал запитів зберігає останні 500 викликів API, а журнал вебхуків, останні 500 доставок.

Для розробників

Чи є SDK?

API, це звичайний JSON через HTTPS, тому стандартної бібліотеки будь-якої мови достатньо. У документації є повні приклади для curl, Node.js, Python, PHP та Go, а специфікація OpenAPI за адресою /openapi.json генерує типізований клієнт для більшості мов.

Які обмеження на кількість запитів?

600 запитів на хвилину для кожного API ключа. Кожна відповідь містить заголовки X-RateLimit-Limit, X-RateLimit-Remaining та X-RateLimit-Reset, а відповідь 429 містить Retry-After.

Як безпечно повторити запит після тайм-ауту?

Надсилайте POST запити з заголовком Idempotency-Key і повторюйте з тим самим ключем. Протягом 24 годин той самий ключ і тіло повертають першу відповідь замість повторного надсилання.

Чи можу я перевірити ціни без API ключа?

Так. GET /v1/pricing та GET /v1/pricing/{country} є публічними, тому сторінка оплати або панель керування можуть показувати актуальні ціни.

Де я можу побачити, що надіслав мій код?

У консолі є журнал запитів з методом, шляхом, статусом та часом ваших останніх 500 викликів API, поряд з пакетами, повідомленнями та журналом вебхуків.

Консоль

Чи можу я надсилати без написання коду?

Так. У консолі вставте номери або завантажте CSV-файл до 50 000 рядків, напишіть текст з полями злиття, перевірте прев'ю для кожного отримувача та вартість за країну, і надішліть зараз або у вказаний час.

Що показує консоль?

Баланс, останні пакети з лічильниками у реальному часі, кожен пакет з його повідомленнями та статусами, поповнення та журнал, API-ключі, налаштування та доставки вебхуків, журнал запитів, прайс-лист, запити в підтримку та налаштування.

Як зв'язатися з підтримкою?

Зі сторінки Support у консолі. Питання щодо оплати можна задавати з першого дня; інші теми стають доступними після зарахування першого поповнення.

Залишилися питання?

Увійшовши в акаунт, ви можете створити запит у підтримку з консолі. Питання щодо оплати можна задавати з першого дня.

FAQ Bulk SMS API: Ключі, Відправка, Ціни, Вебхуки | BulkSMSAPI