romdim Dylan conway Iosif alvertis

Profiles API

The Profile API is the essence of the Graph API, as it provides the main relation between an OPENi account and the relative accounts on various cloud-based services. Its main goal is to provide information about user’s profiles among different services and devices. An OPENi user has connected multiple accounts, devices and applications as shown in Figure. Nevertheless that does not mean that they have a relationship of objects-connections, as devices, applications and accounts are main objects; the Profiles API actually highlights tha basic rules of the Graph API as described in Chapter 5, as an OPENi user is considered a “user”, addressed with the “me” path.

!{width:30%}structure_of_profiles.png!

Objects

Objects Description Reference Activities Mapping
[account] Indicates an account held by an agent, for another cloud based service FoaF [Account Mapping]
[application] Represents any kind of software application. AS Schema [Application Mapping]
[user] A user, company or person, with their profile information. This is the central point of reference for OPENi, under which every account is connected. Nevertheless, the aggregated activities for a user, centrally under a user. --not available--

Methods

Below there are the generally supported methods that Objects from Media API support. For special cases, see every object separately.

Method Details Call Method API path Properties Response
Get a "profile API" object This method returns an object with its properties [REST] #GET
API_PATH/{OBJECT_ID}
OBJECT_ID A profile object
Get all "profile API" objects for an account This method returns all the requested objects that are connected with an account, of course apart from other accounts. The profile objects are of the same type (i.e. devices, applications, contacts etc.) [REST] #GET
API_PATH/{ACCOUNT_ID}/objects
e.g. API_PATH/12312313/devices
ACCOUNT_ID A list of same-type profile objects
Get profile objects for an OPENi user Gets all profile objects for the authenticated user, for all her accounts, accept if they are filtered.The requested objects cannot be of type"users". [REST] #GET
API_PATH/{USER_ID}/objects
e.g. API_PATH/555/applications
USER_ID, accounts={ACCOUNT_ID} A list of same-type profile objects
Create an OPENi user This method creates a new OPENi user. [REST] #POST
API_PATH/users
{USER OBJECT} A success or error code
Post a profile object to a simple account This method uploads an object to an account, given the object. Of course no other account or user object can be posted under an existing account. There is also to multiple posting for the [Profiles API] as there are single connections among objects. [REST] #POST
API_PATH/{ACCOUNT_ID}/objects
e.g. API_PATH/12312313/devices
ACCOUNT_ID, {OBJECT} A success or error code
Post a profile object to an aggregation This method uploads an object to an aggregation, given the object. [REST] #POST
API_PATH/{AGGREGATION_ID}/objects
e.g. API_PATH/5553_12312313/group
AGGREGATION_ID, {OBJECT} A success or error code
Edit a profile object This method can update properties and especially the profiling set of properties that refere to a profile API object. [REST] #PUT
API_PATH/{OBJECT_ID}
OBJECT_ID A success or error code
Delete a profile object This method deletes an object, owned by the authenticated user. If the selected object is a user, all his connections are removed from OPENi and the user has no data in tha platform. [REST] #DELETE
API_PATH/{OBJECT_ID}
OBJECT_ID A success or error code

Connections

There is a series of connections that are available only for [account]s. These are connections that aggregate social activity (e.g. likes, friends, followers) under an account. Typically Cloud Based Services do not allow to collect such activity as it may reduce the business value of the platform. There is no actual meaning to collect all the activities of users under different services, so such connections are not available under a [user] object.

There is no other profound connection to a Profile API object.

Aggregations

Aggregations Description Reference
[group] Represents a grouping of [account]s in which member objects can join or leave. AS Schema

Useful references

FOAF Specs


Related

Wiki: account
Wiki: user
Wiki: REST
Wiki: Profiles API
Wiki: application
Wiki: Application Mapping
Wiki: Account Mapping
Wiki: device
Wiki: T31-_OPENi_APIs_Specification
Wiki: T3.1- OPENi APIs Specification
Wiki: contact