Tasks to be done for the Maestrano integration
1 - Single Sign On
1.1 Initial Single Sign On
1.1.1 Company creation REQUIRED
Given a new user triggers the SSO and the group_id does not match any existing Company, a new Company is created using the Company name and group_id reference
1.1.2 User creation with known Company REQUIRED
Given a new user triggers the SSO and the group_id matches a Company group_id, a User is created using the first name, last name and user_id reference and is associated to the existing Company
1.1.3 User creation with unknown Company REQUIRED
Given a new user triggers the SSO and the group_id does not match any Company group_id, a Company is created as per 1.1.1 and a User is created using the first name, last name and user_id reference and is associated to the created Company
1.2 Subsequent Single Sign On
1.2.1 User with user_id matching an existing account REQUIRED
Given an existing user triggers the SSO and the user_id is know, the User is authenticated and logged into its account
1.3 User migration
1.3.1 User email matching - Applicable if user email is unique IF APPLICABLE
Given a new user triggers the SSO and the user_id is not known but the user email is, the user_id is linked to the user record. This means the User is already existing in your system and has subscribed to Maestrano service in order to link his account.
2 - Billing
3 - Connec! data-sharing
3.1 Initial Import
1.1.1 Import data upon initial single sign-on REQUIRED
Given a new Company is created with a specified group_id on initial SSO (see 1.1.1), the relevant data are imported from Connec! for this group_id
3.2 Push entities to Connec!
The term entities refers to the resources exposed by Connec! data-model. This can be customers, products, invoices, employees, etc...
3.2.1 Send created records to Connec! REQUIRED
When a record is created in the application, a request to create an entity is sent to Connec! The ID of the Connec! entity is stored to support subsequent updates (see Multi-Tenant Integration)
3.2.2 Send updated records to Connec! REQUIRED
When a record is updated in the application, a request to update the entity is sent to Connec! The ID of the Connec! entity is specified as the one retrieved from a previous entity creation. Failing to specify such ID would result in creating a duplicate record
3.3 Receive notifications from Connec!
3.3.1 Notification of a new entity REQUIRED
When a notification is received from Connec! and the ID of the entity is not known, a new record is created in the application and the ID of the Connec! entity is stored to support subsequent updates
3.3.2 Notification of an updated entity REQUIRED
When a notification is received from Connec! and the ID of the entity is known, the matching record is updated in the application