API
API
API
API
API
API
API

BSG використовує HTTP-cookies (а також подібні або додаткові технології), щоб:
1) забезпечити безпечну, стабільну та доступну роботу сайту (через використання обов’язкових cookies) та
2) зрозуміти, як ви користуєтеся сайтом (через використання необов’язкових cookies) — з метою покращення вашого досвіду та надання персоналізованого контенту.

Інформація у cookie-файлах може бути пов’язана з вашими уподобаннями або пристроєм і допомагає сайту працювати так, як ви очікуєте. Зазвичай ці файли не ідентифікують вас безпосередньо, але дозволяють забезпечити більш персоналізовану взаємодію з сайтом.

Відповідно до вимог Загального регламенту про захист даних (GDPR), який регулює обробку та передачу персональних даних осіб у ЄС, ми надаємо вам можливість заборонити використання певних типів cookies під час відвідування нашого сайту.

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

Прийняти всі cookies*
*Рекомендовано для комфортного користування сайтом
Прийняти лише необхідні cookies
Прийняти лише вибрані cookies
Необхідні cookies
Соціальні мережі
Аналітика
Маркетинг

BSG переїхав на новий DevPortal
щоб швидше випускати найновіші версії One API

Використовуйте його для актуальних ендпоінтів, гайдів і журналів змін

Перейти на новий DevPortal
Документація для розробників
Number Intelligence

2FA API

BSG 2FA API — це RESTful API для двофакторної автентифікації користувачів на сайті чи у вебзастосунку: з його допомогою можна підтверджувати транзакції та контактні дані користувача, використовувати його як другий фактор автентифікації тощо.

BSG 2FA API дає змогу обрати канал надсилання одноразового пароля (OTP) користувачеві: SMS або Viber. Підключіть потрібний канал в особистому кабінеті на сторінці «Налаштування» розділу «2FA» — і починайте працювати з BSG 2FA API.

Зверніть увагу: 2FA API недоступний у демо-режимах акаунта (режимах, у яких дані вашого акаунта не верифіковано).

Переконайтеся, що ви вказали всі необхідні дані в налаштуваннях акаунта, щоб користуватися сервісом 2FA.

Доступні методи HTTP

Надіслати одноразовий пароль

Цей виклик API використовується, щоб згенерувати й надіслати користувачеві одноразовий пароль у повідомленні SMS або Viber. Зверніть увагу: автентифікація отримувачів, які перебувають у стоп-листі SMS або Viber у вашій контактній книзі, відповідним методом неможлива. (Тобто якщо отримувач у стоп-листі SMS, то під час запиту автентифікації методом SMS одноразовий пароль не буде надіслано, а у відповідь ви отримаєте помилку).

Щоб надіслати одноразовий пароль, зробіть запит на цей URL:

POST https://one-api.bsg.world/api/2fa/authentications/otp

Будьте надійними. Використовуйте 2FA
Почати

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
channel Так string Ні Канал для надсилання одноразового пароля. Можливі значення: “SMS”, “Viber”.
sender Так string Ні Імʼя відправника: від 3 до 11 символів для алфавітно-цифрового імені відправника (латинські літери, символи, цифри, пробіли); від 3 до 15 символів для цифрового імені відправника.
recipient Так integer Ні Номер телефону отримувача одноразового пароля. Від 9 до 15 цифр без знака +. Від 3 до 15 символів для цифрового імені відправника.
template_id Так string Ні Унікальний ідентифікатор шаблону зі статусом Approved. Вказувати ID шаблону в інших статусах не можна. ID шаблону має містити від 1 до 9 цифр.
code_digits Так integer Ні Довжина числового коду, від 3 до 9 цифр.
code_lifetime Так integer Ні Термін дії пароля, після якого пароль стає недійсним. Ціле число від 30 до 300 секунд.
code_max_tries Так integer Ні Кількість спроб перевірки пароля. Ціле число від 1 до 5.
sender_alt Ні string Ні Використовується лише для каналу Viber, щоб альтернативно надіслати одноразовий код в SMS (якщо надіслати код у Viber-повідомленні не вдалося, наприклад, якщо отримувач не користується Viber). Імʼя або номер відправника SMS. Рядок до 15 символів: від 3 до 11 символів для алфавітно-цифрового імені відправника (латинські літери, символи, цифри, пробіли); від 3 до 15 символів для цифрового імені відправника.

Приклад запиту


{ 

  "recipient": "61401629754", 
  "channel": "string", 
  "sender": "SENDER", 
  "sender_alt": "SENDER_ALT", 
  "template_id": "12", 
  "code_lifetime": 300, 
  "code_max_tries": 3, 
  "code_digits": 5 

}

