Unimestre Integration
The Unimestre integration connects ACCELERO to the Unimestre academic system, automatically importing the records maintained on the educational platform. Students, family members, and guardians registered in Unimestre come to exist as people in ACCELERO, with their companies (family units), categories, photos, and guardian (escort) links synchronized periodically.
This integration is provided as a plugin (unimestre) and must be installed and enabled by the IONGRADE technical team. Contact support to check compatibility with your ACCELERO version.
Current plugin version: 1.0.2 — compatible with ACCELERO 2.17.0 or higher.
What the integration does
With the plugin active, Unimestre becomes the source of the records: ACCELERO queries the institution's API, groups the data by person, and keeps the local registry updated on each synchronization — creating, updating, and removing links according to what Unimestre returns.
| Feature | What happens in ACCELERO |
|---|---|
| Synchronization of people | Each person returned by the API is created or updated (name, CPF, email, code). The link with the source record is stored in the metadata |
| Companies (family units) | For each student a company "FAMÍLIA DE {name}" is created/updated, and the family members are linked to it with the association type provided by Unimestre |
| Categories by bind | Roles and classes coming from Unimestre are converted into ACCELERO categories according to the configured binds, with the validity start and end in the semester's year |
| Photos | Each person's photo is downloaded from Unimestre and updated when there is a change in the source record |
| Guardian (escort) | People of categories marked as "requiring an escort" come to require a guardian, and the family's guardians are linked as escort automatically |
| Removal of obsolete links | Companies and categories created by the integration that no longer appear in the API return are removed from the person |
| Daily and manual synchronization | Synchronization runs automatically every early morning and can also be triggered manually from the configuration screen |
Eliminates the manual re-registration of students, family members, and guardians in ACCELERO — the Unimestre academic record becomes the single source.
Configuration
Navigation path: Settings > Plugins - Unimestre
The configuration screen has three tabs: General, API Configuration, and Category binds.
The Unimestre integration configuration screen showing the three tabs (General, API Configuration, Category binds) and the base buttons (Back, Save, Synchronize now).
General tab
| Field | Description |
|---|---|
| Semesters to synchronize (separate with commas) | List of semesters to query in the API, separated by commas. Each semester is sent to the API as the anosemestre parameter |
| Synchronization operator | ACCELERO operator used as the logged-in user during synchronization (responsible for the operations run by the plugin) |
| List categories that require an escort | Multi-selection of ACCELERO categories. People linked to one of these categories come to require an escort, and their guardians are linked automatically |
| Which association type becomes a guardian (escort)? | Multi-selection of association types (from linkpessoasempresastipos). The family members linked by one of these types are treated as the student's guardians (escort) |
API Configuration tab
Connection data with the Unimestre API:
| Field | Description |
|---|---|
| API address | URL of the Unimestre API endpoint — provided by the institution |
| API Username | User for authentication in the API (basic authentication) |
| API Token | Corresponding token/password (protected field) |
| API Timeout | Time limit, in seconds, for the API response |
If the API is unavailable (connection error, DNS, or a status other than 200), the synchronization of that semester is aborted. This is intentional: an empty return due to a failure would make ACCELERO mass-remove the integration's companies and categories. Check the API address, Username, and Token before triggering a new synchronization.
Category binds tab
Table that relates Unimestre roles and classes to ACCELERO categories.
| Column | Description |
|---|---|
| Entity Type | Identifier of the role or class coming from Unimestre (e.g., name of the role or of the course) |
| Category | ACCELERO category that will be applied to the person when the role/class matches |
Use the Add button to include new rows and the removal button (✕) to delete a bind.
Only the roles/classes that have a bind registered on this tab generate a category on the person. Roles without a corresponding bind are ignored in the synchronization.
The Category binds tab showing the Entity Type → Category relationship table and the Add button.
Screen buttons
| Button | Function |
|---|---|
| Back | Returns without saving |
| Save | Persists the configuration |
| Synchronize now | Immediately triggers a manual synchronization (asks for confirmation with a captcha) |
When triggering Synchronize now, the system displays the warning: "This process may take some time and the system may show instability while the data is synchronized." Prefer running the manual synchronization outside peak hours.
How synchronization works
Synchronization goes through, for each configured semester, all the records returned by the API and keeps the local registry aligned with Unimestre.
When synchronization occurs
- Automatic: every day around 1 AM (rescheduled on each run).
- Manual: via the Synchronize now button on the configuration screen.
When starting, the synchronization applies a temporary lock. If you trigger Synchronize now while another synchronization is still in progress, the system informs you that you must wait for availability.
Progress notifications
When triggered manually, the integration notifies the operator who started the process:
- Start: "Unimestre synchronization process started..."
- Progress: messages of "
{n}/{total}records imported..." throughout the import. - Completion: "Unimestre synchronization process finished! The process took
{n}seconds!" - Error: "Error in the Unimestre synchronization process!"
Progress notification of the Unimestre synchronization displayed to the operator (title "Unimestre Synchronization"), with the start, progress, and completion messages.
What each synchronization does
- Fetches the data of each semester in the API.
- Groups by person, identifying students (those who have a class), family members, and the kinship links between them.
- Creates or updates the person (name, CPF, email, code), storing the source identifier in the metadata.
- Creates/updates the students' family company and links the family members with the provided association type.
- Applies the categories according to the binds, with the validity of the semester's year.
- Removes obsolete links of company and category that no longer came in the return.
- Updates the guardians (escort) and the photos.
The integration locates the person first by CPF (document) and, if not found, by the Unimestre identifier stored in the metadata. Zeroed CPFs (00000000000) are treated as absent.
Companies and family units
For each student, the integration creates (if it does not yet exist) a company whose name follows the pattern "FAMÍLIA DE {student name}" and links:
- the student themselves, with the association type Student;
- each family member/guardian, with the association type provided by Unimestre.
The created links are marked as pre-authorized and authorizing. Association types that do not yet exist in ACCELERO are created automatically.
Companies, categories, and links created by the integration are marked in the metadata as originating from Unimestre. This marking is what allows, in the next synchronization, identifying and removing the links that no longer exist in the source system — without affecting links created manually.
Guardian (escort)
When a person belongs to one of the categories that require an escort (configured on the General tab), the integration:
- Marks the person to require an escort.
- Locates, within the family company, the people linked by the association types defined as a guardian (the "Which association type becomes a guardian (escort)?" field).
- Links those people as the student's escort.
If the person stops belonging to a category that requires an escort, the marking is removed and the escort links created by the integration are undone.
Registration of a synchronized person (student), showing the "require escort" indicator active and the list of guardians (escort) linked by the integration.
Photos
The integration downloads each person's photo directly from Unimestre and stores it in the record.
- The photo is updated when the source record has changed since the last synchronization (or when the person does not yet have a registered photo).
- If Unimestre does not have a real photo for the person, the integration does not store the default "no photo" image.
Use cases
Configure the integration for the first time
- Request that IONGRADE install the
unimestreplugin. - In
Settings > Plugins - Unimestre, on the API Configuration tab, fill in the address, username, token, and timeout. - On the General tab, provide the semesters to synchronize and the synchronization operator.
- On the Category binds tab, map the Unimestre roles/classes to the ACCELERO categories.
- Define the categories that require an escort and the association types that become a guardian, if the institution uses guardian control.
- Click Save and then Synchronize now for the first load.
- Track the progress notifications and check some imported records.
Add a new semester
- Open
Settings > Plugins - Unimestre, General tab. - Add the new semester to the Semesters to synchronize field, separated by a comma.
- Save and, if you want to apply it immediately, click Synchronize now.
Map a new role to a category
- Open the Category binds tab.
- Click Add, provide the Entity Type (Unimestre role/class), and select the ACCELERO Category.
- Save. In the next synchronization, people with that role start receiving the category.
Best practices
- Specific categories in the binds: map each role/class to a category dedicated to the academic audience, avoiding generic categories.
- Dedicated operator: use a specific operator for the synchronization (e.g., "Unimestre Integration") instead of a named account.
- Synchronization outside peak hours: the manual load may cause instability — prefer low-usage hours; the automatic one already runs in the early morning.
- Check the API before re-synchronizing: if the synchronization fails, validate the address, username, and token. The integration aborts the mass removal when the return comes empty due to a failure, but the registry only starts updating again with the API responding.
Troubleshooting
"Error querying API" or synchronization does not finish
Possible causes:
- Incorrect API address.
- Invalid username or token.
- Unimestre API unavailable or timeout too low.
Solution:
- In
Settings > Plugins - Unimestre > API Configuration, check the address, username, and token. - Increase the API Timeout if the database is large.
- Test the connectivity of the ACCELERO server to the API URL.
People imported without a category
Possible causes:
- There is no bind registered for the person's role/class.
- The person's semester is not in the Semesters to synchronize list.
Solution:
- Check the Category binds tab and register the role/class bind.
- Confirm that the person's semester is configured.
- Run Synchronize now.
Companies or categories of the integration were removed unexpectedly
Possible causes:
- The record stopped appearing in the API return (legitimate removal).
Solution:
- Confirm in Unimestre whether the link still exists.
- Check whether the previous synchronization completed successfully (a synchronization aborted due to a failure does not remove links — only those completed with a valid return remove the obsolete ones).
"Synchronize now" asks to wait
Cause: another synchronization is still in progress (active concurrency lock).
Solution: wait for the current synchronization to finish and try again.
Integration with other modules
People
The integration creates and updates People from Unimestre, including CPF, email, photo, and code. The CPF is the main matching identifier.
Companies
The family units are represented as Companies ("FAMÍLIA DE..."), with the family members linked by the association types.
Categories
The Categories are applied according to the binds, with validity in the year of the synchronized semester.
Escort (Guardian)
The integration feeds the Escort control, marking students who require a guardian and linking the family's guardians.
Next Steps
- People — Understand the people registry fed by the integration
- Companies — See how the family units are represented
- Categories — Configure the categories used in the binds
- Escort — Understand guardian control
- Plugins — Learn more about the ACCELERO plugin system