# Operator (deprecated)

{% hint style="danger" %} <mark style="color:red;">**This resource is deprecated.**</mark> <mark style="color:red;">You should consider using our GraphQL API with the</mark> <mark style="color:red;">`Users`</mark> <mark style="color:red;">object.</mark>
{% endhint %}

## **List your operators**

`GET /operator`

See below to discover used fields and see [reading section](https://docs.iadvize.dev/technologies/rest-api/..#read) to discover some output examples.

### **Filters**

| Filter        | Description         | Values | Use                                    |
| ------------- | ------------------- | ------ | -------------------------------------- |
| id            | Operator identifier |        | `?filters[id]=123`                     |
| group\_id     | Group identifier    |        | `?filters[group_id]=123`               |
| website\_id   | Website identifier  |        | `?filters[website_id]=123`             |
| website\_list | Website identifiers |        | `?filters[website_list]=1,2,3`         |
| skill\_id     | Skill identifier    |        | `?filters[skill_id]=123`               |
| name          | Operator name       |        | `?filters[name]=genius`                |
| external\_id  | External identifier |        | `?filters[external_id]=MyExternalId`   |
| email         | Operator email      |        | `?filters[email]=my-email@iadvize.com` |

## **Get operator's details**

`GET /operator/1`

See [reading section](https://docs.iadvize.dev/technologies/rest-api/..#read) to discover some output examples.

### **Fields**

| Field                                         | Description                                                                                                                          | Values                                                    |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- |
| id                                            | Operator identifier                                                                                                                  | Integer                                                   |
| name                                          | Name                                                                                                                                 | String                                                    |
| first\_name                                   | First name                                                                                                                           | String                                                    |
| pseudo                                        | Pseudonym                                                                                                                            | String                                                    |
| email                                         | Email                                                                                                                                | Valid email                                               |
| external\_id                                  | Your id if provided                                                                                                                  | String                                                    |
| role `deprecated, use roles property instead` | Role                                                                                                                                 | `operator`, `manager` or `admin`                          |
| roles                                         | Roles                                                                                                                                | List of string `expert`, `operator`, `manager` or `admin` |
| chat\_enabled                                 | Ability to process chat                                                                                                              | Boolean                                                   |
| call\_enabled                                 | Ability to process call                                                                                                              | Boolean                                                   |
| video\_enabled                                | Ability to process video                                                                                                             | Boolean                                                   |
| chat\_max\_number                             | Max. amount of chats an operator can process at the same time                                                                        | Integer                                                   |
| chat\_and\_call                               | Ability to process chat and call simultaneously                                                                                      | Boolean                                                   |
| chat\_to\_video                               | Ability to handle chat to video escalation                                                                                           | Boolean                                                   |
| chat\_priority                                | Chat priority of the operator                                                                                                        | `0` or `10`                                               |
| call\_priority                                | Call priority of the operator                                                                                                        | `0` or `10`                                               |
| video\_priority                               | Video priority of the operator                                                                                                       | `0` or `10`                                               |
| language\_list                                | List of languages the operator can process                                                                                           | List of ISO2 (e.g. en, fr...)                             |
| language\_admin                               | Admin language                                                                                                                       | `de`, `en`, `es` or `fr`                                  |
| group\_id                                     | Group identifier                                                                                                                     | Integer                                                   |
| website\_list                                 | Website list identifiers                                                                                                             | List of integer                                           |
| skill\_list                                   | Skill list identifiers                                                                                                               | List of integer                                           |
| sso\_key                                      | [SSO token](https://github.com/iadvize/public-developers-documentation/blob/master/technologies/rest-api/broken-reference/README.md) | String                                                    |
| **call\_config**                              | Configuration of the call pickup mode                                                                                                | `Object` *(optional)*                                     |

#### **call\_config**

| Field                                     | Description                                                                                                                                                                            | Values                                                           |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| type                                      | Pickup type. ⚠️ Please note that if the type is `ANSWER_FROM_PHONE` you must either fill in the `phone_number` field or set the `ask_phone_number_at_every_connection` field to `true` | `ANSWER_FROM_PHONE` or `ANSWER_FROM_DESK` *(default)*            |
| ask\_phone\_number\_at\_every\_connection | If type is `ANSWER_FROM_PHONE`: allows you to define whether iAdvize proposes to the operator to change his phone number each time he connects to the desk                             | Boolean *(default: `false`)*                                     |
| phone\_number                             | If type is `ANSWER_FROM_PHONE`: this is the phone number used to receive calls                                                                                                         | Valid phone number with prefix (e.g.: +33123456789) *(optional)* |

## **Create an operator**

`POST /operator`

## **Update an operator**

`PUT /operator/1`

## **Delete an operator**

`DELETE /operator/1`

## **Get operators live availability**

Get the live availability of all of your operators.

`GET /operator/live`

```
{
  meta: {
    status: "success"
  },
  data: [
    {
      id: 456,
      connected: true,
      chat: {
        enabled: true,
        slot_number: 2,
        slot_max_number: 4,
        busy: false,
        available: true
      },
      call: {
        enabled: false,
        slot_number: 0,
        slot_max_number: 1,
        busy: false,
        available: false
      },
      video: {
        enabled: false,
        slot_number: 0,
        slot_max_number: 1,
        busy: false,
        available: false
      }
    }
  ]
}
```

You can use previous filters.

* In order to have more accurate results, only available operators are displayed in the default view.
* If you want to display offline operators, we invite you to use the `connected=0` filter. Please note that you will only see agents that logged in to the iAdvize platform at least once.
* If your operators have `skills` or `groups`, you need to specify it in your request.

## **Get operator's live availability**

Get the live availability of an operator.

`GET /operator/123/live`

```
{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    connected: false,
    chat: {
      enabled: false,
      slot_number: 1,
      slot_max_number: 2,
      busy: false,
      available: false
    },
    call: {
      enabled: true,
      slot_number: 1,
      slot_max_number: 1,
      busy: true,
      available: false
    },
    video: {
      enabled: false,
      slot_number: 0,
      slot_max_number: 1,
      busy: false,
      available: false
    }
  }
}
```

## **Set operator's availability**

Set the availability of an operator.

`PUT /operator/123/live`

### **Fields**

| Field             | Description                                 | Value                                 |
| ----------------- | ------------------------------------------- | ------------------------------------- |
| chat\[available]  | Set operator availability for chat channel  | `1` (available) or `0` (unavailable)  |
| call\[available]  | Set operator availability for call channel  | `1` (available) or `0` (unavailable)  |
| video\[available] | Set operator availability for video channel | `1` (available) or `0` (unavailable)  |
| connected         | Set operator connection status              | `0` (offline) - unique value possible |

### **Response**

```
{
  meta: {
    status: "success",
    message: "Operator is now available|unavailable for chat channel."
  }
}
```

## **Get operators statistics**

`GET /operator/123/statistic`

See [reading section](https://docs.iadvize.dev/technologies/rest-api/..#read) to discover some output examples.

### **Fields**

| Field                                       | Description                                         | Values    |
| ------------------------------------------- | --------------------------------------------------- | --------- |
| id                                          | Operator identifier                                 | Integer   |
| conversation\_number                        | Conversations number done by operator               | Integer   |
| ~~satisfaction\_global\_rate~~ (deprecated) | ~~Satisfaction average for operator conversations~~ | ~~Float~~ |
| experience                                  | Operator experience                                 | Integer   |

### **Response**

```
{
  meta: {
    status: "success"
  },
  data: {
    id: 123,
    conversation_number: 589,
    satisfaction_global_rate: 0.86, // deprecated
    experience: 5630
  } 
}
```

## **Get operator's profile**

`GET /operator/123/profile`

See [reading section](https://docs.iadvize.dev/technologies/rest-api/..#read) to discover some output examples.

### **Fields**

| Field       | Description                           | Values  |
| ----------- | ------------------------------------- | ------- |
| user\_id    | Operator identifier                   | Integer |
| status      | Short text status written by operator | String  |
| description | Operator profile description          | String  |
| facebook    | Facebook identifier                   | String  |
| city        | City                                  | String  |
| country     | Country                               | String  |

### **Response**

```
{
  meta: {
    status: "success"
  },
  data: {
    user_id: 123,
    status: "Je suis disponible pour vous aider",
    description: "Passionné par la menuiserie depuis plusieurs années, j'aime vous apporter des conseils.",
    facebook: "john.doe",
    city: "Nantes",
    country: "France"
  }
}
```