Параметри відповіді

Параметр Тип Опис
id string ID згенерованої автентифікації.
recipient string Номер отримувача повідомлення з одноразовим кодом.
status string Статус автентифікації. Можливі значення: pending (сесію автентифікації успішно створено, вона очікує на підтвердження).
channel string Канал автентифікації, обраний для надсилання одноразового коду
sender string Імʼя відправника.
sender_alt string/ null Імʼя відправника SMS.
message_text string Текст повідомлення.
code_lifetime integer Термін дії OTP.
code_max_tries integer Кількість спроб перевірки OTP.
code_digits integer Кількість цифр в OTP.
price float Вартість автентифікації. На момент створення автентифікації вказується значення 0 .
currency string Трилітерний код валюти, у якій вказано значення. Відповідає валюті облікового запису користувача.
country_code string Код країни отримувача одноразового пароля за стандартом ISO 3166-1 alpha-2.
expired_at string Дата й час завершення терміну дії автентифікації у форматі ISO 8601.
created_at string Дата й час створення сесії автентифікації у форматі ISO 8601.
finished_at null Дата й час закриття сесії автентифікації. На момент створення автентифікації вказується значення “null”.

Приклад відповіді

Відповідь у разі успішного запиту:


{
  "data": {
    "id": "bf4381c8-9d4a-4705-bd28-f89a830b7f96",
    "recipient": "380979965073",
    "status": "pending",
    "channel": "sms",
    "sender": "SENDER",
    "sender_alt": "SENDER_ALT",
    "message_text": "Your verification code: {code}",
    "code_lifetime": 300,
    "code_max_tries": 3,
    "code_digits": 5,
    "price": "0,02",
    "currency": "USD",
    "country_code": "UA",
    "expired_at": "2023-01-04 18:37:06",
    "created_at": "2023-01-04 17:37:06"
    "finished_at": "2023-01-04 17:37:06"
  }
}

Коди помилок

Код Помилка Опис
404 Канал користувача не знайдено Ця помилка може виникати, коли канал вказано неправильно. Переконайтеся, що використовуєте правильний канал, і повторіть спробу.
404 Шаблон не знайдено Ця помилка може виникати, коли ідентифікатор шаблону вказано неправильно або вказаного шаблону немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор шаблону, і повторіть спробу.
422 Недійсний статус шаблону Ця помилка виникає, коли шаблон із вказаним у запиті ідентифікатором не має статусу “Approved”.
402 Insufficient funds Недостатньо коштів для надсилання OTP. Поповніть рахунок.
422 Присутній у стоп-листі Ми не можемо надіслати повідомлення, оскільки номер телефону отримувача наразі в стоп-листі.
422 Канал користувача неактивний Метод надсилання повідомлень вимкнено. Увімкніть його в особистому кабінеті й повторіть спробу.
422 Ця дія доступна для облікового запису вашого типу лише для номера телефону вашого менеджера. Надсилання OTP-коду недоступне в демо-режимі акаунта.
422 Ліміт автентифікацій зі статусом pending Ця помилка може виникати, коли для вашого акаунта перевищено загальний ліміт автентифікацій зі статусом “pending”.
422 Загальний ліміт автентифікацій Ця помилка може виникати, коли для вашого акаунта перевищено загальний ліміт автентифікацій.
422 Шаблон недоступний Ця помилка виникає, коли ви намагаєтеся створити автентифікацію з шаблоном, доступним лише в тестовому режимі вашого акаунта. Оберіть інший шаблон.

Повторно надіслати одноразовий код

Використовується для повторного надсилання одноразового пароля отримувачеві: генерується й надсилається в повідомленні новий одноразовий пароль, а попередній стає недійсним. Під час повторного надсилання для генерування OTP використовуються вже збережені дані із запиту https://one-api.bsg.world/api/2fa/authentications/otp

Цей виклик API доступний, лише якщо поточну автентифікацію не завершено до закінчення терміну її дії (термін дії автентифікації вказується в кожній відповіді 2FA API).

Щоб повторно надіслати одноразовий код, зробіть запит на цей URL:

POST https://one-api.bsg.world/api/2fa/authentications/otp/{id}/resend

Будьте надійними. Використовуйте 2FA
Почати

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
id Так string Ні ID автентифікації, отриманий у відповіді на https://one-api.bsg.world/api/2fa/authentications/otp Максимальна довжина — 36 символів.

Параметри відповіді

