HTTP Request Flow and a Response Body

Review the process flow for Connect REST API, including resource and response examples.

The general process flow for using Connect REST API is:

  1. Send an HTTP request to Salesforce.
  2. The system authenticates the user and client app.
  3. Request Connect REST API resources using an HTTP request.
  4. The system returns an HTTP return code. Additional information (such as a Connect REST API response body) is optionally included in the response.

Each resource in Connect REST API is a URI used with an HTTP method (such as GET, POST, DELETE, or HEAD). Each resource represents something in Salesforce, such as a user's news feed, or the comments on a post.

Many of the resources use either a specified user ID or the keyword me to indicate the current, context user. For example, to return the user-profile information for the current, context user, use this resource.
1/chatter/users/me
You could also specify a particular user by user ID.
1/chatter/users/005D0000001GLoh

When you successfully access a resource, a response body is returned in JSON or XML. By default, JSON is returned. Each response body can contain one or more response bodies. For example, the following is the JSON response body of the user resource. It includes other response bodies as well, such as address, motif, and phone numbers.

1{
2   "aboutMe": "I'm excited to be part of the team focused on building out our apps business
3 and showing our customers their future.",
4   "additionalLabel" : null,
5   "address": {
6      "city": "Seattle",
7      "country": "US",
8      "state": "WA",
9      "street": "2001 8th Ave",
10      "zip": "98121"
11      "formattedAdress": "2001 8th Ave\nSeattle, WA 98121\nUS"
12   },
13   "chatterActivity": {
14      "commentCount": 0,
15      "commentReceivedCount": 1,
16      "likeReceivedCount": 0,
17      "postCount": 2
18   },
19   "chatterInfluence" : {
20     "percentile" : "0.6666666666666667",
21     "rank" : 1
22   },
23   "communityNickname": "marRave",
24   "companyName": "Seattle Apps",
25   "displayName": "Marion Raven",
26   "email": "mraven@seattleapps.com",
27   "firstName": "Marion",
28   "followersCount": 1,
29   "followingCounts": {
30      "people": 5,
31      "records": 0,
32      "total": 5
33   },
34   "groupCount": 3,
35   "hasChatter": true,
36   "id": "005D0000001Kl6xIAC",
37   "isActive": true,
38   "isInThisCommunity" : true,
39   "lastName": "Raven",
40   "managerId": null,
41   "managerName": null,
42   "motif": {
43      "color" : "20aeb8",
44      "largeIconUrl": "/img/icon/profile64.png",
45      "mediumIconUrl": "/img/icon/profile32.png",
46      "smallIconUrl": "/img/icon/profile16.png"
47   },
48   "mySubscription": null,
49   "name": "Marion Raven",
50   "phoneNumbers": [{
51      "label": "Work",
52      "phoneNumber": "(206) 999-2846",
53      "phoneType": "Work"
54   }],
55   "photo": {
56      "fullEmailPhotoUrl": "https://instance_name/ncsphoto/SqRfG_-PUTY6KtfOp_f0cGW2pGjfqoWUUgTENHjVyS1i9x6Z16L8wXEGigpcWjAd",
57      "largePhotoUrl": "https://instance_name/profilephoto/729D00000000BDV/F",
58      "photoVersionId": "729D00000000BDV",
59      "smallPhotoUrl": "https://instance_name/profilephoto/729D00000000BDV/T",
60      "standardEmailPhotoUrl": "https://instance_name/ncsphoto/SqRfG_-PUTY6KtfOp_f0cGW2pGjfqoWUUgTENHjVyS1q43x_rW2ciXBHst0Eh3Y6",
61      "url":  "/services/data/v67.0/chatter/users/005D0000001LL8OIAW/photo"
62   },
63   "reputation" : null,
64   "thanksReceived" : null,
65   "title": null,
66   "type": "User",
67   "url": "/services/data/v67.0/chatter/users/005D0000001Kl6xIAC",
68   "userType": "Internal";
69   "username": "mraven@seattleapps.com"
70}

Salesforce runs on multiple server instances. The examples in this guide use instance_name to indicate the instance.

Some of the items in a response body have a fully qualified URL, however, most of the returned URLs are relative. If the URL is relative, prepend it with the instance given to the client app when the item is authenticated.

Note