Social Group Service ==================== The social group service provides endpoints which allows a user to join/create a group of other members who, together, can take challenges and earn rewards and badges. .. contents:: Topics Endpoints --------- Get Social Groups Containing Friends of a Member by External Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/groupsContainingMyFriendsByExternalAccounts.json Obtains a list of groups which contain a member that matches one of the external accounts (e.g., Facebook IDs) The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. :query String externalIdentifier: *(required)* Paytronix-assigned code. Contact Paytronix to understand what the possible values are. :query List[String] accountCodes: *(required)* The list of codes (e.g., Facebook IDs). Maximum of 100. :query Integer cardTemplateCode: *(optional)* Paytronix-assigned card template code identifying the card type of the user. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] extAcctGroups: *(required)* See :http:jsonentity:`ExternalAccountSocialGroupSummary` for format of the objects. Get Social Groups Containing Friends of a Member by Email Address ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/groupsContainingMyFriendsByEmailAddresses.json Obtains a list of groups (and their members) which contain a member that matches one of the email addresses The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. :query List[String] emails: *(required)* The list of email addresses. :query Integer cardTemplateCode: *(optional)* Paytronix-assigned card template code identifying the card type of the user. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] emailGroups: *(required)* See :http:jsonentity:`EmailAddressSocialGroup` for format of the objects. Request to Join a Social Group by Member External Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/requestToJoinGroupByMemberExternalAccount.json A person wants to become a member of a group (that they found using :http:get:`socialgroup/getGroupsContainingMyFriendsByExternalAccounts.json`). They must also provide an external account (i.e., Facebook ID) of an existing member for security reasons. This is is an unsolicited request which means that a group admin must approve/reject the request. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam String externalIdentifier: *(required)* Paytronix-assigned code. Contact Paytronix to understand what the possible values are. :jsonparam String accountCode: *(required)* The external code (e.g., Facebook ID) of an existing member .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] invitation: *(required)* See :http:jsonentity:`Invitation` for format of the object. Request to Join a Social Group by Member Email Address ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/requestToJoinGroupByMemberEmailAddress.json A person wants to become a member of a group (that they found using :http:get:`socialgroup/getGroupsContainingMyFriendsByEmailAddresses.json`). They must also provide an email address of an existing member for security reasons. This is is an unsolicited request which means that a group admin must approve/reject the request. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam String email: *(required)* The email address of an existing member. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] invitation: *(required)* See :http:jsonentity:`Invitation` for format of the object. Accept a Join Group Request ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/acceptJoinGroupRequest.json A group admin uses this call to accept an (unsolicited) request to join a group (from :http:post:`socialgroup/requestToJoinGroupByMemberExternalAccount.json` or :http:post:`socialgroup/requestToJoinGroupByMemberEmailAddress.json`). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Reject a Join Group Request ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/rejectJoinGroupRequest.json A group admin uses this call to reject an (unsolicited) request to join a group (from :http:post:`socialgroup/requestToJoinGroupByMemberExternalAccount.json` or :http:post:`socialgroup/requestToJoinGroupByMemberEmailAddress.json`). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` Cancel a Join Group Request ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/cancelJoinGroupRequest.json A user wishes to cancel their own request to join a group submitted via :http:post:`socialgroup/requestToJoinGroupByMemberExternalAccount.json` or :http:post:`socialgroup/requestToJoinGroupByMemberEmailAddress.json`. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` Leave a Social Group ~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/leaveGroup.json A member wants to remove themselves from the group. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. .. http:response:: success :jsonparam String result: *(required)* ``success`` Get Detail of a Member's Social Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/myGroups.json A member wants to view the details of all groups of which they are a member. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. :query Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program of the group. If not specified, then groups from all programs are returned. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] groups: *(required)* See :http:jsonentity:`SocialGroup` for format of the objects. Create a Social Group ~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/createGroup.json A user wants to create a new group. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Integer cardTemplateCode: *(required)* Paytronix-assigned card template code identifying the program of the group. :jsonparam String name: *(required)* The name of the group. :jsonparam String iconCode: *(required)* The code denoting the icon for the group. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Invite Friend of a Member to a Social Group by External Account ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/inviteFriendToGroupByExternalAccount.json A group admin want to add a person to the group using their external account (e.g., Facebook ID). The person might not be a registered user of the system. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam String name: *(required)* The name of the invitee. :jsonparam String externalIdentifier: *(required)* Paytronix-assigned code. Contact Paytronix to understand what the possible values are. :jsonparam String accountCode: *(required)* The external code (e.g., Facebook ID). :jsonparam String email: *(required)* The email address of the invitee. :jsonparam String url: *(required)* A URL which will be embedded in an email sent to the invitee (if configured to do so and email address is known). An ``invitationCode`` will be appended to the URL as a parameter. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object invitation: *(required)* See :http:jsonentity:`Invitation` for format of the object. Invite Friend of a Member to a Social Group by Email Address ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/inviteFriendToGroupByEmailAddress.json A group admin want to add a person to the group using their email address. The person might not be a registered user of the system. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam String name: *(required)* The name of the invitee. :jsonparam String email: *(required)* The email address of the invitee. :jsonparam String url: *(required)* A URL which will be embedded in an email sent to the invitee (if configured to do so and email address is known). An ``invitationCode`` will be appended to the URL as a parameter. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object invitation: *(required)* See :http:jsonentity:`Invitation` for format of the object. Get Pending Invitations to Social Groups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/pendingInvitationsToGroups.json A member wants to view all of the invitations to groups of which they were invited/requested to join. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] invitations: *(required)* See :http:jsonentity:`Invitation` for format of the objects. Get Details on Pending Invitation to a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/pendingInvitationToGroup.json A person (who may or may not be a registered user of the system) wants to view the invitation and group based on an invitation code (which they probably received in an email). If they are not a registered user, then they must register before trying to later accept this invitation. However, they do not need to register if they decide to later reject the invitation. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` * :ref:`anonymous_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] invitation: *(required)* See :http:jsonentity:`Invitation` for format of the object. Get Pending Invitations to a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: socialgroup/pendingInvitationsToGroup.json A group admin wants to view all of the pending invitations to the group. They can accept/reject any of the invitations which were solicited (i.e., if the ``wasInvited`` flag of the invitation is true). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. :query Long groupCode: *(required)* The unique code of the group. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam List[Object] invitations: *(required)* See :http:jsonentity:`Invitation` for format of the objects. Accept an Invitation to Join a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/acceptJoinGroupInvitation.json A person wants to accept an invitation to join a group (from either :http:post:`socialgroup/inviteFriendToGroupByExternalAccount.json` or :http:post:`socialgroup/inviteFriendToGroupByEmailAddress.json`). The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Reject an Invitation to Join a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/rejectJoinGroupInvitation.json A person wants to reject an invitation to join a group (from either :http:post:`socialgroup/inviteFriendToGroupByExternalAccount.json` or :http:post:`socialgroup/inviteFriendToGroupByEmailAddress.json`). The person might not be a registered user of the system. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` * :ref:`anonymous_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` Cancel an Invitation to Join a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/cancelJoinGroupInvitation.json A group admin wants to cancel an invitation or a request to join. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. If the person is not a registered user of the system, then this field is optional. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` Remove Member from a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:delete:: socialgroup/removeMemberFromGroup.json A group admin wants to remove a member from the group. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :query Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :query String username: *(required)* The username (login) of the user. :query Long groupCode: *(required)* The unique code of the group. :query Long memberCode: *(required)* The unique code of the member. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Modify a Social Group Member's Role in the Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/modifyMemberRoleInGroup.json A group admin wants to change a member's roles within the group. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam Long memberCode: *(required)* The unique code of the member. :jsonparam Boolean admin: *(required)* True if the member should become an admin. :jsonparam Boolean owner: *(required)* True if the member should become an owner. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Modify Details of a Social Group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/modifyGroup.json A group owner wants to change the group's name and icon code. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam Long groupCode: *(required)* The unique code of the group. :jsonparam String name: *(required)* The new name of the group. :jsonparam String iconCode: *(required)* The new icon code of the group. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam Object group: *(required)* See :http:jsonentity:`SocialGroup` for format of the object. Create an Invitation Message ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:post:: socialgroup/createInvitationMessage.json Create a message for the user based on the invitation (needed if the user registered after the invitation was sent). This call can fail if the user is not permitted to accept the invitation. The following authentication methods are allowed for this endpoint: * :ref:`b2b_auth` * :ref:`oauth_auth` :jsonparam Integer merchantId: *(required)* Paytronix-assigned merchant ID to perform the operation in. :jsonparam String username: *(required)* The username (login) of the user. :jsonparam String invitationCode: *(required)* The unique code of the invitation. .. http:response:: success :jsonparam String result: *(required)* ``success`` :jsonparam String message: *(required)* The message content that was created for the invitation. Reply Objects ------------- .. http:jsonentity:: ExternalAccountSocialGroupSummary :jsonparam String externalIdentifier: *(required)* Paytronix-assigned code. Contact Paytronix to understand what the possible values are. :jsonparam String accountCode: *(required)* The code (e.g., Facebook IDs). :jsonparam Object group: *(required)* A summary of the group. See :http:jsonentity:`SocialGroupSummary` for format of the object. .. http:jsonentity:: SocialGroupSummary :jsonparam Long code: *(required)* The unique code of this group. :jsonparam String name: *(required)* The name of this group. :jsonparam Integer maxMembers: *(required)* The maximum number of members in this group. :jsonparam String creator: *(required)* The name of the member who created this group (only first name and last initial). :jsonparam String iconCode: *(required)* The code which denotes the icon image to display for this group. :jsonparam List[String] members: *(required)* The list of current member names (only first name and last initial). .. http:jsonentity:: SocialGroup :jsonparam Long code: *(required)* The unique code of this group. :jsonparam String name: *(required)* The name of this group. :jsonparam Integer maxMembers: *(required)* The maximum number of members in this group. :jsonparam Object creator: *(required)* The member who created this group. See :http:jsonentity:`Creator` for format of the object. :jsonparam String iconCode: *(required)* The code which denotes the icon image to display for this group. :jsonparam List[Object] members: *(required)* A list of the members of the group. See :http:jsonentity:`Member` for format of the objects. .. http:jsonentity:: Member :jsonparam Long code: *(required)* The unique code of this member. :jsonparam String name: *(required)* The name of this member. :jsonparam String nickname: *(required)* The nickname of this member. :jsonparam String avatarCode: *(required)* The code which denotes the icon image to display for this member. :jsonparam Boolean isAdmin: *(required)* True if this member is an administrator of the group :jsonparam Boolean isOwner: *(required)* True if this member is an owner of the group :jsonparam Date joinDate: *(required)* The date the member joined the group :jsonparam Date leaveDate: *(required)* The date the member left the group :jsonparam Long accountCode: *(required)* The account code of this member. .. http:jsonentity:: Creator :jsonparam String name: *(required)* The name of this user. :jsonparam String nickname: *(required)* The nickname of this member. :jsonparam String avatarCode: *(required)* The code which denotes the icon image to display for this member. .. http:jsonentity:: Invitation :jsonparam String code: *(required)* The unique code of this invitation. :jsonparam String name: *(required)* The name of the person who was invited/requested to join. :jsonparam String inviteeExternalIdentifier: *(required)* If the person was invited through an external account (e.g., Facebook), this is thee Paytronix-assigned code. {{REST/Parameter/integrationValues}} :jsonparam String inviteeExternalAccountCode: *(required)* If the person was invited through an external account (e.g., Facebook), this is their unique code in that external service. :jsonparam String inviteeExternalEmail: *(required)* If the person was invited through email, this was the address where the invitation was sent. :jsonparam Boolean wasInvited: *(required)* True if the person was invited by a group member to join the group. False if the person requested to join the group (unsolicited). :jsonparam Boolean isRegistered: *(required)* True if the person is a registered user of the system. :jsonparam String memberName: *(required)* The name of the group member who sent the invitation (if ``wasInvited`` is ``true``) or who received the join request (if ``wasInvited`` is ``false``). :jsonparam String memberAvatarCode: *(required)* The avatar of the group member who sent the invitation (if ``wasInvited`` is ``true``) or who received the join request (if ``wasInvited`` is ``false``). :jsonparam Object group: *(required)* The group associated to the invitation. See :http:jsonentity:`SocialGroupSummary` for format of the object. Error Codes ----------- The following are the possible codes and messages that can be returned by the Social Group Service. There are other system-level errors which may be returned which are not documented here. The caller of the endpoint can use the returned message to display to the end user or, if different wording is desired, can provide their own mapping of code to message. +----------------------------------------------------------+--------------------------------------------------------+ | Code | Message | +==========================================================+========================================================+ | ``social_group.not_implemented`` | Not yet implemented | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.user_not_found`` | User not found | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.template_not_found`` | Card Template not found | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.external_identifier_not_allowed`` | Not permitted to search by external identifier | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.user_lookup_error`` | Unable to get user | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.group_lookup_error`` | Unable to get group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.groups_lookup_error`` | Unable to get groups | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.group_not_found`` | Group not found | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invitation_not_found`` | Invitation not found | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.members_lookup_error`` | Unable to get group members | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invitations_lookup_error`` | Unable to get group invitations | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.requests_lookup_error`` | Unable to get group requests | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.request_lookup_error`` | Unable to get group request | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invite_lookup_error`` | Unable to get group invitation | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.account_lookup_error`` | Unable to get account | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.memberships_lookup_error`` | Unable to get group memberships | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_members`` | Group contains maximum number of members | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_invitations`` | Group contains maximum number of invitations | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.already_in_group`` | Already a member of group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.already_have_request`` | Already have a request to join group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.already_have_invite`` | Already have an invitation to join group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.group_config_not_found`` | Group configuration not found | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_groups`` | Request would exceed the maximum group memberships | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_requests`` | Request would exceed the maximum group requests | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_create`` | User cannot create any more groups | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.ext_acct_not_in_group`` | Member with given external account is not in group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.email_not_in_group`` | Member with given email address is not in group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.insert_request`` | Unable to add request | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.insert_invitation`` | Unable to add invitation | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_invitation_code`` | Invalid invitation code | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_or_expired_invitation_code`` | Invalid or expired invitation code | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.not_member`` | Not member of group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.not_admin`` | Not an administrator of group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.insert_member`` | Unable to add member | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.delete_invitation`` | Unable to delete invitation | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.delete_member`` | Unable to delete member | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.update_member`` | Unable to update member | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.name_exists`` | A group with the given name already exists | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.insert_group`` | Unable to create group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.update_group`` | Unable to update group | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_owners`` | Group contains maximum number of owners | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.max_admins`` | Group contains maximum number of administrators | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_name`` | Group name is invalid | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_arguments`` | Invalid arguments | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_max_members`` | Maximum members is invalid | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_max_owners`` | Maximum owners is invalid | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invalid_max_admins`` | Maximum admins is invalid | +----------------------------------------------------------+--------------------------------------------------------+ | ``social_group.invitation_for_another`` | Invitation is for another person | +----------------------------------------------------------+--------------------------------------------------------+