This file details the HTTP REST Binding which uses HTTPS as Transport protocol layer and JSON as Data Format protocol layer.
The Local Applet Assistant acts as a HTTP client and the SAM SM as a HTTP server. Each Message may be transmitted in exactly one HTTP message.
The formal API specification of the HTTP REST Binding is provided in OpenAPI format. This specification file may be used to generate code skeleton as shown in maven project file (pom.xml).
The HTTP REST Binding SHALL comply with:
- RFC2818 – HTTP Over TLS
- RFC6265 – HTTP State Management Mechanism
- RFC7230 – Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
- RFC7231 – Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- RFC7232 – Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests
- RFC7234 – Hypertext Transfer Protocol (HTTP/1.1): Caching
HTTP messages are linked with a Management Session based on the sessionId. The sessionId is explicitly inserted in each HTTP request and implicitly determined for HTTP response based on the client-server paradigm of the HTTP protocol.
Implementors MAY uses another HTTP mechanism to reinforce the HTTP session (e.g. HTTP cookies). A Local Applet Assistant SHOULD support HTTP cookies as defined in RFC6265.
The endpoints are defined through uris. All endpoints are prefixed with a SAM SM base uri.
3 endpoints are defined:
Endpoint | Description |
---|---|
/install | Trigger a SAM Service installation |
/delete | Trigger a SAM Service deletion |
/notification | Notify a SAM Service management event |