Параметр Тип Опис
id string ID згенерованої автентифікації.
recipient string Номер отримувача повідомлення з одноразовим кодом.
status string Статус автентифікації. Можливі значення: pending (сесію автентифікації успішно створено, вона очікує на підтвердження).
channel string Канал автентифікації, обраний для надсилання одноразового коду
sender string Імʼя відправника.
sender_alt string/ null Імʼя відправника SMS.
message_text string Текст повідомлення.
code_lifetime integer Термін дії OTP.
code_max_tries integer Кількість спроб перевірки OTP.
code_digits integer Кількість цифр в OTP.
price float Вартість автентифікації. На момент створення автентифікації вказується значення 0 .
currency string Трилітерний код валюти, у якій вказано значення. Відповідає валюті облікового запису користувача.
country_code string Код країни отримувача одноразового пароля за стандартом ISO 3166-1 alpha-2.
expired_at string Дата й час завершення терміну дії автентифікації у форматі ISO 8601.
created_at string Дата й час створення сесії автентифікації у форматі ISO 8601.
finished_at null Дата й час закриття сесії автентифікації. На момент створення автентифікації вказується значення “null”.

Приклад відповіді

Відповідь у разі успішного запиту:


{
  "data": {
    "id": "bf4381c8-9d4a-4705-bd28-f89a830b7f96",
    "recipient": "380979965073",
    "status": "pending",
    "channel": "sms",
    "sender": "SENDER",
    "sender_alt": "SENDER_ALT",
    "message_text": "Your verification code: {code}",
    "code_lifetime": 300,
    "code_max_tries": 3,
    "code_digits": 5,
    "price": "0,02",
    "currency": "USD",
    "country_code": "UA",
    "expired_at": "2023-01-04 18:37:06",
    "created_at": "2023-01-04 17:37:06"
    "finished_at": "2023-01-04 17:37:06"
  }
}

Коди помилок

Код Помилка Опис
422 Статус автентифікації — помилка Ця помилка може виникати під час спроби повторно надіслати OTP-код для сесії автентифікації, яку вже завершено зі статусом ‘failed’. Повторне надсилання OTP-коду можливе, лише коли сесія автентифікації має статус ‘pending’.
422 Статус автентифікації — скасовано Ця помилка може виникати під час спроби повторно надіслати OTP-код для сесії автентифікації, яку вже завершено зі статусом ‘canceled’. Повторне надсилання OTP-коду можливе, лише коли сесія автентифікації має статус ‘pending’.
422 Authentication expired Ця помилка може виникати під час спроби повторно надіслати OTP-код для сесії автентифікації, яку вже завершено зі статусом ‘expired’. Повторне надсилання OTP-коду можливе, лише коли сесія автентифікації має статус ‘pending’
404 Автентифікацію не знайдено Ця помилка може виникати, коли ідентифікатор автентифікації вказано неправильно або вказаної автентифікації немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор автентифікації, і повторіть спробу.

Перевірити одноразовий код

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

Щоб перевірити одноразовий код, зробіть запит на цей URL:

POST https://one-api.bsg.world/api/2fa/authentications/otp/{id}/verify

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
id Так string Ні ID автентифікації, отриманий у відповіді на https://one-api.bsg.world/api/2fa/authentications/otp Максимальна довжина — 36 символів.
access_code Так integer Ні Одноразовий пароль, який потрібно перевірити і який користувач отримав через канал, вказаний у запиті на генерування, або через альтернативний канал (необовʼязково). Ціле число від 3 до 9 цифр.

Параметри відповіді

Приклад відповіді, якщо код неправильний:


{
  "errors": [
    {
      "message": "The code does not match the expected value"
    }
  ]
}

Якщо одноразовий код правильний:

Параметр Тип Опис
id string ID згенерованої автентифікації.
recipient string Номер отримувача повідомлення з одноразовим паролем.
status string Статус автентифікації. Можливі значення: verified (код успішно перевірено, сесію закрито з успішним результатом).
channel string Канал автентифікації.
sender string Імʼя відправника.
sender_alt string Імʼя відправника SMS.
message_text string Текст повідомлення.
code_lifetime integer Термін дії OTP.
code_max_tries integer Кількість спроб перевірки OTP.
code_digits integer Кількість цифр в OTP.
price float Вартість автентифікації (без вартості надісланих повідомлень).
currency string Трилітерний код валюти, у якій вказано значення. Відповідає валюті облікового запису користувача.
country_code string Код країни отримувача за ISO 3166-1 alpha-2.
expired_at string Дата й час завершення терміну дії сесії автентифікації у форматі ISO 8601.
created_at string Дата й час створення сесії автентифікації у форматі ISO 8601.
finished_at string Дата й час закриття сесії автентифікації у форматі ISO 8601.

Приклад відповіді


