Metadata-Version: 2.4
Name: smsru_api
Version: 1.4.1
Summary: [A]sync Python API для сервиса отправки сообщений sms.ru
Author-email: XpycTee <i@xpyctee.ru>
Keywords: async,sync,aio,sms.ru,sms,ru,smsru,sms-verification,verification,sms-messages,messages,api,api-client,http
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: python-dotenv; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: python-dotenv; extra == "test"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: furo; extra == "docs"
Dynamic: license-file

<p align="center">
    <picture>
        <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/XpycTee/smsru_api/refs/heads/main/docs/images/dark-mode.svg">
        <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/XpycTee/smsru_api/refs/heads/main/docs/images/light-mode.svg">
    <img alt="Описание изображения" src="https://raw.githubusercontent.com/XpycTee/smsru_api/refs/heads/main/docs/images/light-mode.svg" width="250">
    </picture>
    <!--h3 align="center">SMS.RU API</h3-->
    <p align="center">
        Синхронный и асинхронный Python API для сервиса отправки сообщений sms.ru
    </p>
</p>

[![PyPI Downloads](https://img.shields.io/pepy/dt/smsru-api?style=for-the-badge)](https://pypi.org/project/smsru-api/) 
[![pypi](https://img.shields.io/pypi/v/smsru-api?label=PyPI%20Release&style=for-the-badge)](https://pypi.org/project/smsru-api/) 

Python Versions\
![pyversions](https://img.shields.io/pypi/pyversions/smsru-api?label=Python&style=for-the-badge)

License\
[![License](https://img.shields.io/github/license/XpycTee/smsru_api?label=License&style=for-the-badge)](https://github.com/XpycTee/smsru_api/blob/main/LICENSE)

## Кратко

`smsru_api` предоставляет:

- `Client` для синхронной работы с API `sms.ru`
- `AsyncClient` для асинхронного кода
- обратную совместимость через `SmsRu` и `AsyncSmsRu`

Библиотека покрывает:

- отправку SMS через `send()`
- расчет стоимости через `cost()`
- проверку статуса через `status()`
- авторизацию по звонку через `callcheck_add()` и `callcheck_status()`
- методы аккаунта `balance()`, `limit()`, `free()`, `senders()`
- стоп-лист и callback URL

## Установка

```sh
pip install smsru-api
```

## Быстрый старт

```python
from smsru_api import Client

with Client("YOUR_API_KEY") as smsru:
    response = smsru.send("79990000000", message="Привет от sms.ru")
    print(response)
```

Асинхронный вариант:

```python
from smsru_api import AsyncClient

async with AsyncClient("YOUR_API_KEY") as smsru:
    response = await smsru.send("79990000000", message="Привет от sms.ru")
    print(response)
```

## Важные особенности

- можно передавать один текст на несколько номеров или словарь `multi`
- за один запрос допускается не более 100 получателей
- номера очищаются от нецифровых символов и ведущего `+7` или `8`
- `debug=True` включает тестовый режим, если `test` не указан явно
- `ttl` должен быть в диапазоне от `1` до `1440`

## Подробная документация

Подробное руководство хранится в репозитории:

- [README.md](https://github.com/XpycTee/smsru_api/blob/main/README.md) — быстрый старт
- [docs/README.md](https://github.com/XpycTee/smsru_api/blob/main/docs/README.md) — полная документация

## Ссылки

- GitHub: [smsru_api](https://github.com/XpycTee/smsru_api)
- PyPI: [smsru-api](https://pypi.org/project/smsru-api/)
