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 |
|
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 | 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 | 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 |
|
{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 | 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 | 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 |
|
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 |
|
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
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