{
  "data": {
    "id": "bf4381c8-9d4a-4705-bd28-f89a830b7f96",
    "recipient": "380979965073",
    "status": "pending",
    "channel": "sms",
    "sender": "SENDER",
    "sender_alt": "SENDER_ALT",
    "message_text": "Your verification code: {code}",
    "code_lifetime": 300,
    "code_max_tries": 3,
    "code_digits": 5,
    "price": "0,02",
    "currency": "USD",
    "country_code": "UA",
    "expired_at": "2023-01-04 18:37:06",
    "created_at": "2023-01-04 17:37:06"
    "finished_at": "2023-01-04 17:37:06"
  }
}

Коди помилок

Код Помилка Опис
404 Автентифікацію не знайдено Ця помилка може виникати, коли ідентифікатор автентифікації вказано неправильно або вказаної автентифікації немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор автентифікації, і повторіть спробу.
404 Код не відповідає очікуваному значенню Помилка виникає, коли наданий код не збігається зі значенням, надісланим на номер отримувача.
422 Термін дії коду доступу закінчився Термін дії вашого OTP-пароля минув. OTP-пароль більше не дійсний.
422 Ліміт спроб перевірки автентифікації Ця помилка може виникати, коли перевищено ліміт спроб для сесії автентифікації.

Скасувати сесію автентифікації

Використовується для скасування процесу автентифікації. У цьому разі автентифікація має бути в статусі Pending.

Щоб скасувати сесію автентифікації, зробіть запит на цей URL:

POST https://one-api.bsg.world/api/2fa/authentications/{id}/cancel

Параметри запиту

Параметри Обовʼязковий Тип За замовчуванням Опис
id Так string Ні ID автентифікації, отриманий у відповіді на https://one-api.bsg.world/api/2fa/authentications/otp Максимальна довжина — 36 символів.

Параметри відповіді

Параметр Тип Опис
id string ID згенерованої автентифікації.
recipient string Номер отримувача повідомлення з OTP-кодом.
status string Статус автентифікації. Можливі значення: canceled.
channel string Канал автентифікації.
sender string Імʼя відправника.
sender_alt string Альтернативне імʼя відправника SMS
message_text string Текст повідомлення.
code_lifetime integer Термін дії OTP.
code_max_tries integer Кількість спроб перевірки OTP.
code_digits integer Кількість цифр в OTP.
price float Вартість сесії автентифікації. Якщо автентифікацію скасовано, вартість дорівнює 0.
currency string Трилітерний код валюти, у якій вказано вартість.
country_code string Код країни отримувача за ISO 3166-1 alpha-2.
expired_at string Дата й час завершення терміну дії сесії автентифікації у форматі ISO 8601.
created_at string Дата й час створення сесії автентифікації у форматі ISO 8601.
finished_at string Дата й час закриття сесії автентифікації у форматі ISO 8601.

Приклад відповіді

Відповідь у разі успішного запиту:


{
  "data": {
    "id": "bf4381c8-9d4a-4705-bd28-f89a830b7f96",
    "recipient": "380979965073",
    "status": "canceled",
    "channel": "sms",
    "sender": "SENDER",
    "sender_alt": "SENDER_ALT",
    "message_text": "Your verification code: {code}",
    "code_lifetime": 300,
    "code_max_tries": 3,
    "code_digits": 5,
    "price": "0,02",
    "currency": "USD",
    "country_code": "UA",
    "expired_at": "2023-01-04 18:37:06",
    "created_at": "2023-01-04 17:37:06"
    "finished_at": "2023-01-04 17:37:06"
  }
}

Можливі помилки

Код Помилка Опис
404 Автентифікацію не знайдено Ця помилка може виникати, коли ідентифікатор автентифікації вказано неправильно або вказаної автентифікації немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор автентифікації, і повторіть спробу.
422 Статус автентифікації — помилка Ця помилка може виникати під час спроби скасувати сесію автентифікації, яку вже завершено зі статусом “failed”. Скасувати сесію автентифікації можна, лише поки вона має статус “pending”.
422 Authentication expired Ця помилка може виникати під час спроби скасувати сесію автентифікації, яку вже завершено зі статусом “expired”. Скасувати сесію автентифікації можна, лише поки вона має статус “pending”.

Перевірити статус автентифікації

Використовується для отримання інформації про поточний статус автентифікації за її ідентифікатором.

Щоб перевірити статус автентифікації, зробіть запит на цей URL:

GET https://one-api.bsg.world/api/2fa/authentications/{id}

Будьте надійними. Використовуйте 2FA
Почати

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
id Так string Ні ID автентифікації, отриманий у відповіді на https://one-api.bsg.world/api/2fa/authentications/otp . Максимальна довжина — 36 символів.

Параметри відповіді

