Following Action Feed

Get a feed of activity using multiple signals of user engagement from accounts a user is following. This algorithm aggregates actions from across other accounts a user is following, to bubble up content that those accounts have engaged positively with.

Examples include:

  • For You
  • Your Friends Activity
  • Following Activity
  • Your Feed
  • Your Stream

Code Example

Take a look at this example of using the Following Action Feed endpoint, and read the detailed description below explaining each part of this code.

const data = JSON.stringify({
  "object": {
    "id": "Tim",
    "type": "user"
  }
});

const xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed");
xhr.setRequestHeader("accept", "application/json");
xhr.setRequestHeader("content-type", "application/json");

xhr.send(data);
import requests

url = "https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed"

payload = {"object": {
        "id": "Tim",
        "type": "user"
    }}
headers = {
    "accept": "application/json",
    "content-type": "application/json"
}

response = requests.request("GET", url, json=payload, headers=headers)

print(response.text)
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request.body = "{\"object\":{\"id\":\"Tim\",\"type\":\"user\"}}"

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "{\"object\":{\"id\":\"Tim\",\"type\":\"user\"}}",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"object\":{\"id\":\"Tim\",\"type\":\"user\"}}");
Request request = new Request.Builder()
  .url("https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed")
  .get()
  .addHeader("accept", "application/json")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
curl --request GET \
  --url https://api.pipeless.io/v1/apps/123/algos/activity/actions-feed \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"object":{"id":"Tim","type":"user"}}'

In this example we're running this feed algo on App ID "123" where an object user "Tim" is the target who will being receiving activity that users Tim follows have engaged in. (e.g. "Followed" is the default value for relationships, you can override that by explicitly setting follow relationship types. There are more optional controls you can explore in the API reference docs like limiting the activity to certain relationships, for instance, if you only wanted to show the recent posts users Tim follows have liked).

To summarize, this example is: "get activity the users Tim follows have recently engaged in"

Tutorial Example

You can see this API endpoint in action using our tutorial restaurant dataset here:
Following Action Feed Tutorial Example

API Reference Documentation

You can read the reference docs for this endpoint here:
Get Activity Actions Feed


What’s Next