HTTP/HTTPS API

Підключайте номери, приймайте та надсилайте SMS зі свого сервісу. Авторизація Bearer-токеном, JSON-відповіді, публічні методи без ключа.

API

Швидкий старт

1
Створіть акаунт або увійдіть у кабінет.
2
Увімкніть API в налаштуваннях і скопіюйте токен.
3
Авторизація
Передавайте токен у заголовку Authorization.
4
Методи
Використовуйте ендпоінти нижче для номерів і SMS.
5
Баланс
Для купівлі номера та надсилання SMS поповніть рахунок.

Автентифікація

Усі запити, крім /api/login, /api/register, /api/restore_password і /api/public/*, потребують Bearer-токен. Ті самі методи доступні під префіксом /api/v1/....

Authorization: Bearer <api_token>

Базовий URL: https://sms-numbers.co/api

Для POST з тілом надсилайте Content-Type: application/json. Відповіді приходять з Content-Type: application/json; charset=UTF-8.

API номерів

GET

Список номерів

Повертає номери акаунта (з країною та статусом). Тимчасові/OTP-номери за замовчуванням приховані.

GET https://sms-numbers.co/api/numbers

Header: Authorization: Bearer <api_token>

  • filter (string) — опційний фільтр за статусом (filter_slug), наприклад active.
  • include_disposable (boolean) — включити тимчасові номери для реєстрації.
GET

Інформація про номер

Дані конкретного номера, що належить вам.

GET https://sms-numbers.co/api/number/{id}

Шлях: id (integer) — ID зі списку. 404 якщо не знайдено.

GET

Пошук (застарілий)

Залишено для сумісності. Для тарифів використовуйте публічні методи цін, потім POST /api/number/buy.

GET https://sms-numbers.co/api/numbers/search/{iso}

Шлях: iso — ISO-код країни, наприклад ru, us.

Тарифи: GET https://sms-numbers.co/api/public/countries і GET https://sms-numbers.co/api/public/prices/{country_id}.

POST

Підключення номера

Оформлює замовлення довгострокового номера. Списує баланс; при нестачі коштів повертає 402 з посиланнями на оплату. У профілі має бути валідний email (для переадресації SMS).

POST https://sms-numbers.co/api/number/buy

JSON-тіло:

  • agree_terms (обовʼязково) — згода з умовами (true / 1).
  • number_price_id (integer) — ID тарифу з /api/public/prices/{id} (обовʼязковий, якщо не вказано country).
  • country (integer) — те саме, що ID тарифу (аліас number_price_id).
  • period (integer, 1–36, за замовч. 1) — строк у місяцях.
  • payment_method (опційно, за замовч. balance) — оплата з балансу; інакше створюється очікуючий платіж.

Приклад тіла:

{"agree_terms":true,"number_price_id":123,"period":1}
POST

Відключення номера

Скасовує непідключене замовлення (з поверненням при оплаті з балансу) або планує відключення активного номера.

POST https://sms-numbers.co/api/number/cancel
  • id (обовʼязково, integer) — ID номера.
  • asap (boolean, опційно) — відключити одразу; інакше до valid_till.
POST

Налаштування номера

Переадресація вхідних SMS і користувацький тег.

POST https://sms-numbers.co/api/number/update
  • id (обовʼязково).
  • email — переадресація на email (dest_email).
  • number — переадресація на телефон (dest_number).
  • user_tag — власна мітка.

API сервісів (тимчасові / OTP)

POST

Купити тимчасовий номер

Замовлення disposable-номера для сервісу (≈15 хвилин). Та сама логіка балансу / посилань на оплату.

POST https://sms-numbers.co/api/service/buy
  • service_id (обовʼязково) — ID сервісу з /api/public/services.
  • country_id (обовʼязково) — ID країни з /api/public/services/{id}/countries.
  • agree_terms (обовʼязково) — згода з умовами.
  • payment_method (опційно, за замовч. balance).

Сценарій: GET /api/public/services → GET /api/public/services/{id}/countries → POST /api/service/buy.

{"service_id":10,"country_id":226,"agree_terms":true}

Туристична eSIM

Каталог, покупка і дані для встановлення в мобільному застосунку. Ті самі шляхи є під /api/v1. Потрібен Bearer-токен. У відповіді лише ціна продажу в EUR, оптова ціна не повертається.

GET

Країни

Країни, для яких зараз є пакети eSIM. Необов’язковий параметр q фільтрує за назвою або ISO.

GET https://sms-numbers.co/api/esim/countries
GET

Пакети

Тарифи країни. iso — дволітерний код, наприклад de. У пакеті є package_id, обсяг data, validity_days і price_eur.

GET https://sms-numbers.co/api/esim/packages/{iso}
POST

Купити eSIM

Списує баланс і повертає замовлення з QR і полями встановлення. Якщо балансу не вистачає, відповідь 402 з посиланнями на оплату.

POST https://sms-numbers.co/api/esim/purchase

package_id (обов’язково) — id пакета зі списку пакетів.

{"package_id":"change-7days-1gb"}
GET

Мої замовлення

Завершені замовлення eSIM, спочатку нові. Параметр page — наступна сторінка (по 20).

GET https://sms-numbers.co/api/esim/orders
GET

Замовлення

Одне замовлення: sims з qrcode, qrcode_url, iccid і direct_apple_installation_url, якщо Airalo їх віддав, плюс HTML встановлення.

GET https://sms-numbers.co/api/esim/orders/{id}

API повідомлень

GET

Список повідомлень

Усі SMS акаунта.

GET https://sms-numbers.co/api/messages
GET

Діалоги

Останнє повідомлення по кожному співрозмовнику (список чатів).

GET https://sms-numbers.co/api/app/messages
GET

Повідомлення за номером

Історія з {number}. Позначає повідомлення як переглянуті.

GET https://sms-numbers.co/api/app/messages/{number}
POST

Надіслати SMS

Вихідне SMS (одне або кілька). Потрібен додатний баланс.

POST https://sms-numbers.co/api/message/send
  • from (string) — ваш віртуальний номер; якщо не знайдено — системний відправник.
  • to (обовʼязково) — отримувач; цифри та + ( ) -; кілька номерів через кому.
  • body (обовʼязково) — текст.

Акаунт і платежі

GET

Профіль

Обʼєкт поточного користувача.

GET https://sms-numbers.co/api/account/profile
POST

Оновити профіль

Опційні поля: firstname, lastname, phone, country, city, address, zip, company, telegram_id.

POST https://sms-numbers.co/api/account/update
GET

Баланс

Повертає credit і код валюти.

GET https://sms-numbers.co/api/account/balance
GET

Історія платежів

Платежі акаунта, нові зверху.

GET https://sms-numbers.co/api/payments
POST

Створити платіж

Створює очікуюче поповнення і повертає посилання на оплату.

POST https://sms-numbers.co/api/payment/create
  • amount (обовʼязково, від 1 до 2000) — сума в EUR.
  • method (обовʼязково) — card або crypto.
  • number_price_id (опційно) — привʼязати опис тарифу номера.

У відповіді є payment_link → /api/payment/{id}/{method}/pay.

Публічні методи

Авторизація не потрібна (окрім login/register, де видається токен).

GET

Список країн

Усі країни каталогу.

GET https://sms-numbers.co/api/public/countries
GET

Країни з номерами

Країни, де є довгострокові тарифи.

GET https://sms-numbers.co/api/public/countries/numbers
GET

Інформація про країну

Країна, оператори (MCC/MNC) і доступні типи продуктів.

GET https://sms-numbers.co/api/public/country/{id}
GET

Тарифи по країні

Довгострокові (numbers_prices), disposable (numbers_disposable_prices), вихідні SMS (messages_outgoing_prices) і метадані країни.

GET https://sms-numbers.co/api/public/prices/{country_id}
GET

Список сервісів

OTP / сервіси реєстрації, доступні через API.

GET https://sms-numbers.co/api/public/services
GET

Країни сервісу

Країни та ціни setup для сервісу (id зі списку сервісів).

GET https://sms-numbers.co/api/public/services/{id}/countries
POST

Вхід

Тіло: email, password. Повертає data.token.

POST https://sms-numbers.co/api/login
POST

Реєстрація

Тіло: email, password (мін. 6); опційно firstname, lastname. Повертає користувача з API-токеном.

POST https://sms-numbers.co/api/register
POST

Скидання пароля

Тіло: email — надсилає посилання для скидання.

POST https://sms-numbers.co/api/restore_password

Відповіді сервера

200 OKУспішно
400 Bad RequestНевірні параметри запиту
401 UnauthorizedНемає токена або він невірний
402 Payment RequiredПараметри вірні, запит не виконано (наприклад, мало балансу)
403 ForbiddenЗаборонено / помилка валідації
404 Not FoundРесурс не знайдено
422 UnprocessableНеможливо обробити (наприклад, немає email у профілі)
429 Too Many RequestsПеревищено ліміт запитів
500 / 502 / 503 / 504Помилка на боці сервера

Успіх: {"success": true, "data": {...}, "message": "..."}

Помилка: {"success": false, "message": "...", "data": {...}}

Sign up icon

Зареєструватися

Зареєструйтеся зараз, підтвердьте e-mail та отримайте тестові кошти для перевірки номерів