I’m working on automating our student‐creation workflow by integrating Freshsales Suite Pro CRM with Blackbaud Education Management’s Enrollment Management API via webhooks. Here’s where we are:
Freshsales side:
We collect new‐student data (first/last name, personal email) in Freshsales.
When a contact is marked “Enrolled,” a Suite Pro workflow fires a webhook with that payload.
Institutional email mapping:
We provision each student’s official address (jane.doe@student.edu) in our directory before creating their Blackbaud record.
Our middleware enriches the webhook payload with the institutional email.
Blackbaud setup:
We have a developer account, SKY API app, and OAuth2 (Auth Code + PKCE) configured with scopes granted.
What I’m looking for:
Endpoint URL(s): Which exact Enrollment Management API endpoint(s) should I call to create and update candidate (student) records?
Request payload: What JSON schema and required fields (e.g. firstName, lastName, email, programCode, etc.) must be included in the POST body?
Path/query parameters: Are there additional parameters (like schoolId, campusCode, termId) that belong in the URL or query string?
Scopes & permissions: Which OAuth scopes and application permissions are required to allow candidate creation and updates?
Examples: Can you share sample request/response payloads or code snippets for creating a candidate?
Best practices: Any guidance on idempotent creation (avoiding duplicates), error‐handling patterns, or rate‐limit recommendations?
If you’ve built a similar webhook‐driven integration or have sample code, I’d greatly appreciate your guidance. Thank you!