# Oratrix API - Agendamentos

## Status

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

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

---

## 1. Criar agendamento

```http
POST /appointment/create
```

Nome na documentacao Oratrix:

```text
AppointmentCreate
```

Descricao:

Criar um novo agendamento.

URL completa:

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

Body JSON:

```json
{
  "contactId": 1,
  "userId": 1,
  "scheduledAt": "2025-01-15T14:30:00",
  "title": "Reuniao",
  "notes": "Detalhes do agendamento"
}
```

---

## 2. Listar agendamentos

```http
GET /appointment/list
```

Nome na documentacao Oratrix:

```text
AppointmentList
```

Descricao:

Listar agendamentos com filtros.

URL completa:

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

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| pageNumber | Sim | Numero da pagina | 1 |
| startDate | Nao | Data inicial no formato YYYY-MM-DD | 2025-01-01 |
| endDate | Nao | Data final no formato YYYY-MM-DD | 2025-01-31 |

---

## 3. Exibir agendamento

```http
GET /appointment/show/:id
```

Nome na documentacao Oratrix:

```text
AppointmentShow
```

Descricao:

Exibir dados de um agendamento pelo ID.

---

## 4. Atualizar agendamento

```http
POST /appointment/update/:id
```

Nome na documentacao Oratrix:

```text
AppointmentUpdate
```

Descricao:

Atualizar um agendamento existente.

URL completa:

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

Body JSON:

```json
{
  "scheduledAt": "2025-01-16T10:00:00",
  "title": "Reuniao Atualizada",
  "notes": "Novos detalhes"
}
```

---

## 5. Excluir agendamento

```http
POST /appointment/delete/:id
```

Nome na documentacao Oratrix:

```text
AppointmentDelete
```

Descricao:

Excluir um agendamento.

URL completa:

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

Body JSON:

```json
{}
```

---

## 6. Criar lembrete agendado

```http
POST /scheduleReminder/create
```

Nome na documentacao Oratrix:

```text
ScheduleReminderCreate
```

Descricao:

Criar um lembrete agendado com mensagem automatica.

URL completa:

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

Body JSON:

```json
{
  "contactId": 1,
  "whatsappId": 1,
  "scheduledAt": "2025-01-15T08:00:00",
  "message": "Lembrete: sua consulta e hoje!",
  "isActive": true
}
```

---

## 7. Listar lembretes agendados

```http
GET /scheduleReminder/list
```

Nome na documentacao Oratrix:

```text
ScheduleReminderList
```

Descricao:

Listar lembretes agendados.

URL completa:

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

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| pageNumber | Sim | Numero da pagina | 1 |
| isActive | Nao | Filtra lembretes ativos ou inativos | true |

---

## 8. Atualizar lembrete agendado

```http
POST /scheduleReminder/update/:id
```

Nome na documentacao Oratrix:

```text
ScheduleReminderUpdate
```

Descricao:

Atualizar um lembrete agendado.

URL completa:

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

Body JSON:

```json
{
  "message": "Mensagem atualizada",
  "scheduledAt": "2025-01-16T09:00:00"
}
```

---

## 9. Excluir lembrete agendado

```http
POST /scheduleReminder/delete/:id
```

Nome na documentacao Oratrix:

```text
ScheduleReminderDelete
```

Descricao:

Excluir um lembrete agendado.

URL completa:

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

Body JSON:

```json
{}
```

---

## 10. Ativar ou desativar lembrete agendado

```http
POST /scheduleReminder/toggle/:id
```

Nome na documentacao Oratrix:

```text
ScheduleReminderToggle
```

Descricao:

Ativar ou desativar um lembrete agendado.

URL completa:

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

Body JSON:

```json
{
  "isActive": false
}
```

## Observacoes para Wezapp Shots

Estes endpoints nao sao prioridade operacional para disparos em massa, mas devem ficar documentados porque podem ser usados em futuras automacoes de relacionamento ou follow-up.
