# Oratrix API - Tickets Avancados

## Status

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

Este grupo trata recursos avancados de tickets no Oratrix, como consulta por ID, pausa de SLA, avaliacoes e compartilhamento.

Para o **Wezapp Shots**, estes endpoints sao relevantes em fluxos que envolvam atendimento apos disparo, mas nao devem controlar saldo, campanhas ou fila interna 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: 7 endpoints.

---

## 1. Buscar ticket por ID

```http
POST /showTicketById
```

Nome na documentacao Oratrix:

```text
ShowTicketById
```

Descricao:

Buscar dados completos de um ticket pelo ID.

URL completa:

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

Body JSON:

```json
{
  "ticketId": 1262
}
```

---

## 2. Iniciar pausa em ticket

```http
POST /ticket/pause/start/:ticketId
```

Nome na documentacao Oratrix:

```text
StartTicketPause
```

Descricao:

Iniciar pausa em um ticket para controle de SLA.

URL completa:

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

Body JSON:

```json
{
  "reason": "Aguardando retorno do cliente"
}
```

---

## 3. Encerrar pausa de ticket

```http
POST /ticket/pause/end/:ticketId
```

Nome na documentacao Oratrix:

```text
EndTicketPause
```

Descricao:

Encerrar pausa de um ticket.

URL completa:

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

Body JSON:

```json
{}
```

---

## 4. Listar logs de pausa do ticket

```http
GET /ticket/pause/logs/:ticketId
```

Nome na documentacao Oratrix:

```text
ListTicketPauseLogs
```

Descricao:

Listar logs de pausa de um ticket.

---

## 5. Listar avaliacoes de atendimento

```http
GET /listTicketEvaluations
```

Nome na documentacao Oratrix:

```text
ListTicketEvaluations
```

Descricao:

Listar avaliacoes de atendimento.

URL completa:

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

Query params:

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

---

## 6. Compartilhar ticket com usuario

```http
POST /ticket/share
```

Nome na documentacao Oratrix:

```text
TicketShareCreate
```

Descricao:

Compartilhar um ticket com outro usuario.

URL completa:

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

Body JSON:

```json
{
  "ticketId": 1262,
  "userId": 2
}
```

---

## 7. Consultar compartilhamento de ticket

```http
GET /ticket/share/:ticketId
```

Nome na documentacao Oratrix:

```text
TicketShareShow
```

Descricao:

Consultar compartilhamentos de um ticket.

## Mapeamento sugerido com Wezapp Shots

| Wezapp Shots | Oratrix |
|---|---|
| Ticket externo vinculado | `ticketId` |
| Atendimento apos campanha | Pausa, compartilhamento e avaliacoes |
| Relatorio futuro | Avaliacoes e logs de pausa |

## Pendencias tecnicas para validar

- Confirmar formato completo de retorno de `/showTicketById`.
- Confirmar se pausa de ticket afeta SLA interno do Oratrix apenas.
- Confirmar se pausa exige ticket aberto.
- Confirmar formato de retorno de logs de pausa.
- Confirmar formato de retorno de avaliacoes.
- Confirmar se compartilhamento aceita mais de um usuario.
- Confirmar se `userId` e usuario Oratrix.

## Regras recomendadas para o Wezapp Shots

1. Usar apenas em fluxos de atendimento vinculados a tickets externos.
2. Nao usar pausa ou avaliacao para alterar status interno de campanha.
3. Registrar auditoria quando compartilhar ticket ou manipular pausa via Wezapp.
4. Tratar avaliacoes como dado auxiliar de atendimento, nao como metrica primaria de shots.