Параметр Тип Опис
id string ID автентифікації, створеної за запитом користувача.
recipient string Номер отримувача повідомлення з OTP (вказує користувач у запиті автентифікації)
status string Статус автентифікації. Можливі значення: pending — автентифікацію створено, вона очікує на підтвердження; verified — автентифікація успішна (код успішно перевірено); expired — термін дії автентифікації минув; failed — автентифікація неуспішна; canceled — автентифікацію скасовано.
channel string Канал автентифікації. Можливі значення: SMS, Viber.
sender string Імʼя відправника (вказує користувач у запиті автентифікації).
sender_alt string Альтернативне імʼя відправника для надсилання SMS (вказує користувач у запиті автентифікації).
code_lifetime integer Термін дії OTP (вказує користувач у запиті автентифікації).
code_max_tries integer Кількість спроб перевірки OTP (вказує користувач у запиті автентифікації).
code_digits integer Кількість цифр в OTP (вказує користувач у запиті автентифікації).
price string Вартість автентифікації (без вартості надісланих повідомлень). Сума відображається із 7 знаками після коми.
currency string Трилітерний код валюти, у якій вказано значення.
country_code string Код країни отримувача за ISO 3166-1 alpha-2.
expired_at string Дата завершення терміну дії сесії автентифікації.
created_at string Дата й час створення автентифікації у форматі ISO 8601.
finished_at string Дата й час закриття автентифікації у форматі ISO 8601.
messages array Масив обʼєктів повідомлень:
messages[]id string Унікальний ID повідомлення.
messages[]recipient string Номер телефону отримувача.
messages[]status string Статус повідомлення. Можливі значення: delivered — повідомлення надіслано; accepted — повідомлення прийнято до надсилання; undelivered — повідомлення не доставлено.
messages[]channel string Канал надсилання повідомлення. Можливі значення: SMS або Viber.
messages[]sender string Імʼя відправника повідомлення.
messages[]text string Текст повідомлення.
messages[]price float Вартість повідомлення.
messages[]currency string Трилітерний код валюти, у якій вказано значення.
messages[]sent_at string Дата й час надсилання повідомлення у форматі ISO 8601.
messages[]created_at string Дата й час створення повідомлення у форматі ISO 8601.

Приклад відповіді

Відповідь у разі успішного запиту:


{

  "data": {

      "id": "ea5db413-e368-4952-b745-cc2030210c49", 
      "recipient": "380501403813", 
      "status": "verified", 
      "channel": "sms", 
      "sender": "testsms", 
      "sender_alt": "string", 
      "message_text": "Your BSG 2FA confirmation code is {code}. Do not share this with anyone else.", 
      "code_lifetime": 30, 
      "code_max_tries": 5, 
      "code_digits": 6, 
      "price": 50.25, 
      "currency": "EUR", 
      "country_code": "FR", 
      "expired_at": "2022-04-28 14:21:16", 
      "created_at": "2022-04-28 14:21:16", 
      "updated_at": "2022-04-28 14:21:16", 
      "finished_at": "2022-04-28 14:21:16", 

      "messages": [

        { 
          "id": "1ed32701-5d4f-6cfa-ba06-9db3aa8bab68", 
          "recipient": "61401629754", 
          "status": "accepted", 
          "channel": "sms", 
          "sender": "SENDER", 
          "price": 0.0642918, 
          "currency": "EUR", 
          "sent_at": "2022-04-18 11:00:30", 
          "created_at": "2022-04-18 10:55:35" 

        } 

      ] 

  } 

}

Можливі помилки

Код Помилка Опис
404 Автентифікацію не знайдено Ця помилка може виникати, коли ідентифікатор автентифікації вказано неправильно або вказаної автентифікації немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор автентифікації, і повторіть спробу.

Отримати список сесій автентифікації

Використовується для отримання списку автентифікацій за період.

Щоб отримати список сесій автентифікації, зробіть запит на цей URL:

GET https://one-api.bsg.world/api/2fa/authentications

Будьте надійними. Використовуйте 2FA
Почати

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
page[offset] Ні integer 0 Отримати автентифікації, починаючи зі зсуву offset.
page[limit] Ні integer 10 Кількість автентифікацій у відповіді. Можливі значення — від 10 до 500.
filter[from] Так string Дата початку періоду (дата й час створення сесії автентифікації) у форматі ISO 8601.
filter[to] Так string Дата завершення періоду (дата й час створення автентифікації) у форматі ISO 8601.
filter[ids] Ні string ID автентифікації. Максимальна кількість — 3.
filter[status] Ні string Можливі значення: “pending”, “verified”, “expired”, “failed”, “canceled”.
filter[channel] Ні string Можливі значення: “ SMS ”, “ Viber ”.
filter[recipient] Ні string Номер телефону, на який ви хочете надіслати OTP-код. Від 9 до 15 цифр.
filter[country_code] Ні string Код країни отримувача за стандартом ISO 3166-1 alpha-2
way Ні string asc Варіанти сортування: asc, desc
sort Ні string created_at Сортування за: id, status, channel, recipient, created_at, finished_at, country_code.

