# Отримання списку персоналу

Для отримання списку персоналу закладу, Expirenza надсилатиме наступне повідомлення:

<details>

<summary>usersInfo</summary>

{% code lineNumbers="true" %}

```json
{
    "rID" : "2021-03-13 00:32:04.942046#UP57RxE",
    "operation" : "usersInfo"
}
```

{% endcode %}

```
❗️ Обов'язкові елементи запиту: rID, operation.
```

</details>

Відповідь обробки операції необхідно надіслати в наступному вигляді:

{% openapi src="<https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2F4xObaL3YU3CMgHkDXSIz%2Fjson.json?alt=media&token=3abafd3a-355b-4295-8234-2b581e574c68>" path="/callback/usersInfo" method="post" %}
[json.json](https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2F4xObaL3YU3CMgHkDXSIz%2Fjson.json?alt=media\&token=3abafd3a-355b-4295-8234-2b581e574c68)
{% endopenapi %}

<details>

<summary><strong>Payload example: <code>/callback/usersInfo</code></strong></summary>

{% code title="JSON" overflow="wrap" %}

```json
{
  "rID": "2021-04-01 09:39:06.021078#BpOI0gO",
  "users": [
    {
      "cellPhone": "+380961112233",
      "id": "ab863-78",
      "name": "Петро",
      "roles":["Кухар універсал","Су-шеф кухар"]
    }
  ]
}
```

{% endcode %}

</details>

***

## **Окремо реалізовано апі для проактивного отримання списку користувачів.**

***Цей функціонал також рекомендовано до реалізації.*** \
***Цей варіант є більш реактивним за usersInfo.***\
**Expirenza** очікує отримання хука про оновлення одного юзера кожен раз, коли юзер зазнав змін, видалився або був створений.

З використанням апі проактивного отримання списку користувачі - інтеграція сама ініціює оновлення користувачів в системі Expirenza.

### Вебхук для оновлення <mark style="color:red;">одного</mark> юзера.

{% openapi src="<https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2FOx935xd1hkB0tSmJF2Gz%2FforceUsersInfo.json?alt=media&token=ffba5012-382e-49d3-9880-d806df813eac>" path="//api.shaketopay.com.ua/callback/webhook" method="post" %}
[forceUsersInfo.json](https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2FOx935xd1hkB0tSmJF2Gz%2FforceUsersInfo.json?alt=media\&token=ffba5012-382e-49d3-9880-d806df813eac)
{% endopenapi %}

<details>

<summary>Payload example <code>/callback/webhook:</code></summary>

```json
{
  "webhookType":"USER_CANGED",
  "eventTime":"2024-07-28T19:29:17Z",
  "action": "UPDATED",
  "user":{
    "id":"someId",
    "cellPhone":"+380631111111",
    "name":"Cat Expirenza"
  }
}
```

</details>

***

### Вебхук для оновлення <mark style="color:red;">всіх</mark> юзерів.

Передбачає оновлення всіх користувачів у системі POS.

**Expirenza** очікує отримання хука про оновлення всіх юзерів при запуску інтеграції і далі з переодичністю раз на добу.

Рекомендації щодо використання:

1. При запуску POS-системи.
2. З інтервалом на добу.

{% openapi src="<https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2Fj94GNxQuXJQlDHw1ElN8%2FforceUpdateAllUsers.json?alt=media&token=597a747b-c249-4514-bf21-f43dba9ae1c5>" path="//api.shaketopay.com.ua/callback/webhook" method="post" %}
[forceUpdateAllUsers.json](https://115752690-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUrrjxJkhEuwfb0dGwW06%2Fuploads%2Fj94GNxQuXJQlDHw1ElN8%2FforceUpdateAllUsers.json?alt=media\&token=597a747b-c249-4514-bf21-f43dba9ae1c5)
{% endopenapi %}

<details>

<summary>Payload example <code>/callback/webhook:</code></summary>

```json
{
    "webhookType": "UPDATE_ALL_USERS",
    "eventTime": "2024-09-19T12:05:35.2537443Z",
    "users": [
        {
            "id": "993332e8-bfea-460d-99c3-9fcba5f944ca",
            "cellPhone": "+380931234568",
            "name": "Cat Expirenza"
        },
        {
            "id": "someId",
            "cellPhone": "+380931234567",
            "name": "Cat Mono"
        }
    ]
}
```

</details>
