# Oratrix API - To-Do List

## Status

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

Este grupo trata tarefas internas do Oratrix. Para o Wezapp Shots, e recurso auxiliar/futuro, possivelmente util para operacao, acompanhamento de atendimento ou tarefas administrativas, mas nao deve controlar campanhas, saldo ou fila de disparo.

## 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: 5 endpoints.

---

## 1. Criar tarefa

```http
POST /todo/create
```

Nome na documentacao Oratrix:

```text
TodoCreate
```

Descricao:

Criar uma nova tarefa no to-do list.

URL completa:

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

Body JSON:

```json
{
  "title": "Tarefa importante",
  "description": "Detalhes da tarefa",
  "userId": 1,
  "dueDate": "2025-01-20",
  "priority": "high"
}
```

---

## 2. Listar tarefas

```http
GET /todo/list
```

Nome na documentacao Oratrix:

```text
TodoList
```

Descricao:

Listar tarefas do to-do list.

URL completa:

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

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| userId | Nao | ID do usuario | 1 |
| status | Nao | `pending`, `completed` | pending |

---

## 3. Atualizar tarefa

```http
POST /todo/update/:id
```

Nome na documentacao Oratrix:

```text
TodoUpdate
```

Descricao:

Atualizar uma tarefa existente.

URL completa:

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

Body JSON:

```json
{
  "title": "Tarefa atualizada",
  "status": "completed"
}
```

---

## 4. Excluir tarefa

```http
POST /todo/delete/:id
```

Nome na documentacao Oratrix:

```text
TodoDelete
```

Descricao:

Excluir uma tarefa.

URL completa:

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

Body JSON:

```json
{}
```

---

## 5. Logs de tarefas por usuario

```http
GET /todo/logs/:userId
```

Nome na documentacao Oratrix:

```text
TodoLogs
```

Descricao:

Listar logs de tarefas de um usuario.

## Mapeamento sugerido com Wezapp Shots

| Wezapp Shots | Oratrix |
|---|---|
| Tarefa operacional futura | Todo externo |
| Usuario externo | `userId` |
| Auditoria auxiliar | Logs de tarefas |

## Pendencias tecnicas para validar

- Confirmar formato de retorno de criacao de tarefa.
- Confirmar prioridades aceitas alem de `high`.
- Confirmar status aceitos alem de `pending` e `completed`.
- Confirmar se `/todo/list` possui paginacao.
- Confirmar formato de retorno de `/todo/logs/:userId`.
- Confirmar se `userId` e usuario Oratrix.

## Regras recomendadas para o Wezapp Shots

1. Nao usar tarefas externas para controlar fila de disparo.
2. Usar apenas como apoio operacional se houver necessidade.
3. Registrar auditoria local se o Wezapp criar, atualizar ou excluir tarefas no Oratrix.
