Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Sub use case C1

Success scenario

Step 1. Bob clicks on the invitation link in the email he received and is directed to the Synapse web client.

Step 2. The web client presents Bob with the option to create a Synapse account or sign in with an existing account.

Step 3. Bob creates his new Synapse account.

Step 4. The web client displays Alice's invitation to Bob.

Step 5. Bob accepts Alice's team invitation.

Step 6. System sends a notification email to Alice saying that Bob has joined her team.

Sub use case C2

Success scenario

Step 1. Bob clicks on the invitation link in the email he received and is directed to the Synapse web client.

Step 2. The web client presents Bob with the option to create a Synapse account or sign in with an existing account.

Step 3. Bob creates his new Synapse account.

Step 4. System sends a verification email to the address to which Alice sent the invitation.

Step 5. The web client prompts Bob to verify that he owns the above email address by clicking the link in the verification email.

Step 6. Bob clicks on the verification link and is directed to the Synapse web client.

Step 7. The web client displays Alice's invitation to Bob.

Step 8. Bob accepts Alice's team invitation.

Step 9. System sends a notification email to Alice saying that Bob has joined her team.

Mockups

View file
nameuse-case-c1.pdf
height250
View file
nameuse-case-cc2.pdf
height250

Use case D - Bob wants to sign in to his existing Synapse account and accept Alice's invitation.

...

Sub use case D1

Success scenario

Step 1. Bob clicks on the invitation link in the email he received and is directed to the Synapse web client.

Step 2. The web client presents Bob with the option to create a Synapse account or sign in with an existing account.

Step 3. Bob signs in with his existing Synapse account.

Step 4. The web client displays Alice's invitation to Bob.

Step 5. Bob accepts Alice's team invitation.

Step 6. System sends a notification email to Alice saying that Bob has joined her team.

Sub use case D2

Success scenario

Step 1. Bob clicks on the invitation link in the email he received and is directed to the Synapse web client.

Step 2. The web client presents Bob with the option to create a Synapse account or sign in with an existing account.

Step 3. Bob signs in with his existing Synapse account.

Step 4. System sends a verification email to the address to which Alice sent the invitation.

Step 5. The web client prompts Bob to verify that he owns the above email address by clicking the link in the verification email.

Step 6. Bob clicks on the verification link and is directed to the Synapse web client.

Step 7. The web client displays Alice's invitation to Bob.

Step 8. Bob accepts Alice's team invitation.

Step 9. System sends a notification email to Alice saying that Bob has joined her team.

Mockups

View file
nameuse-case-d1.pdf
height250
View file
nameuse-case-dd2.pdf
height250

Use case E - Bob wants to create a new Synapse account but doesn't want to accept Alice's invitation yet.

...

New modelsExisting models (modified)
EmailMembershipInvitationEmailMembershipInvitationIdEmailValidationSignedTokenInviteeVerificationSignedTokenAccountSetupInfoNewUser

emailinviteeEmail

teamId

createdBy

id

emailMembershipInvitationId


email

timestamp

hmac

inviteeId

emailMembershipInvitationId

timestamp

hmac

firstName

lastName

emailValidationToken

EmailValidationSignedToken

username

password

email

lastName

firstName

userName

...

DescriptionIntended UserURIMethodRequest ParametersRequest BodyResponse Body
Create and send email membership invitation containing an invitation link. The link will contain a serialized EmailMembershipInvitationId.team administrator/emailMembershipInvitationPOSTportalEndpointEmailMembershipInvitationEmailMembershipInvitation
Retrieve pending email membership invitation by ID.team administrator/emailMembershipInvitation/{id}GET----EmailMembershipInvitation
Retrieve pending email membership invitations from a Team.team administrator/team/{id}/emailMembershipInvitationsGETlimit, offset--PaginatedResults<EmailMembershipInvitation>
Delete and invalidate pending email membership invitation.team administrator/emailMembershipInvitation/{id}DELETE------

Starts the process of creating a new account, similarly to POST /account/emailValidation, but also the process of associating a membership invitation to the new account. Sends a 'validation email' message to the provided email address. The email contains a link to complete the registration process.

The link will contain a serialized EmailValidationSignedToken (used for new account registration) and a serialized EmailMembershipInvitationId (used to create membership invitation).

Intended to be used in conjunction with POST /account.

public/emailMembershipInvitation/{id}/account/emailValidationPOSTportalEndpointNewUser--

Send an identity verification email to the address associated with the provided EmailMembershipInvitation. The link contains a serialized InviteeVerificationSignedToken.

authenticated user/emailMembershipInvitation/{id}/verificationPOSTportalEndpoint----

Create a MembershipInvitation. The invitation is created from the team associated with the given email membership invitation to the currently authenticated user.

At least one of the following conditions must be met in order for this service to succeed:

  • One of the authorized user's email addresses is the same as the email address in the given EmailMembershipInvitation.
  • A valid InviteeVerificationSignedToken (IVST) was passed in as a parameter. (IVST.inviteeId == authenticated user's ID && IVST.emailInvitationId == resource URL {id})


Doesn't send any email notifications.

authenticated user/emailMembershipInvitation/{id}/membershipInvitationPOST

InviteeVerificationSignedToken

(optional)

--MembershipInvtnSubmission

...