Параметри відповіді

Параметр Тип Опис
list array Масив обʼєктів автентифікацій.
list[]id string ID згенерованої автентифікації.
list[]recipient string Номер отримувача повідомлення з OTP-кодом.
list[]status string Статус автентифікації. Можливі значення: pending — автентифікацію створено, вона очікує на підтвердження; verified — автентифікація успішна (одноразовий пароль успішно перевірено); expired — термін дії автентифікації минув; failed — автентифікація неуспішна; canceled — автентифікацію скасовано.
list[]channel string Канал автентифікації.
list[]sender string Імʼя відправника.
list[]sender_alt string Альтернативне імʼя відправника для SMS.
list[]code_lifetime integer Термін дії одноразового пароля.
list[]code_max_tries integer Кількість спроб перевірки одноразового пароля.
list[]code_digits integer Кількість цифр в одноразовому паролі.
list[]price float Вартість сесії автентифікації.
list[]currency string Трилітерний код валюти, у якій вказано вартість автентифікації.
list[]country_code string Код країни отримувача за ISO 3166-1 alpha-2.
list[]expired_at string Дата завершення терміну дії автентифікації у форматі ISO 8601.
list[]created_at string Дата й час створення автентифікації у форматі ISO 8601.
list[]finished_at string Дата й час закриття автентифікації у форматі ISO 8601.
list[]messages array Масив обʼєктів повідомлень:
list[]messages[]id string Унікальний ID повідомлення.
list[]messages[]recipient string Номер телефону отримувача.
list[]messages[]status string Статус повідомлення. Можливі значення: delivered — повідомлення надіслано; accepted — повідомлення прийнято до надсилання; undelivered — повідомлення не доставлено.
list[]messages[]sender string Імʼя відправника повідомлення.
list[]messages[]text string Текст повідомлення.
list[]messages[]price float Вартість повідомлення.
list[]messages[]currency string Валюта акаунта, у якій вказано вартість. Відповідає валюті облікового запису користувача.
list[]messages[]sent_at string Дата й час надсилання повідомлення у форматі ISO 8601.
list[]messages[]created_at string Дата й час створення повідомлення у форматі ISO 8601.
total integer Загальна кількість автентифікацій.

Приклад відповіді

Відповідь у разі успішного запиту:


