iDempiere provides powerful web service capabilities that enable seamless integration with external systems and applications. The platform offers both SOAP and REST APIs, allowing developers to choose the most appropriate protocol for their use case.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/idempiere/idempiere/llms.txt
Use this file to discover all available pages before exploring further.
Service Architecture
iDempiere’s web service layer is built on Apache CXF and supports multiple protocols:- SOAP Services: Full-featured XML-based web services with WSDL definitions
- REST Services: JSON and XML support for modern, lightweight integrations
- Dual Protocol: Services are exposed via both SOAP and REST endpoints simultaneously
Available Services
ModelADService
The primary service for CRUD operations and business logic execution.Create Data
Create new records in any iDempiere table
Read Data
Read single records or query multiple records
Update Data
Update existing records with new values
Delete Data
Delete records from the system
Run Process
Execute business processes and reports
Set Doc Action
Process documents (complete, void, close, etc.)
Get List
Retrieve lookup lists and reference data
Query Data
Advanced querying with filters and pagination
CompositeService
Execute multiple operations in a single request with transaction control.Composite Operation
Execute multiple CRUD and process operations atomically with pre-commit and post-commit hooks
Service Endpoints
Key Features
Security and Authentication
- Role-based access control for all operations
- Session caching for performance
- Configurable session expiry
- IP-based validation support
- Custom validators for login and operations
Transaction Management
- Automatic transaction handling
- Rollback on errors
- Composite operations with transaction boundaries
- Pre-commit and post-commit hooks
Data Handling
- Full support for all iDempiere data types
- Automatic type conversion
- Lookup value resolution
- Binary data support (Base64 encoded)
- Date/time handling with timezone support
Extensibility
- Custom web service types
- Pluggable validators (IWSValidator interface)
- Configurable input/output fields
- Service-level parameter definitions
Configuration
Web services are configured through the iDempiere application:- Web Service (WS_WebService): Define service endpoints
- Web Service Method (WS_WebServiceMethod): Define available methods
- Web Service Type (WS_WebServiceType): Configure specific operations
- Web Service Type Access (WS_WebServiceTypeAccess): Control role-based access
- Web Service Parameters (WS_WebService_Para): Define input parameters
- Field Input/Output: Configure field-level access
Schema Reference
The complete XML schema is defined in:iDempiere Schema
/WEB-INF/xsd/idempiere-schema.xsdDefines all request/response structures including:- WindowTabData
- DataRow and DataField
- StandardResponse
- ModelCRUD operations
- Process execution
- Login request/response
Common Data Types
ADLoginRequest
Required for all service requests to authenticate and establish context.Username or email (based on system configuration)
User password
Language code (e.g., en_US, es_MX)
Tenant/Client ID
User role ID
Organization ID
Warehouse ID (can be 0)
Session expiry in minutes (9 = default)
StandardResponse
Standard response structure for most operations.Indicates if the operation failed
Indicates if the transaction was rolled back
ID of the created/updated record
Error message if IsError is true
Configured output fields with values and display text
Data returned for read/query operations
Next Steps
Authentication
Learn how to authenticate and manage sessions
REST API
Explore REST API endpoints and examples
SOAP API
Detailed SOAP API documentation and WSDL reference
Best Practices
Use Service Types for Configuration
Use Service Types for Configuration
Define web service types in the application rather than hardcoding table names and operations. This provides better security and maintainability.
Implement Custom Validators
Implement Custom Validators
Use the IWSValidator extension point to add custom validation logic, logging, or integration with external systems.
Optimize with Session Caching
Optimize with Session Caching
Set an appropriate session expiry time to balance security and performance. Sessions are cached based on login credentials.
Handle Errors Gracefully
Handle Errors Gracefully
Always check the IsError flag in responses and handle rollback scenarios appropriately in your client application.
Use Composite Service for Related Operations
Use Composite Service for Related Operations