
Developer Documentation
Standard RESTful API for data access and manipulation. Supports GET, POST, PATCH operations on 38+ registers. Use for integrations, data sync, and external system connections.
https://server:port/api/1/
Action-based API for business workflows and portal operations. Handles approvals, digital signing, attachments, and employee portal features.
/WebExcellentAPI.hal?action={action}
| Aspect | REST API | WebExcellentAPI |
|---|---|---|
| Design | RESTful (resource-based) | RPC-style (action-based) |
| Endpoints | Multiple (per register) | Single endpoint |
| Operations | HTTP methods (GET/POST/PATCH) | action parameter |
| Primary Use | Data CRUD, integrations | Workflows, approvals, portal |
| Authentication | HTTP Basic Auth / OAuth 2.0 | HTTP Basic Auth |
| Response Format | XML (default) or JSON | XML |
offset and limit (1000-5000 records per request) with ~1 second pausesfields or filter: CPU-intensive. Best with updates_after| 2-row financial transactions (POST) | ~10 per second |
| 1-row invoices with confirmation | 3-4 per second |
| 10,000 transactions (raw data) | ~10 sec (30 MB) |
| 10,000 transactions (10 fields) | ~7 sec (4 MB) |
Real-time data change notifications (since 2024)
Excellent Books supports webhooks for real-time data change notifications. Webhooks send a small JSON payload to a configured external URL when changes occur.
Group=AUDIO)Integrations: make.com, Zapier, TikaTaka (custom URLs supported)
OAuth 2.0 is supported using MyStandard as the Authorization Server. API requests via OAuth2 run on non-primary threads, reducing impact on other users.
https://standard-id.hansaworld.com/oauth-authorizehttps://standard-id.hansaworld.com/oauth-tokenhttps://mystandard.hansaworld.com/edit/devcredEvery response includes a Sequence value. Use this for subsequent requests:
# First request GET /api/1/INVc # Response header: Sequence="226655" # Next request (only changed records) GET /api/1/INVc?updates_after=226655
Note: After version upgrades, sequence numbers may reset.
To credit invoice #200005:
PayDeal=K (Credit payment terms)set_row_field.0.stp=3 (Credit row type)set_row_field.0.OrdRow=200005 (Original invoice number)POST /api/1/IVVc set_field.InvDate=2021-10-01& set_field.CustCode=5& set_field.PayDeal=K& set_row_field.0.stp=3& set_row_field.0.OrdRow=200005& set_row_field.1.ArtCode=1& set_field.OKFlag=1
Key VAT handling rules:
PayVal = Total including VATVATVal = VAT amountSum on rows = Amount excluding VATPOST /api/1/VIVc set_field.TransDate=2021-09-24& set_field.VECode=2& set_field.PayVal=120.00& set_field.VATVal=20.00& set_row_field.0.AccNumber=1010& set_row_field.0.VATCode=1& set_row_field.0.Sum=50.00& set_row_field.1.AccNumber=7410& set_row_field.1.VATCode=1& set_row_field.1.Sum=50.00& set_field.OKFlag=1
# All objects GET /api/1/ObjVc # Single object by code GET /api/1/ObjVc?sort=Code&range=ANNIKA # Range with specific fields GET /api/1/ObjVc?sort=Code&range=ANNIKA:KORISTAJA&fields=Code,Comment,OTCode # Contacts created after date GET /api/1/CUVc?sort=DateCreated&range=2020-01-01: # Items with selected fields GET /api/1/INVc?fields=Code,Name,Unittext,UPrice1
Configure in Web Access Settings. Supported formats:
90.191.43.25290.191.43.252,213.35.184.8254.124.39.0/2454.124.39.1-54.124.39.100