tap-spoton is a Singer tap for SpotOn, a restaurant and retail point-of-sale platform.
Built with the Hotglue Tap SDK for Singer Taps.
pip install tap-spotonOr install directly from the repository:
pip install git+https://github.com/hotgluexyz/tap-spoton.git| Setting | Required | Description |
|---|---|---|
username |
Yes | SpotOn API username (client ID) |
password |
Yes | SpotOn API password (client secret) |
locations |
Yes | Array of location IDs to sync |
start_date |
No | The earliest record date to sync (ISO 8601 format) |
Example config.json:
{
"username": "your_client_id",
"password": "your_client_secret",
"locations": ["location_id_1", "location_id_2"],
"start_date": "2024-01-01T00:00:00Z"
}A full list of supported settings and capabilities for this tap is available by running:
tap-spoton --aboutThis Singer tap will automatically import any environment variables within the working directory's
.env if the --config=ENV is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the .env file.
This tap uses OAuth2 client credentials authentication. You will need to obtain API credentials (username/password) from SpotOn to access their Reporting API.
| Stream | Replication Key | Primary Key | Description |
|---|---|---|---|
locations |
None | id |
List of configured locations |
orders |
last_updated_at |
id |
Orders with line items, payments, taxes |
The orders stream includes comprehensive order data:
- Line Items: Products ordered with quantities, prices, and modifiers
- Payments: Payment details including type, amount, refunds, and voids
- Totals: Subtotal, tips, discounts, taxes, and grand total
- Discounts: Applied discounts with names and amounts
- Taxes: Tax breakdown with percentages and amounts
- Employee: Order ownership information
- Metadata: Table number, guest count, timestamps
You can easily run tap-spoton by itself or in a pipeline.
tap-spoton --version
tap-spoton --help
tap-spoton --config CONFIG --discover > ./catalog.jsonpipx install poetry
poetry installCreate tests within the tap_spoton/tests subfolder and then run:
poetry run pytestYou can also test the tap-spoton CLI interface directly using poetry run:
poetry run tap-spoton --help