Overview
This handbook is for developers and technical partners connecting Tavio to payments, accounting, and delivery apps.
There is no public Tavio REST API for third parties yet. Do not build against planned api.taviopos.co.za endpoints until Tavio publishes them. Prefer the official integrations below.
Venue managers should use the other handbooks for floor and stock.
Tip: Prefer official partner flows (Yoco, Xero, delivery webhooks) over scraping the POS UI.
Live integrations (today)
| Integration | What it does | Where to configure |
|---|---|---|
| Yoco | Card charges from the till when enabled | Admin → Integrations → Yoco |
| Xero | Sync closed sales for accounting | Admin → Integrations → Xero |
| QuickBooks | Accounting sync where enabled | Admin → Integrations → QuickBooks |
| Uber Eats / Mr D Food | Delivery order webhooks into Tavio | Admin → Integrations → delivery partners |
SaaS subscription billing (PayFast) is separate from till card payments.
Principles
- Authenticate only with credentials issued for your integration.
- Treat webhook payloads as eventually consistent — verify with follow-up reads when money moves.
- Idempotency: retries happen; design handlers to tolerate duplicates.
- Never embed owner passwords in scripts.
Webhooks checklist (delivery / partners)
- HTTPS endpoint with valid TLS.
- Verify signatures/secrets if provided.
- Respond quickly (200) then process async.
- Log delivery IDs for support.
- Alert on repeated failures.
Environments
Use a demo venue for build-out. Never test destructive catalogue writes on a live Friday menu without a rollback plan.
Public API status
A documented public HTTP API is not shipped. If you need a custom integration beyond the partners above, email support with the use case — do not assume OpenAPI endpoints exist.
Support
Email hello@taviopos.co.za with: venue ID, timestamp, request/correlation IDs, and a redacted payload sample.
Troubleshooting
| If this happens | Check this |
|---|---|
| Webhook not received | URL public; firewall; secret mismatch; event subscribed |
| Duplicate invoices | Idempotency key / external ID mapping |
| Yoco charge fails | Terminal online; Yoco config; amount; retry |
| Xero missing orders | Orders closed; sync enabled; date filters |
Glossary
| Term | Meaning |
|---|---|
| Webhook | HTTP callback when an event occurs |
| Idempotent | Safe to apply the same event twice |
| Payload | JSON body of the request |