Aller au contenu principal

Integrations troubleshooting

Webhooks​

My endpoint is not receiving deliveries

  • Confirm the endpoint URL is publicly reachable over HTTPS. ImpartLab cannot deliver to localhost or private network addresses.
  • Check the Deliveries tab on the webhook — failed deliveries show the HTTP status code returned by your endpoint.
  • Ensure your endpoint returns a 2xx response within the timeout window. Non-2xx responses are recorded as failed.

Signature verification is failing

  • Verify you are computing HMAC-SHA256(secret, timestamp + "." + raw_body) and comparing it to the X-ImpartLab-Signature header.
  • Use the raw request body, not a parsed/re-serialised version — any whitespace difference will break the signature.
  • Confirm the secret in your endpoint matches the secret saved on the webhook in ImpartLab.

I want to test a webhook without a real event

  • Select Send test on the webhook. This dispatches a test payload to your endpoint immediately.

A delivery shows as failed — how do I retry?

  • Use Platform → Integrations → Webhooks → Dispatch to manually trigger a dispatch for a specific event type.

OneRoster export​

The ZIP is empty or missing rows

  • The export includes only active students and staff. Inactive or withdrawn records are excluded.
  • Ensure at least one session and term exist and that enrollments are active.

Attendance devices​

See Attendance device troubleshooting.


SSO (Google / Microsoft)​

The Google or Microsoft sign-in button is not showing

  • The button is hidden when the corresponding environment variable is not set (GOOGLE_CLIENT_ID or MICROSOFT_CLIENT_ID). Contact your platform operator to configure it.

SSO sign-in fails with a redirect error

  • Confirm the AuthServer URL is registered as an authorised redirect URI in the Google Cloud Console or Microsoft Entra app registration.
  • Check that AUTH_SERVER_URL in .env exactly matches the registered URI (trailing slash matters).

Accounting export​

The CSV has incorrect totals

  • The Paid column reflects net payments after refunds. If you need gross payments and refund amounts separately, use the Finance module reconciliation report.