index.md
1.89 KB
5. API Reference
xly exposes three distinct HTTP surfaces, hosted in three separate Spring Boot services. Each is documented on its own page below; the conceptual overview lives in concepts/api-surface.
| Page | Service | Context path | Use when |
|---|---|---|---|
| Internal API | xlyEntry |
/xlyEntry |
You are extending the SPA or maintaining the framework runtime. |
| External API | xlyApi |
/xlyApi |
You are integrating an outside system that calls xly. |
| Webhooks | xlyInterface |
/xlyInterface |
A third-party system needs to push events into xly. |
| Messaging |
xlyEntry + xlyErpJms*
|
n/a (ActiveMQ / RocketMQ) | An asynchronous, fan-out integration is more appropriate than a synchronous HTTP call. |
Reading order
If you arrived here as an external integrator, start with External API. If you're a Java developer extending the framework, start with Internal API (most of the universal CRUD machinery is documented in the Maintainer runtime chapter; this chapter cross-links to it).
Cross-cutting facts
-
Auth. Internal calls use the SPA's session cookie + the
@CurrentUserargument resolver. External calls use bearer tokens obtained from/xlyApi/token/getToken. Webhooks have per-channel conventions (signature header, query-param secret). -
Tenant scoping. Every authenticated controller method, in every
service, runs
RequestAddParamUtil.me().addParams(params, userInfo)before doing any work — see the multi-tenancy concept page. A request that bypasses this is a multi-tenant bug. -
Logging. External calls are logged to
sysapilog; internal calls use the framework's standardsyslog4jsetup; webhooks log to whatever the per-channel handler chooses.