> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear un segmento para dirigirse a visitantes por URL de página

> Cree un segmento de targeting que filtre a los visitantes por URL de página usando el endpoint segments de la Automation API.

## Objetivo

A continuación, cree un **segmento** para dirigirse a los visitantes que navegan por una URL específica, como `www.site-test.com`.
Consulte la [guía de creación de segmentos](/user-manual/assets/segments/create-a-segment) para más detalles.

## Requisitos

* `access token`

La Automation API requiere un [token de acceso](/developer-docs/apis/automation-api-rest/get-started/get-started).
Obtenga el token de forma programática siguiendo las instrucciones de la [sección sobre cómo obtener un token de acceso](/developer-docs/apis/automation-api-rest/get-started/get-started#1-obtain-an-access-token).

* `siteId`

  * Recupere el `siteId` directamente en código a partir del `siteCode` llamando al [endpoint para obtener un sitio por código](/api-reference/site/get-a-site-by-code).

  * Como alternativa, inicie sesión en la cuenta de Kameleoon, vaya a la esquina inferior izquierda y seleccione **Projects** en la sección **Admin**:

  <Frame>
    ![SiteID](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/api-tutorial/site-id.jpg)
  </Frame>

  Haga clic en **Edit** en el proyecto:

  <Frame>
    ![Edit](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/api-tutorial/edit.jpg)
  </Frame>

  El `siteId` es el número de cinco dígitos en la URL (por ejemplo, **29353**):

  <Frame>
    ![Digits](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/api-tutorial/digits.jpg)
  </Frame>

## Crear el segmento

**Endpoint:**

```
POST https://api.kameleoon.com/segments
```

| Nombre         | Tipo   | Descripción                                                                                                                                |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| conditionsData | Object | Define las condiciones de targeting. Consulte la [referencia de la API](/developer-docs/apis/automation-api-rest/get-started/get-started). |
| name           | String | Nombre del segmento.                                                                                                                       |
| segmentType    | String | Tipo de segmento, por ejemplo, `STANDARD` para experimentos.                                                                               |
| siteId         | String | El `siteId` del proyecto.                                                                                                                  |

**Ejemplo:**

```bash theme={null}
curl -L -X POST 'https://api.kameleoon.com/segments' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
  "name": "New segment",
  "description": "Target by webpage",
  "siteId": 29353,
  "segmentType": "STANDARD",
  "conditionsData": {
    "firstLevelOrOperators": [true],
    "firstLevel": [
      {
        "conditions": [
          {
            "targetingType": "PAGE_URL",
            "weight": 1,
            "url": "www.site-test.com",
            "matchType": "EXACT",
            "include": true
          }
        ]
      }
    ]
  }
}'
```

***

## Crear un objetivo para el experimento

### Objetivo

Los objetivos son métricas para hacer seguimiento del éxito de la campaña.
Esta sección crea un **objetivo de clic** para contar los clics en el elemento `.cta-button`.
Consulte la [guía de creación de objetivos](/user-manual/assets/goals/create-a-goal) para obtener más información.

### Pasos

#### Cree el objetivo

**Endpoint:**

```
POST https://api.kameleoon.com/goals
```

| Nombre      | Tipo   | Descripción                                                       |
| ----------- | ------ | ----------------------------------------------------------------- |
| description | String | Descripción del objetivo (por ejemplo, "Número de clics en CTA"). |
| name        | String | Nombre del objetivo (por ejemplo, "Clics en CTA").                |
| siteId      | String | El `siteId` del proyecto.                                         |
| params      | Object | Incluye los selectores de elementos para el seguimiento de clics. |

**Ejemplo:**

```bash theme={null}
curl -L -X POST 'https://api.kameleoon.com/goals' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
  "description": "Number of times CTA button was clicked",
  "hasMultipleConversions": true,
  "name": "Clicks on CTA",
  "params": {
    "customSelectors": [
      {
        "mode": "CUSTOM",
        "selector": ".cta-button, #bloc-789"
      }
    ]
  },
  "siteId": 29353,
  "status": "ACTIVE",
  "type": "CLICK"
}'
```

***

## Añadir un objetivo y un segmento antes de lanzar un experimento

### Objetivo

Vincule el objetivo y el segmento a `Experiment_1` y active el experimento.

### Pasos

#### 1. Vincular y lanzar

**Endpoint:**

```
PATCH https://api.kameleoon.com/experiments/{experimentId}?action=ACTIVATE
```

| Nombre             | Tipo   | Descripción                                               |
| ------------------ | ------ | --------------------------------------------------------- |
| targetingSegmentId | String | ID del segmento a vincular.                               |
| goals              | Array  | IDs de los objetivos a vincular.                          |
| deviations         | Object | Asignación de tráfico entre el control y las variaciones. |
| mainGoalId         | String | ID del objetivo principal.                                |
| status             | String | Estado del experimento (`ONLINE`, `PAUSED`, y otros).     |

**Ejemplo:**

```bash theme={null}
curl -L -X PATCH 'https://api.kameleoon.com/experiments/283505?action=ACTIVATE' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
--data-raw '{
  "targetingSegmentId": 298314,
  "goals": [361517],
  "deviations": {"origin": 0.5, "1053310": 0.5},
  "mainGoalId": 361517,
  "status": "ONLINE"
}'
```

#### 2. Verifique el lanzamiento

Refresque el dashboard.
`Experiment_1` debería mostrar ahora el estado **Online**:

<Frame>
  ![Experiment\_activated](https://storage.googleapis.com/kameleoon-storage-documentation/developers/images/api-tutorial/experiment-launched.jpg)
</Frame>

***

La creación, configuración y lanzamiento de un experimento usando la Automation API están ahora completos.
