# Campañas API

Este documento proporciona la información necesaria para integrarse con la plataforma de ChatClub para realizar la gestión de campañas. La API tiene integración REST, mediante el protocolo HTTP con TLS, que admite los métodos POST con los parámetros enviados en formato JSON.

### Autenticación <a href="#autenticaci-n" id="autenticaci-n"></a>

Para utilizar con éxito nuestra API, debe proporcionar un nombre de usuario válido (correo electrónico) asociado con un token de autenticación. Debe agregar los siguientes encabezados a la solicitud:

| Campo                   | Detalles                                                                                                                                                                   | Tipo de datos |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| **userName**            | Correo electrónico válido suscrito en la plataforma ChatClub                                                                                                               | String        |
| **authenticationToken** | Token de autenticación generado por nuestra plataforma. Encuéntrelo aquí o consulte nuestro soporte. [here](https://messaging.movile.com/messaging/user/api_configuration) | String        |

### Detalles de conexión <a href="#detalles-de-conexi-n" id="detalles-de-conexi-n"></a>

| Nombre            | Host                   |
| ----------------- | ---------------------- |
| **Hostname**      | apigw\.wavy.global     |
| **Port**          | 443 (https)            |
| **Protocol**      | HTTPS (TLS encryption) |
| **Authorization** | username + token       |
| **Encoding**      | UTF-8                  |

### Listado de campañas <a href="#listado-de-campa-as" id="listado-de-campa-as"></a>

> Ejemplo de listado de campañas

```
curl -X GET \
 'https://apigw.wavy.global/api/v1/campaigns?name=MyCampaign&page=1&page_size=10' \
 -H 'Content-Type: application/json' \
 -H 'authenticationToken: <authentication_token>' \
 -H 'userName: <e-mail>'

```

> Respuesta

```
HEADERS:
page-number: 1
per-page: 10
total: 2
total-pages: 1
```

```
{
    "status": {
        "error": false
    },
    "campaigns": [
        {
            "name": "My first campaign",
            "id": 1,
            "alias": "first"
        },
        {
            "name": "My second campaign",
            "id": 2,
            "alias": "second"
        }
    ]
}
```

Listado de campañas ya registradas en la plataforma. Puedes seleccionar la página de resultados o filtrar por nombre de campaña. `GET https://apigw.wavy.global/api/v1/campaigns`

### Parámetros QueryString <a href="#par-metros-querystring" id="par-metros-querystring"></a>

<table><thead><tr><th width="194.33333333333331">Campo</th><th>Detalles</th><th>Tipo de Dato</th></tr></thead><tbody><tr><td>name</td><td>Nombre de la campaña para ser utilizado como filtro.</td><td>String</td></tr><tr><td>page</td><td>Página que se solicita</td><td>Integer</td></tr><tr><td>page_size</td><td>Cantidad de registros por página</td><td>Integer</td></tr></tbody></table>

### Solicitando una campaña específica <a href="#solicitando-una-campa-a-espec-fica" id="solicitando-una-campa-a-espec-fica"></a>

> Ejemplo de solicitación de una campaña específica

```
curl -X GET \
  https://apigw.wavy.global/api/v1/campaigns/1234 \
  -H 'Content-Type: application/json' \
  -H 'authenticationToken: <authentication_token>' \
  -H 'userName: <e-mail>'

```

> Respuesta

```
{
    "status": {
        "error": false
    },
    "campaign": {
        "name": "My Campaign",
        "id": 1234,
        "alias": "mycampaign"
    }
}
```

Solicitando una campaña específica por el ID

`GET https://apigw.wavy.global/api/v1/campaign/{id}`

### Creando campañas <a href="#creando-campa-as" id="creando-campa-as"></a>

> Ejemplo de creación de campaña:

```
curl -X POST \
  https://apigw.wavy.global/api/v1/campaigns \
  -H 'Content-Type: application/json' \
  -H 'authenticationToken: <authentication_token>' \
  -H 'userName: <e-mail>' \
  -d '{
        "campaign" : {
          "name": "My Campaign",
          "alias": "mycampaign"
        }
      }'
```

> Respuesta

```
{
    "status": {
        "error": false
    },
    "campaign": {
        "name": "My Campaign",
        "id": 1234,
        "alias": "mycampaign"
    }
}
```

Creando una nueva campaña con nombre y alias . El alias de la campaña debe ser un nombre simple para que sea más fácil de usar con la API. Se recomienda ser corto y no usar caracteres especiales.

`POST https://apigw.wavy.global/api/v1/campaigns`

#### JSON Object <a href="#json-object" id="json-object"></a>

\* Campos requeridos

| Campo      | Detalles                     | Tipo de dato |
| ---------- | ---------------------------- | ------------ |
| **name\*** | Nombre de la campaña         | String       |
| **alias**  | Identificador de la campaña. | String       |

### Cambiando campañas <a href="#cambiando-campa-as" id="cambiando-campa-as"></a>

> Ejemplo de cambio en campaña:

```
curl -X PUT \
  https://apigw.wavy.global/api/v1/campaigns/1234 \
  -H 'Content-Type: application/json' \
  -H 'authenticationToken: <authentication_token>' \
  -H 'userName: <e-mail>' \
  -d '{
        "campaign" : {
          "name": "My Campaign",
          "alias": "mycampaign"
        }
      }'
```

> Respuesta

```
{
    "status": {
        "error": false
    },
    "campaign": {
        "name": "My Campaign",
        "id": 1234,
        "alias": "mycampaign"
    }
}
```

Cambiando una campaña por su nombre o alias.

`PUT https://apigw.wavy.global/api/v1/campaigns/{id}`

#### JSON Object <a href="#json-object" id="json-object"></a>

\* Campos requeridos

| Campo  | Detalles                    | Tipo de dato |
| ------ | --------------------------- | ------------ |
| name\* | Nombre de la campaña        | String       |
| alias  | Identificador de la campaña | String       |

### Borrando campañas <a href="#borrando-campa-as" id="borrando-campa-as"></a>

> Ejemplo borrando campañas:

```
curl -X DELETE \
  https://apigw.wavy.global/api/v1/campaigns/1234 \
  -H 'Content-Type: application/json' \
  -H 'authenticationToken: <authentication_token>' \
  -H 'userName: <e-mail>'
```

> Respuesta

```
{
    "status": {
        "error": false
    },
    "campaign": {
        "name": "My Campaign",
        "id": 1234,
        "alias": "mycampaign"
    }
}
```

Borrando una campaña por su ID

`DELETE https://apigw.wavy.global/api/v1/campaigns/{id}`


---

# 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://docs-es.sinch.com/documentacion-tecnica/api-integraciones/campanas-api.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.
