# 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"
            ]
        }
    ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.edgecontents.com/edgecontents/apis/campanhas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
