A teammate is a special user who represents a Pingstreams user invited to a project with a specific role. When you work with teammates very often you will not use the user_id of the Pingstreams user but rather the specific id of your teammate in the project. In the Pingstreams API the temamate is named project_user. For example, if you want to know your project_user in a specific project, all you have to do is call this API: Get a teammate by id.
| Field | Type | Description |
|---|
id | String | The unique identifier for the teammate which is given by Pingstreams. |
role | String | The teammate role. Values: owner, agent, admin, user, guest |
user_available | Boolean | Dermine if the teammate is available or unavailable to accept requests |
id_user | Object | The user object referenced by the teammate |
max_served_chat | Number | Number of chats that agent is allowed to take at one time (Only Enterprise) |
number_assigned_requests | Number | Number of active request for the teammate (Only Enterprise) |
status | String | The status of a teammate. Can be “active” or “disabled” |
isBusy | Boolean | Determine if the teammate is busy (Only Enterprise) |
profileStatus | String | It is an alias associated to the teammate availability. For example: inactive, to the toilet, on the phone |
attributes | Object | The custom attributes which are set for the teammate. |
tags | Array | A list of tags objects associated with the teammate. |
settings | Object | The setting configurations of the teammate. |
presence | Object | The presence info of the teammate. |
isAuthenticated | Boolean | Returns true if is strongly authenticated (custom-auth or email/password), false otherwise (anonymous). |
isBusy | Boolean | Returns true if is teammate is busy, false otherwise. See Pingstreams Smart Assignment for more info. |
createdAt | String | The time (ISO-8601 date string) when the teammate was created. |
updatedAt | String | The time (ISO-8601 date string) when the teammate was updated. |
createdBy | String | The unique identifier of the row creator |
id_project | String | The unique identifier of the project |
trashed | Boolean | True if the teammate has been removed from the project |
Presence lets you track the online and offline status of the teammates in real-time (if you use Pingstreams Websocket or Webhook) and store the information state. Possible values: online, offline. Attention: an agent passes from online to offline only when he closed all Pingstreams messaging apps (eg Agent web chat in all tabs and mobile apps).
The field user_available determines if the teammate is available or unavailable to accept requests. Attention: Agent availability changes only when the agent explicitly changes from the UI from available to unavailable. If an agent is available and logs out, the agent remains available as he may have decided to serve chats from another channel (eg. Pingstreams mobile app).
GET https://api.pingstreams.com/v3/:project_id/project_users
Return the team members and availability
| Parameter | Type | Description |
|---|
project_id | string | the Project Id is a unique code assigned to your project when you create it in Pingstreams. |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: agent |
[
{
"_id":"5df2240cecd41b00173a06bc",
"id_project":"5df2240cecd41b00173a06bb",
"id_user":{
"_id":"5aaa99024c3b110014b478f0",
"email":"user@example.com",
"firstname":"Andrea",
"lastname":"Leo",
"emailverified":true,
"__v":0,
"resetpswrequestid":""
},
"role":"owner",
"user_available":true,
"createdBy":"5aaa99024c3b110014b478f0",
"createdAt":"2019-12-12T11:27:08.581Z",
"updatedAt":"2019-12-12T11:27:08.581Z",
"__v":0
},
{
"_id":"5df34ab80bc923001792e274",
"id_project":"5df2240cecd41b00173a06bb",
"id_user":{
"_id":"5de9200d6722370017731969",
"email":"admin@example.com",
"firstname":"Nuovopre",
"lastname":"Pre",
"emailverified":false,
"createdAt":"2019-12-05T15:19:41.296Z",
"updatedAt":"2019-12-05T15:19:41.296Z",
"__v":0
},
"role":"admin",
"user_available":true,
"createdBy":"5aaa99024c3b110014b478f0",
"createdAt":"2019-12-13T08:24:24.586Z",
"updatedAt":"2020-01-04T09:45:26.331Z",
"__v":0
},
{
"_id":"5e09e36d3030640017718ee2",
"id_project":"5df2240cecd41b00173a06bb",
"id_user":{
"_id":"5e09e36d3030640017718edf",
"email":"agent@example.com",
"firstname":"magnegerki",
"lastname":"magnegerki",
"emailverified":false,
"createdAt":"2019-12-30T11:45:49.123Z",
"updatedAt":"2019-12-30T11:45:49.123Z",
"__v":0
},
"role":"agent",
"user_available":false,
"createdBy":"5aaa99024c3b110014b478f0",
"createdAt":"2019-12-30T11:45:49.419Z",
"updatedAt":"2020-01-04T09:45:27.207Z",
"__v":0
}
]
GET https://api.pingstreams.com/v3/:project_id/project_users/:project_user_id
| Parameter | Type | Description |
|---|
project_id | string | the Project Id is a unique code assigned to your project when you create it in Pingstreams. |
project_user_id | string | The teammate identifier. |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: agent |
{
"_id":"5df2240cecd41b00173a06bc",
"id_project":"5df2240cecd41b00173a06bb",
"id_user":{
"_id":"5aaa99024c3b110014b478f0",
"email":"user@example.com",
"firstname":"Andrea",
"lastname":"Leo",
"emailverified":true,
"__v":0,
"resetpswrequestid":""
},
"role":"owner",
"user_available":true,
"createdBy":"5aaa99024c3b110014b478f0",
"createdAt":"2019-12-12T11:27:08.581Z",
"updatedAt":"2019-12-12T11:27:08.581Z",
"__v":0
}
GET https://api.pingstreams.com/v3/:project_id/project_users/users/:user_id
| Parameter | Type | Description |
|---|
project_id | string | the Project Id is a unique code assigned to your project when you create it in Pingstreams. |
user_id | string | The user identifier. |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: agent |
{
"_id":"5df2240cecd41b00173a06bc",
"id_project":"5df2240cecd41b00173a06bb",
"id_user":{
"_id":"5aaa99024c3b110014b478f0",
"email":"user@example.com",
"firstname":"Andrea",
"lastname":"Leo",
"emailverified":true,
"__v":0,
"resetpswrequestid":""
},
"role":"owner",
"user_available":true,
"createdBy":"5aaa99024c3b110014b478f0",
"createdAt":"2019-12-12T11:27:08.581Z",
"updatedAt":"2019-12-12T11:27:08.581Z",
"__v":0
}
POST https://api.pingstreams.com/v3/:project_id/project_users/invite
Invite an agent to a project.
| Parameter | Type | Description |
|---|
project_id | string | The project_id is a unique code assigned to your project when you create it in Pingstreams |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: admin |
Content-Type | string | use “application/json” value |
| Field | Type | Description |
|---|
email | string | the agent email address |
role | string | the agent role. Accepted values: agent, admin |
firstname | string | the firstname of the agent |
lastname | string | the lastname of the agent |
user_available | boolean | the initial agent status. Available (true) or unavailable (false). |
PUT https://api.pingstreams.com/v3/:project_id/project_users/
| Parameter | Type | Description |
|---|
project_id | string | The project_id is a unique code assigned to your project when you create it in Pingstreams |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: agent |
Content-Type | string | use “application/json” value |
| Field | Type | Description |
|---|
role | string | The teammate role. Permitted values: admin, agent. |
user_available | boolean | The teammate availability. True for available, false for unavailable. Default is true |
max_served_chat | number | The number of concurrent chats the teammate can take at once. |
attributes | object | The teammate custom attributes |
settings | object | The teammate settings object |
PUT https://api.pingstreams.com/v3/:project_id/project_users/:project_user_id
It requires admin role
| Parameter | Type | Description |
|---|
project_id | string | The project_id is a unique code assigned to your project when you create it in Pingstreams |
project_user_id | string | The teammate identifier. |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: admin |
Content-Type | string | use “application/json” value |
| Field | Type | Description |
|---|
role | string | The teammate role. Permitted values: admin, agent. |
user_available | boolean | The teammate availability. True for available, false for unavailable. Default is true |
max_served_chat | number | The number of concurrent chats the teammate can take at once. |
attributes | object | The teammate custom attributes |
settings | object | The teammate settings object |
DELETE https://api.pingstreams.com/v3/:project_id/project_users/:project_user_id
Leave an agent from a project.
| Parameter | Type | Description |
|---|
project_id | string | The project_id is a unique code assigned to your project when you create it in Pingstreams |
project_user_id | string | The teammate identifier. |
| Header | Type | Description |
|---|
Authorization | string | Authorization token. Basic Auth or JWT. Minumun role: admin |