{
  "data": {
    "list": [
      {
      "id": "ea5db413-e368-4952-b745-cc2030210c49",
      "recipient": "380501403813",
      "status": "verified",
      "channel": "sms",
      "sender": "testsms",
      "sender_alt": "string",
      "message_text": "Your BSG 2FA confirmation code is {code}. Do not share this with anyone else.",
      "code_lifetime": 30,
      "code_max_tries": 5,
      "code_digits": 6,
      "price": 50.25,
      "currency": "EUR",
      "country_code": "FR",
      "expired_at": "2022-04-28 14:21:16",
      "created_at": "2022-04-28 14:21:16",
      "updated_at": "2022-04-28 14:21:16",
      "finished_at": "2022-04-28 14:21:16",
      "messages": [
        {
          "id": "1ed32701-5d4f-6cfa-ba06-9db3aa8bab68",
          "recipient": "61401629754",
          "status": "accepted",
          "channel": "sms",
          "sender": "SENDER",
          "price": 0.0642918,
          "currency": "EUR",
          "sent_at": "2022-04-18 11:00:30",
          "created_at": "2022-04-18 10:55:35"
        }
      ]
    },
    "total": 100
  }
}

Створити шаблон повідомлення

Цей метод створює новий шаблон повідомлення для надсилання OTP-коду.

Зверніть увагу: після створення шаблон проходить модерацію. Він буде доступний для надсилання повідомлень з OTP-кодом лише після модерації. Щойно шаблон буде готовий, його статус зміниться з Requested на Approved.

Щоб створити шаблон повідомлення, зробіть запит на цей URL:

POST https://one-api.bsg.world/api/2fa/authentications/templates

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
name Так string Назва шаблону. Рядок від 3 до 50 символів.
countries Так string Дволітерний код(и) країни, для якої/яких застосовується створений шаблон. Надсилання повідомлень з OTP-кодом буде можливим, лише якщо номер отримувача належить країні, вказаній у шаблоні.
text Так string Текст шаблону повідомлення. Рядок від 9 до 70 символів у будь-якому кодуванні (кирилиця, латиниця). Текст повинен містити одну змінну для OTP-коду — {code2fa}, яка автоматично замінюється на OTP-код під час надсилання повідомлення.

Приклад запиту


{   

   "name": "template name",   

   "countries": ["UA","PT","AD","IT"],   

   "text": "test code is {code2fa}" 

}

Параметри відповіді

Параметр Тип Опис
template_id string Унікальний ідентифікатор шаблону в сервісі 2FA, автоматично згенерований системою.
name string Назва шаблону.
text string Текст шаблону повідомлення.
countries string Список країн, для яких створено шаблон.
status string Статус шаблону. Після створення шаблону його статус завжди буде «requested».
updated_at string Дата й час останньої зміни шаблону у форматі ISO 8601.

Приклад відповіді

Відповідь у разі успішного запиту:


{

"data": {

     "template_id": 515,

     "name": "template name",

     "text": "test code is {code2fa}",

     "countries": [

             "AD",

             "IT",

             "PT",

             "UA"

           ],

     "status": "requested",

     "updated_at": "2023-06-30 14:52:58"

    }

}

Можливі помилки

Код Помилка Опис
422 Кількість запитів на створення шаблону обмежена 10. Дочекайтеся підтвердження від менеджера, перш ніж надсилати новий запит. Ви можете мати не більше 10 шаблонів зі статусом «Requested». Якщо у вас уже є 10 таких шаблонів, потрібно видалити один із них, щоб створити новий. Також місце для нового шаблону звільняється, якщо будь-який з існуючих шаблонів переходить у статус «Approved» або «Rejected».
422 У тексті обовʼязково повинна бути змінна {code2fa} Ця помилка виникає, якщо текст шаблону повідомлення не містить обовʼязкової змінної {code2fa} або синтаксис змінної некоректний. Ця змінна призначена для вставки фактичного OTP-коду в текст повідомлення.
422 Змінна {code2fa} має зустрічатися в тексті лише один раз Ця помилка виникає, якщо в тексті шаблону повідомлення знайдено кілька входжень змінної {code2fa}. Перевірте весь текст шаблону та видаліть зайві входження змінної.
422 Ця дія недоступна для облікового запису вашого типу Створення шаблону повідомлення для надсилання OTP-кодів недоступне в режимі облікового запису Demo та Test.
422 У користувача вже є шаблон з такою самою назвою! Шаблон із назвою, вказаною в параметрі «name», уже існує. Використовуйте назви, що відрізняються від наявних шаблонів.

Видалити шаблон повідомлення

Цей метод видаляє шаблон повідомлення для надсилання OTP-коду за його унікальним ідентифікатором.

Щоб видалити шаблон повідомлення, надішліть запит на цей URL:

DELETE https://one-api.bsg.world/api/2fa/authentications/templates/{template_id}

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
template_id Так string Ні Ідентифікатор шаблону повідомлення, який потрібно видалити. Від 1 до 9 цифр.

Параметри відповіді

Якщо запит виконано успішно, повертається відповідь — Successfully removed.

Коди помилок

Код Помилка Опис
422 Шаблон за замовчуванням не можна видалити Ця помилка виникає під час спроби видалити шаблон, який встановлено як шаблон за замовчуванням. Такий шаблон видалити не можна.
404 Шаблон не знайдено Ця помилка може виникати, коли ідентифікатор шаблону вказано неправильно або вказаного шаблону немає в системі. Переконайтеся, що використовуєте правильний ідентифікатор шаблону, і повторіть спробу.

Отримати список шаблонів

Цей метод повертає список шаблонів повідомлень для надсилання OTP-коду з можливістю фільтрації за різними параметрами.

Щоб отримати список шаблонів, надішліть запит на цей URL:

GET https://one-api.bsg.world/api/2fa/authentications/templates

Параметри запиту

Параметр Обовʼязковий Тип За замовчуванням Опис
page[offset] Ні integer 0 Отримати шаблони 2FA, починаючи зі зсуву (offset).
page[limit] Ні integer 10 Кількість шаблонів 2FA у відповіді.
filter[ids] Ні array($string) Список ідентифікаторів шаблонів.
filter[status] Ні string Можливі значення: requested, rejected, approved.
way Ні string asc Варіанти сортування: asc, desc
sort Ні string updated_at Сортування за template_id, status, name, updated_at.

Параметри відповіді

Параметр Тип Опис
template_id string Унікальний ідентифікатор шаблону.
name string Назва шаблону.
text string Текст повідомлення
countries string Список країн, для яких створено шаблон.
status string Статус шаблону. Можливі значення:
  • Requested — шаблон успішно створено, він очікує на підтвердження. Використовувати шаблон у цьому статусі для надсилання коду OTP не можна.
  • Rejected — шаблон відхилено. Використовувати цей шаблон для надсилання коду OTP не можна.
  • Approved — шаблон підтверджено, він доступний для надсилання повідомлень з OTP-кодом.
updated_at string Дата й час створення або останньої зміни шаблону. Формат відображення — ISO 8601: yyyy-mm-dd hh:mm:ss.
total integer Загальна кількість шаблонів, що відповідають умовам пошуку.

Приклад відповіді

Відповідь у разі успішного запиту:


{

   "data": [

      {

         "template_id": "49",

         "name": "string",

         "countries": [

            "AD",

            "IT",

            "PT",

            "UA"

         ],

         "text": "Your BSG 2FA confirmation code is {code2fa}.",

         "status": "approved",

         "updated_at": "2022-04-18 10:55:35"

      }

   ],

   "total": 1,

   }

}

