widgetId is technically the only required parameter, both user and group are effectively required for most customers and there are others parameters detailed below that you will more than likely need to populate.
widgetId
required A widget’s ID can also be found on the Install Client tab, in the code snippet.user
required This parameter is used to provide information about the current user (i.e., the inviter). In your staging and production environments you’ll need to send this via a signed JWT (see JSON Web Tokens). In your development environment, however, you can send unsigned JSON in the following format.groups parameter with the group(s) that the current user is in. This allows Vortex to ensure that a user can only send invitations for a group in which they are actually a member. If users are not grouped, do not include the groups parameter.
group
required for most customers Although optional, any service that groups users together in some fashion will need to populate thegroup parameter to define the context of the invitation.
A service like Slack, for example, groups customers into workspaces, and invitations to join Slack are unique per workspace. Three different people may invite sara@acme.com to join three different Slack workspaces. That email address only has to represent a unique invitation within each workspace. If Slack were using Vortex, every invitation to a workspace would include the ID of the given workspace passed in on this group parameter.
Your service may have multiple groupings. For example, Trello has workspaces, but also has the concept of boards that are owned by a workspace. People can be invited to a workspace, but they can also be invited at the board level. They can even be invited to multiple boards within a workspace. If Trello were using Vortex, the group ID passed in would represent a workspace ID for invitations to a workspace, or a board ID for invitations to a board.
While the above examples are both B2B services, the group concept applies to B2C services as well. On Airbnb, people are invited to a trip, and the group ID would be that of the trip.
The following information can be passed in for a group.
groupId(required) - The internal ID of the group associated with the invitation. As noted in the examples above, this could be workspace, organization, team, board, project, etc.type(required) - This is the identifier for the type of group. For example, “workspace”, “team”, “organization”, “project”, etc. This value allows you to identify the type of invitation when an invitee is directed to your service. It also allows you to meaningfully filter your analytics.name(optional) - The actual name of the given group associated with the invitation. For example, the name of the workspace, organization, team, etc. This is optional, but it is useful for making certain analytics reports more readable.