Metadata-Version: 2.4
Name: beep-sdk
Version: 1.0.0
Summary: Official BEEP! API SDK for Python. Integrate POS, ERP, PSP and retail systems
Home-page: https://www.beep-technologies.de/developer/
Author: BEEP! Technologies
Author-email: developer@beep-technologies.de
Project-URL: Documentation, https://www.beep-technologies.de/developer/
Project-URL: Source, https://github.com/beep-technologies/beep-python-sdk
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: project-url
Dynamic: requires-python
Dynamic: summary

# BEEP! Python SDK

Official Python SDK for the [BEEP! Developer API](https://www.beep-technologies.de/developer/).

## Installation

```bash
pip install beep-sdk
# or copy this package into your project
```

## Quick Start

```python
from beep import BeepClient

# Use your Secret Key (bk_test_sk_... for sandbox, bk_live_sk_... for production)
client = BeepClient("bk_test_sk_YOUR_SECRET_KEY")

# List stores
stores = client.stores.list()

# Insert a product
product = client.catalog.insert_product(
    storeId="your_store_id",
    ean="4000000000001",
    name="Bio-Vollmilch 3,5%",
    brand="BioHof",
    price=1.49,
    vat=7,
)
```

## Available Resources

| Resource | Methods | Min. Package |
|----------|---------|-------------|
| `client.stores` | `list()`, `get()`, `register()` | DISCOVER |
| `client.catalog` | `insert_product()`, `list_products()`, `get_product()`, `register_to_store()`, `bulk_import()` | DISCOVER |
| `client.offers` | `create()`, `update()`, `delete()`, `list()` | GO |
| `client.click_collect` | `submit_order()`, `update_status()` | GO |
| `client.loyalty` | `create_program()`, `enroll()`, `add_points()`, `redeem_points()`, `get_customer_balance()`, `get_analytics()`, `sync_external()` | GO |
| `client.scan_and_go` | `check_in()`, `start_checkout()`, `get_purchase()`, `get_purchase_history()`, `generate_receipt()`, `get_receipt_from_token()`, `get_recommendations()`, `configure_recommendations()` | GROW |
| `client.integrations` | `sync_pos()`, `push_to_pos()`, `sync_erp()`, `push_to_erp()`, `configure_psp()`, `process_payment()`, `refund_payment()` | GROW |
| `client.analytics` | `get()`, `export_sales()`, `export_receipts()` | GO / GROW |

## Error Handling

```python
from beep import BeepClient, AuthenticationError, BeepPermissionError, RateLimitError

try:
    result = client.scan_and_go.check_in(storeId="store_001")
except AuthenticationError:
    print("Invalid API key")
except BeepPermissionError as e:
    print(f"Upgrade required: {e.details.get('requiredUpgrade')}")
except RateLimitError as e:
    print(f"Rate limited. Retry after {e.retry_after}s")
```

## Documentation

- [Quickstart Guide](https://www.beep-technologies.de/developer/docs/quickstart.html)
- [API Reference](https://www.beep-technologies.de/developer/docs/api-reference.html)
- [Error Codes](https://www.beep-technologies.de/developer/docs/errors.html)
