# Campañas

Campañas de llamadas salientes. Base: `https://panel.anunzi.net/api/v1/campaigns/`.

| Método | Ruta | Descripción |
| ------ | ---- | ----------- |
| `GET`  | `list.php` | Lista las campañas de la cuenta. |
| `POST` | `create.php` | Crea una campaña (en borrador). |
| `POST` | `add-contacts.php` | Agrega contactos (lista, etiqueta o segmento). |
| `POST` | `activate.php` | Activa la campaña (la agenda y el motor la ejecuta). |
| `POST` | `pause.php` | Pausa una campaña activa. |
| `GET`  | `stats.php?campaign_id=` | Estado y métricas por estado. |

***

## Flujo típico

**1. Crear**

```json
POST create.php
{ "name": "Reactivación septiembre", "agent_id": "agent_…", "timezone": "America/Argentina/Buenos_Aires",
  "allowed_hours": { "from": "09:00", "to": "20:00" }, "concurrency_limit": 3 }
```

Devuelve `{ "campaign_id": 123, "status": "draft" }`.

**2. Cargar contactos** — por lista explícita, por etiqueta o por segmento:

```json
POST add-contacts.php
{ "campaign_id": 123, "tag": "Reactivar" }
```

```json
{ "campaign_id": 123, "contacts": [ { "name": "Ana", "phone": "+54911..." } ] }
```

**3. Activar**

```json
POST activate.php
{ "campaign_id": 123 }
```

Devuelve la hora de agendado y cuántas tareas se crearon. Respeta la franja horaria y los días permitidos.

**4. Seguir**

`GET stats.php?campaign_id=123` → cantidad de contactos por estado (pendiente, en curso, completado, etc.). `POST pause.php` para pausar.
