Client integrations
An integration should be designed as an operational process, not just as a list of endpoints. The client must know the authoritative source of data and the error-handling process.
Common integration scenarios
Section titled “Common integration scenarios”| Scenario | Direction | Note |
|---|---|---|
| User provisioning | External system -> Knowspread | Requires a stable identifier. |
| Group updates | External system -> Knowspread | Groups can change content assignments. |
| Content or event import | External system -> Knowspread | Useful for catalogues and blended learning. |
| Completion reporting | Knowspread -> external system | Can be handled by API polling or webhooks. |
| Webhook notifications | Knowspread -> external system | Requires an available HTTPS endpoint. |
Identifiers
Section titled “Identifiers”Depending on the context, user synchronization can use:
- internal ID,
- e-mail,
personal_id,- external group or content ID.
For long-term synchronization, the best identifier is stable and does not change when the user’s name or e-mail changes.
Webhooks
Section titled “Webhooks”Webhooks are outgoing notifications from Knowspread. The current model includes:
content_assignment_created,content_assignment_completed,content_assignment_overdue,test_attempt_completed.
The client endpoint must use HTTPS. Supported authentication modes are no authentication, Basic Auth, and OAuth2 client credentials. If a secret is set, the client can verify the payload signature.