# Oratrix API - CRM Pipeline

## Status

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

Este grupo documenta recursos de pipeline e etapas de CRM do Oratrix. Para a primeira versao do Wezapp Shots, estes endpoints nao sao prioridade direta do disparo em massa, mas podem apoiar segmentacao, organizacao operacional e futuras automacoes.

## 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 pipeline

```http
POST /pipeline/create
```

Nome na documentacao Oratrix:

```text
PipelineCreate
```

Descricao:

Criar um novo pipeline de CRM.

URL completa:

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

Body JSON:

```json
{
  "name": "Pipeline de Vendas",
  "description": "Pipeline principal"
}
```

---

## 2. Listar pipelines

```http
GET /pipeline/list
```

Nome na documentacao Oratrix:

```text
PipelineList
```

Descricao:

Listar pipelines de CRM.

---

## 3. Exibir pipeline

```http
GET /pipeline/show/:id
```

Nome na documentacao Oratrix:

```text
PipelineShow
```

Descricao:

Exibir dados de um pipeline pelo ID.

---

## 4. Atualizar pipeline

```http
POST /pipeline/update/:id
```

Nome na documentacao Oratrix:

```text
PipelineUpdate
```

Descricao:

Atualizar um pipeline existente.

URL completa:

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

Body JSON:

```json
{
  "name": "Pipeline Atualizado",
  "description": "Nova descricao"
}
```

---

## 5. Excluir pipeline

```http
POST /pipeline/delete/:id
```

Nome na documentacao Oratrix:

```text
PipelineDelete
```

Descricao:

Excluir um pipeline.

URL completa:

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

Body JSON:

```json
{}
```

---

## 6. Criar etapa de pipeline

```http
POST /stage/create
```

Nome na documentacao Oratrix:

```text
StageCreate
```

Descricao:

Criar uma etapa em um pipeline.

URL completa:

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

Body JSON:

```json
{
  "name": "Prospeccao",
  "pipelineId": 1,
  "order": 1,
  "color": "#4A90E2"
}
```

---

## 7. Listar etapas de pipeline

```http
GET /stage/list
```

Nome na documentacao Oratrix:

```text
StageList
```

Descricao:

Listar etapas de um pipeline.

URL completa:

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

Query params:

| Parametro | Obrigatorio | Descricao | Exemplo |
|---|---:|---|---|
| pipelineId | Sim | ID do pipeline | 1 |

---

## 8. Exibir etapa

```http
GET /stage/show/:id
```

Nome na documentacao Oratrix:

```text
StageShow
```

Descricao:

Exibir dados de uma etapa pelo ID.

---

## 9. Atualizar etapa

```http
POST /stage/update/:id
```

Nome na documentacao Oratrix:

```text
StageUpdate
```

Descricao:

Atualizar uma etapa existente.

URL completa:

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

Body JSON:

```json
{
  "name": "Negociacao",
  "order": 2,
  "color": "#E24A4A"
}
```

---

## 10. Excluir etapa

```http
POST /stage/delete/:id
```

Nome na documentacao Oratrix:

```text
StageDelete
```

Descricao:

Excluir uma etapa de pipeline.

URL completa:

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

Body JSON:

```json
{}
```

## Mapeamento sugerido com Wezapp Shots

| Wezapp Shots | Oratrix |
|---|---|
| Segmentacao futura de campanha | Pipeline/Stage no Oratrix |
| Status interno de relacionamento | Stage externo |
| Campos de contato/carteira | Kanban, pipeline ou stage |

## Pendencias tecnicas para validar

- Confirmar se `/pipeline/list` possui paginacao.
- Confirmar formato de retorno de pipeline e stage.
- Confirmar se excluir pipeline remove etapas vinculadas.
- Confirmar se excluir stage afeta contatos vinculados.
- Confirmar relacao entre `kanban`, `wallet`, `pipeline` e `stage` no Oratrix.

## Regras recomendadas para o Wezapp Shots

1. Nao depender de pipeline externo para controlar campanhas internas.
2. Usar pipeline/stage apenas como recurso auxiliar quando houver necessidade operacional.
3. Registrar IDs externos se forem usados para segmentacao.
4. Proteger exclusao de pipeline/stage por permissao e auditoria.
