Metadata-Version: 2.4
Name: ombala
Version: 0.1.0
Summary: SDK em Python para a API de envios de SMS em Angola
Project-URL: Homepage, https://www.useombala.ao/
Project-URL: Repository, https://github.com/omarscode/ombala
Project-URL: Documentation, https://github.com/omarscode/ombala#README
Project-URL: Tracker, https://github.com/omarscode/ombala/issues
Author-email: Omar Rodrigues <omarscode007@gmail.com>
License: MIT
Keywords: angola,api,ombala,sdk,sms
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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: Topic :: Communications :: Telephony
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Description-Content-Type: text/markdown

# Ombala SDK Python

SDK Python para a [API Ombala](https://api.useombala.ao) — envio de SMS em Angola.

## Instalação

```bash
pip install ombala
```

## Uso

```python
from ombala import Ombala

client = Ombala("Token a9eb6ea6-5777-4848-a9ed-8cbffc74a503")

# Enviar SMS
client.messages.send(
    message="Olá, tudo bem?",
    from_="MINHALOJA",
    to="921939411",
)

# Listar mensagens
client.messages.list(page=1)

# Ver saldo
client.credits.balance()
```

### Modo assíncrono

```python
import asyncio
from ombala import AsyncOmbala

async def main():
    async with AsyncOmbala("Token ...") as client:
        resp = await client.messages.send(
            message="Olá, tudo bem?",
            from_="MINHALOJA",
            to="921939411",
        )
        print(resp)

asyncio.run(main())
```

## API

### Mensagens

| Método | Descrição |
|---|---|
| `messages.send(message, from_, to, schedule?)` | Enviar SMS |
| `messages.list(page?)` | Listar mensagens |
| `messages.get(message_id, id?)` | Obter mensagem por ID |
| `messages.delete(message_id)` | Apagar registo de envio |
| `messages.list_recipients(page?)` | Listar destinatários |
| `messages.list_by_date_range(start, end, page?)` | Listar mensagens por intervalo de datas |
| `messages.list_by_recipient(phone_number?, page?)` | Listar mensagens de um número |

### Remetentes

| Método | Descrição |
|---|---|
| `senders.create(name)` | Criar remetente |
| `senders.list()` | Listar remetentes |
| `senders.list_approved()` | Listar remetentes aprovados |
| `senders.list_pending()` | Listar remetentes pendentes |
| `senders.delete(sender_id)` | Apagar remetente |

### Créditos

| Método | Descrição |
|---|---|
| `credits.balance()` | Mostrar saldo |
| `credits.recharges()` | Histórico de carregamentos |
