Metadata-Version: 2.4
Name: lynkora-sdk-python
Version: 0.2.0
Summary: SDK Python para integração com a API de Actions/Subscribers do Lynkora Admin Service.
License-Expression: MIT
Project-URL: Homepage, https://docs.lynkora.dev/docs/para-desenvolvedores/sdks
Project-URL: Repository, https://github.com/natanaeldeveloper/lynkora-api
Project-URL: Issues, https://github.com/natanaeldeveloper/lynkora-api/issues
Keywords: lynkora,billing,usage-based-billing,metering,sdk
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Dynamic: license-file

# lynkora-sdk-python

SDK Python pra integrar com a API pública do Lynkora — registrar assinantes e
controlar consumo (reservar, confirmar, cancelar). Zero dependências de
runtime (usa `urllib.request` da biblioteca padrão), cliente síncrono.

Documentação completa dos endpoints: [docs.lynkora.dev/docs/para-desenvolvedores/sdks](https://docs.lynkora.dev/docs/para-desenvolvedores/sdks).

## Instalação

```bash
pip install lynkora-sdk-python
```

## Uso

```python
import os
from lynkora_sdk import LynkoraClient

lynkora = LynkoraClient(
    api_key=os.environ["LYNKORA_API_KEY"],
    base_url="https://api.lynkora.dev",
)

result = lynkora.consume_action(
    subscriber_id="sub_123",
    action_slug="generate-report",
)

lynkora.confirm_consumption(result["reservationId"])
```

Erros da API chegam como `LynkoraApiError`, com `status_code`, a mensagem (via
`str(err)`) e o corpo original da resposta em `body`:

```python
from lynkora_sdk import LynkoraApiError

try:
    lynkora.consume_action(subscriber_id="sub_123", action_slug="generate-report")
except LynkoraApiError as err:
    print(err.status_code, str(err), err.body)
```

## Escopo

Só os 4 endpoints autenticados por `X-Api-Key`: `consume_action`,
`confirm_consumption`, `cancel_consumption` e `register_subscriber`. Nada de
painel administrativo nem cobrança — isso é feito direto pela API.

## Licença

MIT
