> For the complete documentation index, see [llms.txt](https://help.edgecontents.com/edgecontents/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.edgecontents.com/edgecontents/apis/campanhas.md).

# Campanhas

## Endpoints

* ### Lista de campanhas

**URL:** \<seuprojeto>.edgecontents.com/ds/api/campaign

**Método:** GET

**Autenticação:** Basic Auth

**Parâmetros de Consulta:**

| Parâmetro  | Tipo   | Obrigatório | Descrição              |
| ---------- | ------ | ----------- | ---------------------- |
| id         | int    | Não         | ID do cliente          |
| internalid | string | Não         | ID interno da campanha |

**Exemplo de retorno:**

```json
{
    "10": {
        "customer": "3",
        "name": "Varejo",
        "internalid": "1580",
        "startdate": "2025-10-16 11:39:34",
        "enddate": "2025-10-31 23:59:59"
    },
    "8": {
        "customer": "8",
        "name": "Streaming",
        "internalid": "8950",
        "startdate": "2025-11-01 00:00:00",
        "enddate": "2025-10-31 23:59:59"
    },
    "11": {
        "customer": "11",
        "name": "Festa Junina",
        "internalid": "0258",
        "startdate": "2026-01-10 00:00:00",
        "enddate": "2026-01-31 23:59:59"
    },
}
```

* ### Cadastro de campanhas

**URL:** \<seuprojeto>.edgecontents.com/ds/api/campaign/add

**Método:** POST

**Autenticação:** Basic Auth

**Corpo da Requisição:**

| Campo       | Tipo   | Obrigatório                   | Descrição                                     |
| ----------- | ------ | ----------------------------- | --------------------------------------------- |
| name        | string | Sim                           | Nome da campanha                              |
| customer    | int    | Sim                           | ID do cliente                                 |
| startdate   | date   | Sim                           | Data de início                                |
| enddate     | date   | Sim                           | Data final                                    |
| internalid  | string | Sim (se houver auditoria IVC) | ID interno da campanha                        |
| pi          | string | Não                           | PI da campanha                                |
| agency      | string | Não                           | Agência                                       |
| period      | string | Não                           | Período de exibição                           |
| value       | number | Não                           | Valor da campanha                             |
| email       | string | Não                           | E-mails para notificação                      |
| agreedviews | int    | Não                           | Quantidade de visualizações acordadas por dia |
| proposalid  | string | Não                           | Código da proposta                            |
| comments    | string | Não                           | Observações                                   |
| status      | int    | Não                           | Classificação da campanha                     |
| monitoring  | bool   | Não                           | Habilitar monitoramento de campanha           |

**Exemplo de requisição:**

```postman_json
[
    {
        "name": "nova campanha",
        "customer": 3,
        "startdate":  "2025-05-25 00:00:00",
        "enddate": "2025-06-10 23:59:59",
        "email": "email1@inviron.com.br, email2@inviron.com.br"
    },
    {
        "name": "nova campanha 2",
        "customer": 6,
        "startdate":  "2025-05-24 00:00:00",
        "enddate": "2025-05-31 23:59:59",
        "agreedviews": 320
    }
]
```

**Exemplo de retorno:**

```json
{
    "successes": [
        {
            "id": "148",
            "name": "nova campanha"
        },
        {
            "id": "149",
            "name": "nova campanha 2"
        }
    ],
    "errors": []
}
```

* ### Edição de campanhas

**URL:** \<seuprojeto>.edgecontents.com/ds/api/campaign/update

**Método:** POST

**Autenticação:** Basic Auth

**Corpo da Requisição:**

| Campo       | Tipo     | Obrigatório | Descrição                             |
| ----------- | -------- | ----------- | ------------------------------------- |
| id          | int      | Sim         | Id da campanha                        |
| name        | string   | Não         | Nome da campanha                      |
| startdate   | datetime | Não         | Data de início                        |
| enddate     | datetime | Não         | Data final                            |
| pi          | string   | Não         | PI da campanha                        |
| agency      | string   | Não         | Agência                               |
| period      | string   | Não         | Período de exibição                   |
| value       | number   | Não         | Valor da campanha                     |
| email       | string   | Não         | E-mails para notificação              |
| agreedviews | int      | Não         | Quantidade de visualizações acordadas |
| proposalid  | string   | Não         | Código da proposta                    |
| comments    | string   | Não         | Observações                           |
| status      | int      | Não         | Classificação da campanha             |
| monitoring  | bool     | Não         | Habilitar monitoramento de campanha   |

**Exemplo de requisição:**

```postman_json
[
    {
        "id": 148,
        "comments": "Campanha em exibição nos totens do shopping",
        "pi": "001"
    },
    {
        "id": 150,
        "enddate": "2025-06-30 23:59:59",
        "proposalid": "campaing1450"
    }
]
```

**Exemplo de retorno:**

```json
{
    "successes": [
        {
            "id": "148",
            "name": "nova campanha"
        }
    ],
    "errors": [
        {
            "campaign": "Unknown",
            "errors": [
                "ID not found"
            ]
        }
    ]
}
```
