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 |
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.
Topics
Endpoints¶
Get Social Groups Containing Friends of a Member by External Account¶
GETsocialgroup/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:
"result":"success"successExternalAccountSocialGroupSummaryfor format of the objects.Get Social Groups Containing Friends of a Member by Email Address¶
GETsocialgroup/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:
"result":"success"successEmailAddressSocialGroupfor format of the objects.Request to Join a Social Group by Member External Account¶
POSTsocialgroup/requestToJoinGroupByMemberExternalAccount.json¶A person wants to become a member of a group (that they found using
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:
"result":"success"successInvitationfor format of the object.Request to Join a Social Group by Member Email Address¶
POSTsocialgroup/requestToJoinGroupByMemberEmailAddress.json¶A person wants to become a member of a group (that they found using
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:
"result":"success"successInvitationfor format of the object.Accept a Join Group Request¶
POSTsocialgroup/acceptJoinGroupRequest.json¶A group admin uses this call to accept an (unsolicited) request to join a group (from
POST socialgroup/requestToJoinGroupByMemberExternalAccount.jsonorPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json).The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Reject a Join Group Request¶
POSTsocialgroup/rejectJoinGroupRequest.json¶A group admin uses this call to reject an (unsolicited) request to join a group (from
POST socialgroup/requestToJoinGroupByMemberExternalAccount.jsonorPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json).The following authentication methods are allowed for this endpoint:
"result":"success"successCancel a Join Group Request¶
POSTsocialgroup/cancelJoinGroupRequest.json¶A user wishes to cancel their own request to join a group submitted via
POST socialgroup/requestToJoinGroupByMemberExternalAccount.jsonorPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json.The following authentication methods are allowed for this endpoint:
"result":"success"successLeave a Social Group¶
POSTsocialgroup/leaveGroup.json¶A member wants to remove themselves from the group.
The following authentication methods are allowed for this endpoint:
"result":"success"successGet Detail of a Member’s Social Groups¶
GETsocialgroup/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:
"result":"success"successSocialGroupfor format of the objects.Create a Social Group¶
POSTsocialgroup/createGroup.json¶A user wants to create a new group.
The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Invite Friend of a Member to a Social Group by External Account¶
POSTsocialgroup/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:
invitationCodewill be appended to the URL as a parameter."result":"success"successInvitationfor format of the object.Invite Friend of a Member to a Social Group by Email Address¶
POSTsocialgroup/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:
invitationCodewill be appended to the URL as a parameter."result":"success"successInvitationfor format of the object.Get Pending Invitations to Social Groups¶
GETsocialgroup/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:
"result":"success"successInvitationfor format of the objects.Get Details on Pending Invitation to a Social Group¶
GETsocialgroup/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:
"result":"success"successInvitationfor format of the object.Get Pending Invitations to a Social Group¶
GETsocialgroup/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
wasInvitedflag of the invitation is true).The following authentication methods are allowed for this endpoint:
"result":"success"successInvitationfor format of the objects.Accept an Invitation to Join a Social Group¶
POSTsocialgroup/acceptJoinGroupInvitation.json¶A person wants to accept an invitation to join a group (from either
POST socialgroup/inviteFriendToGroupByExternalAccount.jsonorPOST socialgroup/inviteFriendToGroupByEmailAddress.json).The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Reject an Invitation to Join a Social Group¶
POSTsocialgroup/rejectJoinGroupInvitation.json¶A person wants to reject an invitation to join a group (from either
POST socialgroup/inviteFriendToGroupByExternalAccount.jsonorPOST socialgroup/inviteFriendToGroupByEmailAddress.json). The person might not be a registered user of the system.The following authentication methods are allowed for this endpoint:
"result":"success"successCancel an Invitation to Join a Social Group¶
POSTsocialgroup/cancelJoinGroupInvitation.json¶A group admin wants to cancel an invitation or a request to join.
The following authentication methods are allowed for this endpoint:
"result":"success"successRemove Member from a Social Group¶
DELETEsocialgroup/removeMemberFromGroup.json¶A group admin wants to remove a member from the group.
The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Modify a Social Group Member’s Role in the Group¶
POSTsocialgroup/modifyMemberRoleInGroup.json¶A group admin wants to change a member’s roles within the group.
The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Modify Details of a Social Group¶
POSTsocialgroup/modifyGroup.json¶A group owner wants to change the group’s name and icon code.
The following authentication methods are allowed for this endpoint:
"result":"success"successSocialGroupfor format of the object.Create an Invitation Message¶
POSTsocialgroup/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:
"result":"success"successReply Objects¶
ExternalAccountSocialGroupSummary¶SocialGroupSummaryfor format of the object.SocialGroupSummary¶SocialGroup¶Creatorfor format of the object.Memberfor format of the objects.Member¶Creator¶Invitation¶wasInvitedistrue) or who received the join request (ifwasInvitedisfalse).wasInvitedistrue) or who received the join request (ifwasInvitedisfalse).SocialGroupSummaryfor 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.
social_group.not_implementedsocial_group.user_not_foundsocial_group.template_not_foundsocial_group.external_identifier_not_allowedsocial_group.user_lookup_errorsocial_group.group_lookup_errorsocial_group.groups_lookup_errorsocial_group.group_not_foundsocial_group.invitation_not_foundsocial_group.members_lookup_errorsocial_group.invitations_lookup_errorsocial_group.requests_lookup_errorsocial_group.request_lookup_errorsocial_group.invite_lookup_errorsocial_group.account_lookup_errorsocial_group.memberships_lookup_errorsocial_group.max_memberssocial_group.max_invitationssocial_group.already_in_groupsocial_group.already_have_requestsocial_group.already_have_invitesocial_group.group_config_not_foundsocial_group.max_groupssocial_group.max_requestssocial_group.max_createsocial_group.ext_acct_not_in_groupsocial_group.email_not_in_groupsocial_group.insert_requestsocial_group.insert_invitationsocial_group.invalid_invitation_codesocial_group.invalid_or_expired_invitation_codesocial_group.not_membersocial_group.not_adminsocial_group.insert_membersocial_group.delete_invitationsocial_group.delete_membersocial_group.update_membersocial_group.name_existssocial_group.insert_groupsocial_group.update_groupsocial_group.max_ownerssocial_group.max_adminssocial_group.invalid_namesocial_group.invalid_argumentssocial_group.invalid_max_memberssocial_group.invalid_max_ownerssocial_group.invalid_max_adminssocial_group.invitation_for_another