References

When you add a user or a collection object to an activity, Stream stores the unique reference and replaces it at read time. In some complex cases, you need to be able to generate a reference to an existing object and embed that inside of an activity.

# First create a collection entry with upsert api
$client->collections()->upsert(
  "food", ["id" => "cheese-burger", "name" => "Cheese Burger"]
);

# Then create a user
$client->users()->add(
  "john-doe",
  ["name" => "John Doe", "occupation" => "Software Engineer", "gender" => "male"],
  true
);

# Since we know their IDs we can create references to both without reading from APIs
$cheese_burger_ref = $client->collections()->createReference("food", "cheese-burger");
$john_doe_ref = $client->users()->createReference("john-doe");

# And then add an activity with these references
$feed->addActivity(
  ["actor" => $john_doe_ref, "verb" => "eat", "object" => $cheese_burger_ref]
);

If you are using the APIs on web / mobile (see auth section) you must set activity.actor to the reference of the current user or otherwise you will get a permission error (see examples above).

© Getstream.io, Inc. All Rights Reserved.