# Oratrix API - Oportunidades

## Status

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

Este grupo trata oportunidades do CRM do Oratrix. Para o Wezapp Shots, e recurso auxiliar/futuro, ligado a relacionamento comercial ou funil, nao ao controle principal de disparos.

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

---

## 1. Criar oportunidade

```http
POST /createOpportunity
```

Nome na documentacao Oratrix:

```text
CreateOpportunity
```

Descricao:

Criar nova oportunidade vinculada a um contato.

URL completa:

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

Body JSON:

```json
{
  "number": "5511999999999",
  "contactName": "Nome do Contato",
  "email": "contato@email.com",
  "name": "Nome da Oportunidade",
  "value": 10000,
  "status": "open",
  "pipelineId": 16,
  "stageId": 7,
  "responsibleId": 1,
  "closingForecast": "2024-12-31",
  "description": "Descricao da oportunidade"
}
```

---

## 2. Excluir oportunidade

```http
POST /deleteOpportunity
```

Nome na documentacao Oratrix:

```text
DeleteOpportunity
```

Descricao:

Excluir uma oportunidade pelo ID.

URL completa:

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

Body JSON:

```json
{
  "opportunityId": 19
}
```

---

## 3. Atualizar oportunidade

```http
POST /updateOpportunity
```

Nome na documentacao Oratrix:

```text
UpdateOpportunity
```

Descricao:

Atualizar dados de uma oportunidade existente.

URL completa:

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

Body JSON:

```json
{
  "opportunityId": 30,
  "name": "Nome Atualizado",
  "value": 500,
  "status": "open",
  "pipelineId": 16,
  "stageId": 7,
  "responsibleId": 1,
  "closingForecast": "2024-12-31",
  "description": "Descricao atualizada"
}
```

## Mapeamento sugerido com Wezapp Shots

| Wezapp Shots | Oratrix |
|---|---|
| Relacionamento comercial futuro | Opportunity |
| Contato interno | `number`, `contactName`, `email` |
| Pipeline/stage externo | `pipelineId`, `stageId` |
| Responsavel externo | `responsibleId` |

## Pendencias tecnicas para validar

- Confirmar se `number` vincula automaticamente a contato existente ou cria contato.
- Confirmar status validos alem de `open`.
- Confirmar se `value` usa centavos ou valor decimal.
- Confirmar formato de retorno ao criar oportunidade.
- Confirmar impacto de excluir oportunidade.
- Confirmar se `responsibleId` e usuario do Oratrix.

## Regras recomendadas para o Wezapp Shots

1. Nao usar oportunidades para controlar campanha ou saldo de shots.
2. Usar apenas se houver modulo comercial/CRM futuro.
3. Registrar IDs externos quando uma oportunidade for criada via Wezapp.
4. Proteger exclusao por permissao e auditoria.
