# 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](/technologies/rest-api.md#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](/technologies/rest-api.md#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](/technologies/rest-api.md#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](/technologies/rest-api.md#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"
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iadvize.dev/technologies/rest-api/operator-deprecated.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
