# Oratrix API - Usuarios

## Status

Documentacao parcial baseada na parte enviada para o projeto Wezapp Shots.

Este grupo trata criacao, atualizacao, listagem e status de usuarios no Oratrix. Para o Wezapp Shots, e recurso auxiliar para integracao operacional, atendimento e mapeamento de responsaveis externos.

## Base URL

```text
https://api-pro1.oratrixchat.com.br/v2/api/external/{ApiID}
```

## Autenticacao

```http
Authorization: Bearer {token}
```

## Endpoints do grupo

Total documentado nesta parte: 4 endpoints.

---

## 1. Criar usuario

```http
POST /createUser
```

Nome na documentacao Oratrix:

```text
CreateUser
```

Descricao:

Criar um novo usuario no sistema.

URL completa:

```text
https://api-pro1.oratrixchat.com.br/v2/api/external/{ApiID}/createUser
```

Body JSON:

```json
{
  "email": "usuario@example.com",
  "password": "senha123",
  "name": "Nome do Usuario",
  "profile": "user"
}
```

Observacao de seguranca:

Criacao de usuario com senha deve ser tratada como acao sensivel. O Wezapp nao deve registrar senha em logs.

---

## 2. Atualizar usuario

```http
POST /updateUser
```

Nome na documentacao Oratrix:

```text
UpdateUser
```

Descricao:

Atualizar nome e/ou email de um usuario existente.

URL completa:

```text
https://api-pro1.oratrixchat.com.br/v2/api/external/{ApiID}/updateUser
```

Body JSON:

```json
{
  "userId": 1,
  "name": "Nome Atualizado",
  "email": "novoemail@example.com"
}
```

---

## 3. Listar usuarios

```http
GET /listUsers
```

Nome na documentacao Oratrix:

```text
ListUsers
```

Descricao:

Listar usuarios com paginacao e busca opcional.

URL completa:

```text
https://api-pro1.oratrixchat.com.br/v2/api/external/{ApiID}/listUsers
```

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| pageNumber | Sim | Numero da pagina | 1 |
| searchParam | Nao | Busca textual | joao |

---

## 4. Buscar status de usuario

```http
GET /getUserStatus
```

Nome na documentacao Oratrix:

```text
GetUserStatus
```

Descricao:

Buscar o status atual de um usuario.

URL completa:

```text
https://api-pro1.oratrixchat.com.br/v2/api/external/{ApiID}/getUserStatus
```

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| userId | Sim | ID do usuario | 1 |

## Mapeamento sugerido com Wezapp Shots

| Wezapp Shots | Oratrix |
|---|---|
| Usuario interno futuro | Usuario externo Oratrix |
| Responsavel por atendimento | `userId` |
| Fila/ticket externo | Usuario responsavel |
| Conciliacao operacional | `/listUsers`, `/getUserStatus` |

## Pendencias tecnicas para validar

- Confirmar perfis validos alem de `user`.
- Confirmar formato de retorno de `/createUser`.
- Confirmar se `/createUser` envia convite ou cria senha diretamente.
- Confirmar se senha retorna ou nunca e exibida.
- Confirmar status possiveis em `/getUserStatus`.
- Confirmar se `/listUsers` retorna usuarios inativos.

## Regras recomendadas para o Wezapp Shots

1. Nao criar usuarios Oratrix automaticamente sem necessidade operacional clara.
2. Nao registrar senha em logs.
3. Proteger criacao e atualizacao de usuarios por permissao alta.
4. Usar usuarios externos apenas como vinculo operacional, nao como fonte primaria de acesso do Wezapp.
