The Members Follow API allows site members to follow and unfollow each other. When a site member follows another member, they receive activity notifications from the members they follow.
With the Members Followers API, you can:
It’s important to note the following points before starting to code:
This article shares some possible use cases your app could support, as well as a sample flow that could support each use case. This can be a helpful jumping off point as you plan your app's implementation.
Your app could assist site owners in adding a widget that displays connections of connections, along with the number of connections a member shares in common with them.
Your app could help site owners add a widget showing connections of connections, and how many connections the specified member has in common with them.
Get the specified member's connections using the List Member Followers endpoint and the List Member Following endpoint.
For each direct connection, get their connections in both directions, using the same endpoints as in step 1.
Using the list of indirect connections from step 2, query any existing relationships to the specified member, using the Query Member Connections endpoint.
Sort the resulting list of potential connections into the following sets:
For each remaining suggestion, use the List Members endpoint to display details for the specified member, and provide "Follow this Member" links using the Follow Member endpoint.
Members Follow APIs
Member ID of the member who performed the action.
Member ID of the member being followed or unfollowed.
{
"memberId": "e411fe13-9794-42b6-ad62-72c9917f1bac",
"affectedMemberId": "9374ed3f-c6c2-4d7d-86f6-4208f70568da"
}
Lists members who are following the given member.
The ID of the member whose followed members you want to list.
Number of items to return. See Pagination for more information.
Cursor returned from last query response.
List of members who are following the given member.
Details on the paged set of results returned.
curl -X GET \
'https://www.wixapis.com/members/v3/followers/24d1fada-b1fb-44e3-ab31-d48b243b9d34' \
-H 'Authorization: <AUTH>'
{
"memberIds": [
"550993c0-49de-444d-8301-8ac7e3ecdc51",
"f7e6f0e5-1247-41e5-89d2-99deefbef9c4"
],
"pagingMetadata": {
"count": 2,
"hasNext": false
}
}
Sets the current member to follow another member.
The ID of the member who you want to follow.
curl -X POST \
'https://www.wixapis.com/members/v3/followers/6f598508-24f1-438d-bd15-fa976190cdc1' \
-H 'Authorization: <AUTH>'
{}
Sets the current member to unfollow another member.
The ID of the member who you want to unfollow.
curl -X DELETE \
'https://www.wixapis.com/members/v3/followers/6f598508-24f1-438d-bd15-fa976190cdc1' \
-H 'Authorization: <AUTH>'
{}
Lists members who are followed by the current member.
Number of items to return. See Pagination for more information.
Cursor returned from last query response.
List of members followed by the current member.
Details on the paged set of results returned.
curl -X GET \
'https://www.wixapis.com/members/v3/followers/my/following' \
-H 'Authorization: <AUTH>'
{
"memberIds": [
"550993c0-49de-444d-8301-8ac7e3ecdc51",
"f7e6f0e5-1247-41e5-89d2-99deefbef9c4"
],
"pagingMetadata": {
"count": 2,
"hasNext": false
}
}
Lists members who are followed by the given member.
The ID of the member whose followers you want to list.
Number of items to return. See Pagination for more information.
Cursor returned from last query response.
List of members who are followed by the given member.
Details on the paged set of results returned.
curl -X GET \
'https://www.wixapis.com/members/v3/followers/24d1fada-b1fb-44e3-ab31-d48b243b9d34/following' \
-H 'Authorization: <AUTH>'
{
"memberIds": [
"550993c0-49de-444d-8301-8ac7e3ecdc51",
"f7e6f0e5-1247-41e5-89d2-99deefbef9c4"
],
"pagingMetadata": {
"count": 2,
"hasNext": false
}
}
Lists members who are following the current member.
Number of items to return. See Pagination for more information.
Cursor returned from last query response.
List of members who are following the current member.
Details on the paged set of results returned.
curl -X GET \
'https://www.wixapis.com/members/v3/followers/my' \
-H 'Authorization: <AUTH>'
{
"memberIds": [
"550993c0-49de-444d-8301-8ac7e3ecdc51",
"f7e6f0e5-1247-41e5-89d2-99deefbef9c4"
],
"pagingMetadata": {
"count": 2,
"hasNext": false
}
}
Retrieves a list of members whose connections to the current member were retrieved.
List of member IDs whose connections to the current member will be retrieved.
List of members whose connections to the current member were retrieved.
curl -X POST \
'https://www.wixapis.com/members/v3/followers/my/connections?connectedMemberIds=27142d62-fecd-4607-afe1-05c45cff8d95' \
-H 'Content-Type: application/json' \
-H 'Authorization: <AUTH>'
-d $'{
"connectedMemberIds": [
"abc688da-ff74-43c6-9262-4ce2b5d2606",
"27142d62-fecd-4607-afe1-05c45cff8d95"
]
}'
{
"connectedMembers": [
{
"connectedMemberId": "abc688da-ff74-43c6-9262-4ce2b5d26076",
"followedByMember": false,
"followingMember": false
},
{
"connectedMemberId": "27142d62-fecd-4607-afe1-05c45cff8d95",
"followedByMember": true,
"followingMember": true
}
]
}
Retrieves a list of members whose connections to the given member were retrieved.
Note: If an empty array is passed as connectedMemberIds
, the call will succeed, but it will not return any data.
Member ID.
List of member IDs whose connections to the given member will be retrieved.
List of members whose connections to the given member were retrieved.
curl -X POST \
'https://www.wixapis.com/members/v3/followers/24d1fada-b1fb-44e3-ab31-d48b243b9d34/connections' \
-H 'Content-Type: application/json' \
-H 'Authorization: <AUTH>'
-d $'{
"connectedMemberIds": [
"27142d62-fecd-4607-afe1-05c45cff8d95",
"abc688da-ff74-43c6-9262-4ce2b5d2606"
]
}'
{
"connectedMembers": [
{
"connectedMemberId": "abc688da-ff74-43c6-9262-4ce2b5d26076",
"followedByMember": false,
"followingMember": false
},
{
"connectedMemberId": "27142d62-fecd-4607-afe1-05c45cff8d95",
"followedByMember": true,
"followingMember": true
}
]
}
Triggered when a member follows another member.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v3.follow
.
Event name. Expected member_followed
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v3.follow_member_followed",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"id": "0ec75a41-ae29-4e5e-8063-46f5a5d925d9",
"entityFqdn": "wix.members.follow",
"slug": "member_followed",
"entityId": "b684ab69-b157-419f-ac29-79878632a97d",
"actionEvent": {
"body": {
"memberConnection": {
"memberId": "f2f267d8-3b46-4af8-991e-a00d9232ef4e",
"affectedMemberId": "b458556b-d0bc-4644-a057-bf4db5b0eec9"
}
}
},
"eventTime": "2021-08-30T08:44:20.629071Z",
"triggeredByAnonymizeRequest": false
}
Triggered when a member unfollows another member.
Unique event ID. Allows clients to ignore duplicate webhooks.
Fully qualified domain name of the entity associated with the event. Expected wix.members.v3.follow
.
Event name. Expected member_unfollowed
.
ID of the entity associated with the event.
Event timestamp.
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
If present, indicates the action that triggered the event.
Event information.
The data payload will include the following as an encoded JWT:
{
"data": {
"eventType": "wix.members.v3.follow_member_unfollowed",
"instanceId": "<app-instance-id>",
"data": "<stringified-JSON>",
// The identity field is sent as a stringified JSON
"identity": {
"identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
"anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR
"memberId": "<memberId>", // in case of MEMBER
"wixUserId": "<wixUserId>", // in case of WIX_USER
"appId": "<appId>" // in case of APP
}
}
}
{
"id": "0ec75a41-ae29-4e5e-8063-46f5a5d925d9",
"entityFqdn": "wix.members.v3.follow",
"slug": "member_unfollowed",
"entityId": "b684ab69-b157-419f-ac29-79878632a97d",
"actionEvent": {
"body": {
"memberConnection": {
"memberId": "f2f267d8-3b46-4af8-991e-a00d9232ef4e",
"affectedMemberId": "b458556b-d0bc-4644-a057-bf4db5b0eec9"
}
}
},
"eventTime": "2021-08-30T08:44:20.629071Z",
"triggeredByAnonymizeRequest": false
}