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¶
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:
"result":
"success"
success
ExternalAccountSocialGroupSummary
for format of the objects.Get Social Groups Containing Friends of a Member by Email Address¶
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:
"result":
"success"
success
EmailAddressSocialGroup
for format of the objects.Request to Join a Social Group by Member External Account¶
POST
socialgroup/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"
success
Invitation
for format of the object.Request to Join a Social Group by Member Email Address¶
POST
socialgroup/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"
success
Invitation
for format of the object.Accept a Join Group Request¶
POST
socialgroup/acceptJoinGroupRequest.json
¶A group admin uses this call to accept an (unsolicited) request to join a group (from
POST socialgroup/requestToJoinGroupByMemberExternalAccount.json
orPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json
).The following authentication methods are allowed for this endpoint:
"result":
"success"
success
SocialGroup
for format of the object.Reject a Join Group Request¶
POST
socialgroup/rejectJoinGroupRequest.json
¶A group admin uses this call to reject an (unsolicited) request to join a group (from
POST socialgroup/requestToJoinGroupByMemberExternalAccount.json
orPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json
).The following authentication methods are allowed for this endpoint:
"result":
"success"
success
Cancel a Join Group Request¶
POST
socialgroup/cancelJoinGroupRequest.json
¶A user wishes to cancel their own request to join a group submitted via
POST socialgroup/requestToJoinGroupByMemberExternalAccount.json
orPOST socialgroup/requestToJoinGroupByMemberEmailAddress.json
.The following authentication methods are allowed for this endpoint:
"result":
"success"
success
Leave a Social Group¶
POST
socialgroup/leaveGroup.json
¶A member wants to remove themselves from the group.
The following authentication methods are allowed for this endpoint:
"result":
"success"
success
Get Detail of a Member’s Social Groups¶
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:
"result":
"success"
success
SocialGroup
for format of the objects.Create a Social Group¶
POST
socialgroup/createGroup.json
¶A user wants to create a new group.
The following authentication methods are allowed for this endpoint:
"result":
"success"
success
SocialGroup
for format of the object.Invite Friend of a Member to a Social Group by External Account¶
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:
invitationCode
will be appended to the URL as a parameter."result":
"success"
success
Invitation
for format of the object.Invite Friend of a Member to a Social Group by Email Address¶
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:
invitationCode
will be appended to the URL as a parameter."result":
"success"
success
Invitation
for format of the object.Get Pending Invitations to Social Groups¶
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:
"result":
"success"
success
Invitation
for format of the objects.Get Details on Pending Invitation to a Social Group¶
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:
"result":
"success"
success
Invitation
for format of the object.Get Pending Invitations to a Social Group¶
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:
"result":
"success"
success
Invitation
for format of the objects.Accept an Invitation to Join a Social Group¶
POST
socialgroup/acceptJoinGroupInvitation.json
¶A person wants to accept an invitation to join a group (from either
POST socialgroup/inviteFriendToGroupByExternalAccount.json
orPOST socialgroup/inviteFriendToGroupByEmailAddress.json
).The following authentication methods are allowed for this endpoint:
"result":
"success"
success
SocialGroup
for format of the object.Reject an Invitation to Join a Social Group¶
POST
socialgroup/rejectJoinGroupInvitation.json
¶A person wants to reject an invitation to join a group (from either
POST socialgroup/inviteFriendToGroupByExternalAccount.json
orPOST 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"
success
Cancel an Invitation to Join a Social Group¶
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:
"result":
"success"
success
Remove Member from a Social Group¶
DELETE
socialgroup/removeMemberFromGroup.json
¶A group admin wants to remove a member from the group.
The following authentication methods are allowed for this endpoint:
"result":
"success"
success
SocialGroup
for format of the object.Modify a Social Group Member’s Role in the Group¶
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:
"result":
"success"
success
SocialGroup
for format of the object.Modify Details of a Social Group¶
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:
"result":
"success"
success
SocialGroup
for format of the object.Create an Invitation Message¶
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:
"result":
"success"
success
Reply Objects¶
ExternalAccountSocialGroupSummary
¶SocialGroupSummary
for format of the object.SocialGroupSummary
¶SocialGroup
¶Creator
for format of the object.Member
for format of the objects.Member
¶Creator
¶Invitation
¶wasInvited
istrue
) or who received the join request (ifwasInvited
isfalse
).wasInvited
istrue
) or who received the join request (ifwasInvited
isfalse
).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.
social_group.not_implemented
social_group.user_not_found
social_group.template_not_found
social_group.external_identifier_not_allowed
social_group.user_lookup_error
social_group.group_lookup_error
social_group.groups_lookup_error
social_group.group_not_found
social_group.invitation_not_found
social_group.members_lookup_error
social_group.invitations_lookup_error
social_group.requests_lookup_error
social_group.request_lookup_error
social_group.invite_lookup_error
social_group.account_lookup_error
social_group.memberships_lookup_error
social_group.max_members
social_group.max_invitations
social_group.already_in_group
social_group.already_have_request
social_group.already_have_invite
social_group.group_config_not_found
social_group.max_groups
social_group.max_requests
social_group.max_create
social_group.ext_acct_not_in_group
social_group.email_not_in_group
social_group.insert_request
social_group.insert_invitation
social_group.invalid_invitation_code
social_group.invalid_or_expired_invitation_code
social_group.not_member
social_group.not_admin
social_group.insert_member
social_group.delete_invitation
social_group.delete_member
social_group.update_member
social_group.name_exists
social_group.insert_group
social_group.update_group
social_group.max_owners
social_group.max_admins
social_group.invalid_name
social_group.invalid_arguments
social_group.invalid_max_members
social_group.invalid_max_owners
social_group.invalid_max_admins
social_group.invitation_for_another