REST API plugin for iDempiere powering the ICreated WebStore frontend.
This project provides a REST API for building e-commerce frontends on top of iDempiere.
It follows an OpenAPI-first approach:
- endpoints defined in
openapi.yaml - interfaces generated automatically
- controllers implement the API
- services handle business logic
Flow:
openapi.yaml → API interfaces → Controllers → Services → iDempiere
- Java 17
- OSGi (iDempiere / Jetty)
- JAX-RS (Jersey)
- OpenAPI 3 / Swagger
- JWT authentication
- Jackson
- Hibernate Validator
git clone https://github.com/icreated/webstore-api.git cd webstore-api
mvn clean package
add plugin vie Apache Felix Console: /osgi/system/console
Or install via OSGi console:
osgi> install file:/path/to/plugin.jar
osgi> start
- OpenAPI spec:
openapi.yaml - Swagger: http://localhost:8080/services/api/openapi.json
Authorization: Bearer
POST /auth/login
- GET /catalog/categories
- GET /catalog/products/{categoryId}
- GET /catalog/products/search
- GET /common/countries
- GET /common/shippers
- GET /account/info
- PUT /account/info
- POST /account/orders
- GET /account/orders
- POST /account/orders/{id}/payment
- Controller — REST endpoints
- Service — business logic
- Factory — dependency injection
- Security — JWT, CORS
- Utils — helpers
src/ ├── api/ ├── controller/ ├── service/ ├── security/ ├── factory/ ├── mapper/ ├── utils/
Uses iDempiere W_Store configuration.
Managed via Git tags and Maven.
Pull requests are welcome.
GPL v2