Interoperability
This document describes how DIGIT HCM interoperates with other systems in a standardised and secure way:
1. Https Protocols:
Utilises HTTP/HTTPS protocols, which are universally supported by web clients and servers.
Adheres to RESTful principles, providing a consistent and standardised way for clients to interact with the platform.
2. Data Format:
Offers JSON support for data exchange, ensuring compatibility with a wide range of programming languages and systems.
Content Negotiation: Automatically handles content negotiation to serve responses in the JSON format requested by the client.
3. API Documentation:
Provides comprehensive API documentation using Swagger/OpenAPI, making it easy for developers to understand and consume the APIs.
4. Cross-Origin Resource Sharing:
Supports CORS, enabling secure cross-origin requests from web applications hosted on different domains.
5. Authentication and Authorisation:
Implements OAuth2 and JWT for standardised and secure authentication and authorisation, allowing integration with various identity providers - this is currently under implementation.
6. Error Handling:
Provides standardised error responses with HTTP status codes and detailed messages, helping external systems handle errors reliably.
Ensures uniform error handling across the platform, presenting predictable and understandable error responses to clients.
7. API Versioning:
Supports API versioning to maintain backward compatibility, allowing external integrations to continue functioning while new features are added.
8. Observability:
Uses Spring Boot Actuator to expose health checks and metrics endpoints, aiding external monitoring tools in observing platform health and performance.
Compatible with popular monitoring tools like Prometheus and Grafana for comprehensive observability.