2FA errors:

Відповіді з помилками One API:

1.1. Термін дії коду доступу закінчився

1.2. Код доступу не знайдено

1.3. Статус автентифікації — скасовано

1.4. Термін дії автентифікації закінчився

1.5. Статус автентифікації — помилка

1.6. Недійсний статус автентифікації

1.7. Ліміт автентифікацій зі статусом pending

1.8. Загальний ліміт автентифікацій

1.9. Ліміт спроб перевірки автентифікації

1.10. Автентифікацію не знайдено

1.11. Ціну автентифікації не знайдено

1.12. Недостатньо коштів

1.13. Отримувач присутній у стоп-листі

1.14. Канал автентифікації неактивний

1.15. Канал автентифікації не знайдено

1.16. Шаблон не знайдено

1.17. Шаблон за замовчуванням не можна видалити

1.18. У користувача вже є шаблон з такою самою назвою!

1.19. Ця дія недоступна для облікового запису вашого типу.

1.20. Змінна {code2fa} має зустрічатися в тексті лише один раз

1.21. У тексті обовʼязково повинна бути змінна {code2fa}

1.22. Кількість запитів на створення шаблону обмежена 10. Дочекайтеся підтвердження від менеджера, перш ніж надсилати новий запит.


{
  "errors": [
    {
      "message": "ERROR_MESSAGE_1"
    }
  ]
}

2. Помилки валідації OneAPI:


{
  "message": "The given data was invalid.",
  "errors": {
    "<FIELD_1>": [
      "<VALIDATION_ERROR_1>"
    ], ...

    "<FIELD_N>": [
      "<VALIDATION_ERROR_N>"
    ]
  }
}

3. Помилки інтеграції OneAPI з 2FA:

3.1. Необроблена відповідь сервісу 2FA порожня.

3.2. Необроблена відповідь сервісу 2FA містить некоректний вміст.

3.3. Відповідь сервісу 2FA з помилкою порожня.

3.4. Структура відповіді сервісу 2FA з помилкою некоректна.

3.5. Помилка отримання відповіді-помилки від сервісу 2FA.

3.6. Помилка отримання успішної відповіді від сервісу 2FA.

3.7. Помилка отримання відповіді від сервісу 2FA.

3.8. Помилка сервісу 2FA.

3.9. Помилка отримання відповіді-помилки від сервісу 2FA.

3.10. Помилка отримання успішної відповіді від сервісу 2FA.

3.11. Помилка отримання відповіді від сервісу 2FA.


{
  "message": "<ERROR_MESSAGE>",
  "errors": [
    ...
  ]
}

Зацікавлені у спеціальній пропозиції?

Готові розширювати можливості?
Давайте обговоримо.

Надіслати

Корисні Матеріали

WhatsApp Business API: повний гайд — налаштування, ціни, сценарії [2026]
WhatsApp Business API: повний гайд — налаштування, ціни, сценарії використання [2026]

WhatsApp Business API у 2026 — кроки налаштування, нова модель тарифікації за повідомлення та перевірені сценарії використання за галузями.

Що таке CPaaS? Повний бізнес-гайд із Communications Platform as a Service
Що таке CPaaS? Повний бізнес-гайд із Communications Platform as a Service

Що таке CPaaS? Хмарний API-шар, що додає SMS, WhatsApp, голос та OTP у ваші застосунки — як це працює і чому це краще за стек із кількох вендорів.

Один комунікаційний API для SMS, WhatsApp, Viber і RCS — чому він кращий за пʼять
Один комунікаційний API для SMS, WhatsApp, Viber та RCS — чому він кращий за пʼять

Чому один комунікаційний API для SMS, WhatsApp, Viber та RCS кращий за пʼять окремих інтеграцій — каскадний fallback, єдині звіти.