Skip to main content

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.

Availability

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.

Compatibility

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.

FeatureWhat happens in ACCELERO
Synchronization of peopleEach 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 bindRoles 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
PhotosEach 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 linksCompanies and categories created by the integration that no longer appear in the API return are removed from the person
Daily and manual synchronizationSynchronization runs automatically every early morning and can also be triggered manually from the configuration screen
Main benefit

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.

TODO: Add Screenshot

The Unimestre integration configuration screen showing the three tabs (General, API Configuration, Category binds) and the base buttons (Back, Save, Synchronize now).

General tab

FieldDescription
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 operatorACCELERO operator used as the logged-in user during synchronization (responsible for the operations run by the plugin)
List categories that require an escortMulti-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:

FieldDescription
API addressURL of the Unimestre API endpoint — provided by the institution
API UsernameUser for authentication in the API (basic authentication)
API TokenCorresponding token/password (protected field)
API TimeoutTime limit, in seconds, for the API response
A communication failure aborts the synchronization

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.

ColumnDescription
Entity TypeIdentifier of the role or class coming from Unimestre (e.g., name of the role or of the course)
CategoryACCELERO 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 roles with a bind become a category

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.

TODO: Add Screenshot

The Category binds tab showing the Entity Type → Category relationship table and the Add button.

Screen buttons

ButtonFunction
BackReturns without saving
SavePersists the configuration
Synchronize nowImmediately triggers a manual synchronization (asks for confirmation with a captcha)
Synchronization may cause instability

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.
Concurrency lock

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!"
TODO: Add Screenshot

Progress notification of the Unimestre synchronization displayed to the operator (title "Unimestre Synchronization"), with the start, progress, and completion messages.

What each synchronization does

  1. Fetches the data of each semester in the API.
  2. Groups by person, identifying students (those who have a class), family members, and the kinship links between them.
  3. Creates or updates the person (name, CPF, email, code), storing the source identifier in the metadata.
  4. Creates/updates the students' family company and links the family members with the provided association type.
  5. Applies the categories according to the binds, with the validity of the semester's year.
  6. Removes obsolete links of company and category that no longer came in the return.
  7. Updates the guardians (escort) and the photos.
Person identification

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.

Source of the links

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:

  1. Marks the person to require an escort.
  2. 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).
  3. 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.

TODO: Add Screenshot

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

  1. Request that IONGRADE install the unimestre plugin.
  2. In Settings > Plugins - Unimestre, on the API Configuration tab, fill in the address, username, token, and timeout.
  3. On the General tab, provide the semesters to synchronize and the synchronization operator.
  4. On the Category binds tab, map the Unimestre roles/classes to the ACCELERO categories.
  5. Define the categories that require an escort and the association types that become a guardian, if the institution uses guardian control.
  6. Click Save and then Synchronize now for the first load.
  7. Track the progress notifications and check some imported records.

Add a new semester

  1. Open Settings > Plugins - Unimestre, General tab.
  2. Add the new semester to the Semesters to synchronize field, separated by a comma.
  3. Save and, if you want to apply it immediately, click Synchronize now.

Map a new role to a category

  1. Open the Category binds tab.
  2. Click Add, provide the Entity Type (Unimestre role/class), and select the ACCELERO Category.
  3. 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:

  1. In Settings > Plugins - Unimestre > API Configuration, check the address, username, and token.
  2. Increase the API Timeout if the database is large.
  3. 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:

  1. Check the Category binds tab and register the role/class bind.
  2. Confirm that the person's semester is configured.
  3. 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:

  1. Confirm in Unimestre whether the link still exists.
  2. 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