Metadata-Version: 2.4
Name: azmarqomni
Version: 0.2.0
Summary: Official Python SDK for the Azmarq SMS, WhatsApp, RCS, and OTP APIs
Author: Azmarq
License: MIT
Project-URL: Homepage, https://developers.azmarq.com
Project-URL: Documentation, https://developers.azmarq.com
Project-URL: Source, https://github.com/azmarq/azmarq-sdk
Keywords: azmarq,sms,whatsapp,rcs,otp,messaging
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# Azmarq Python SDK

Official Python client for the [Azmarq API](https://developers.azmarq.com). Python 3.9 or newer. No third-party dependencies.

```bash
pip install azmarqomni
```

The install name is `azmarqomni`. The import is still `azmarq`:

Create an API key in the Azmarq console under **Developer → API Key**, then:

```python
import os
from azmarq import Azmarq

client = Azmarq(api_key=os.environ["AZMARQ_API_KEY"])

response = client.send(
    channel="sms",
    from_="SENDER",
    to="9800000001",  # +91, 91, or 10-digit local
    text="Hello from Azmarq",
)
print(response["messageId"])
```

The same `send(channel=...)` works for WhatsApp and RCS. Channel-specific helpers (`client.sms`, `client.whatsapp`, `client.rcs`) are still there.

`Azmarq()` with no arguments reads `AZMARQ_API_KEY`.

`type` is `TRANS`, `PROMO`, or `OTP`. Set `unicode=1` for non-GSM text and `flash=1` for a flash SMS. Pass several numbers as a list; they are sent as a comma-separated MSISDN list.

```python
client.sms.send_template(
    sender="AOCAPI",
    to="919800000001",
    template_id="1507165650000000000",
    custom=["Ada", "ORD-1001"],
)

started = client.verify.generate(config_id="your-config-id", to="919800000001")
client.verify.validate(verify_id=started["data"], otp="123456")

client.whatsapp.send_template(
    from_="+919800000000",
    to="+919800000001",
    template_name="order_update",
    components={"body": {"params": ["Ada", "ORD-1001"]}},
)

client.rcs.send(
    number="+919800000001",
    template_name="plane_text",
    bot_id="YOUR_BOT_ID",
    type="TRANS",
)
```

Failures raise `AuthenticationError`, `InvalidRequestError`, `APIError`, or `ConnectionError`, all subclasses of `AzmarqError`.

For a payload the helpers do not model (carousel, catalog, flow), post the documented JSON yourself:

```python
client.whatsapp.send({
    "from": "+919800000000",
    "to": "+919800000001",
    "type": "template",
    "templateName": "carousel_template",
    "components": {},
})
```

Full reference: https://developers.azmarq.com
