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

# Conjuntos de configuración y supresiones

> Controle el envío, el seguimiento de interacción, la selección de IP dedicadas y las excepciones de supresión.

Un conjunto de configuración aplica opciones de entrega a los mensajes que lo seleccionan. No cambia la identidad verificada necesaria para enviar.

<span id="create-and-apply-a-configuration-set" />

## Crear y aplicar un conjunto de configuración

<Tabs>
  <Tab title="Console">
    Abra Email y **Configuration sets** y haga clic en **Create configuration set**. Abra el conjunto para cambiar el envío, el seguimiento, el grupo de IP y las excepciones de supresión.
  </Tab>

  <Tab title="API">
    Envíe `POST /v1/configuration-sets`:

    ```json theme={null}
    {"name":"transactional","sending_enabled":true,"tags":{"environment":"production"}}
    ```

    Después envíe `PATCH /v1/configuration-sets/{configuration_set_id}`:

    ```json theme={null}
    {"tracking_open":true,"tracking_click":true,"ip_pool":"transactional"}
    ```

    Añada `"configuration_set":"transactional"` a cada solicitud de envío que deba usar esta configuración.
  </Tab>

  <Tab title="CLI">
    Guarde las solicitudes JSON de la pestaña API, en orden, como `request-1.json`, `request-2.json`. Establezca `CONFIGURATION_SET_ID` con el UUID del recurso. Use la cuenta y la región configuradas.

    ```bash theme={null}
    basaltic email configuration-set create --from-file request-1.json
    basaltic email configuration-set update "$CONFIGURATION_SET_ID" --from-file request-2.json
    ```
  </Tab>

  <Tab title="Go">
    Guarde las solicitudes JSON de la pestaña API, en orden, como `request-1.json`, `request-2.json`. Establezca `CONFIGURATION_SET_ID` con el UUID del recurso. Configure las credenciales, la cuenta y la región mediante las variables de entorno del SDK.

    ```go theme={null}
    package main

    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"

    	basaltic "github.com/basaltic-sh/sdk-go"
    	"github.com/basaltic-sh/sdk-go/email"
    )

    func readJSON(path string, value any) error {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		return err
    	}
    	return json.Unmarshal(data, value)
    }

    func run() error {
    	ctx := context.Background()
    	cfg, err := basaltic.NewConfig(ctx)
    	if err != nil {
    		return err
    	}
    	client := email.New(cfg)
    	var request1 email.CreateConfigurationSetRequest
    	if err := readJSON("request-1.json", &request1); err != nil {
    		return err
    	}
    	result1, err := client.CreateConfigurationSet(ctx, &request1)
    	if err != nil {
    		return err
    	}
    	fmt.Printf("%+v\n", result1)
    	var request2 email.UpdateConfigurationSetRequest
    	if err := readJSON("request-2.json", &request2); err != nil {
    		return err
    	}
    	result2, err := client.UpdateConfigurationSet(ctx, os.Getenv("CONFIGURATION_SET_ID"), &request2)
    	if err != nil {
    		return err
    	}
    	fmt.Printf("%+v\n", result2)
    	return nil
    }

    func main() {
    	if err := run(); err != nil {
    		fmt.Fprintln(os.Stderr, err)
    		os.Exit(1)
    	}
    }
    ```
  </Tab>
</Tabs>

`sending_enabled` es true de forma predeterminada. Deshabilitarlo rechaza nuevos envíos mediante el conjunto. La configuración se aplica cuando se acepta un mensaje; editar un conjunto no reescribe los mensajes ya encolados.

<span id="open-and-click-tracking" />

## Seguimiento de aperturas y clics

El seguimiento se aplica a mensajes HTML. Los mensajes de texto sin formato no cambian. El seguimiento de aperturas añade un píxel; el de clics reescribe enlaces aptos para registrar una visita antes de redirigir. Los clientes de correo de los destinatarios cargan estas URL automáticamente; no son API de administración para SDK o CLI.

Las aperturas y los clics miden solicitudes registradas. El bloqueo de imágenes, los proxies de correo, los escáneres de seguridad y las visitas repetidas afectan estos recuentos. Una apertura no demuestra que una persona haya leído el mensaje. Los eventos agregados aparecen en las [métricas de Telemetry](/es/email/metrics); la interacción por mensaje conserva recuentos y marcas de tiempo de diagnóstico durante su ventana de retención de eventos.

<span id="pool-assignment-and-nullable-updates" />

## Asignación de grupo y actualizaciones anulables

`ip_pool` en una respuesta es un ResourceRef con `id`, `crn` y `name` opcional. En PATCH, omita `ip_pool` para conservarlo, envíe un UUID/nombre/CRN para cambiarlo o envíe `{"ip_pool":null}` para desvincularlo. Las cadenas vacías se rechazan.

Un grupo contiene [IP dedicadas](/es/email/dedicated-ips) de la cuenta. Si no se puede seleccionar ninguna IP apta, el envío usa las IP compartidas de la plataforma. El campo `outbound_ip` del mensaje registra la dirección dedicada seleccionada para él.

<span id="suppression-overrides" />

## Excepciones de supresión

`suppression_overrides` sustituye toda la lista cuando se proporciona; `[]` elimina todas las excepciones. También puede añadir o quitar una dirección mediante los endpoints anidados `/suppression-overrides`. Una excepción omite la supresión de la cuenta para esa dirección solo en los mensajes que usan este conjunto de configuración.

Las supresiones automáticas proceden de rebotes y quejas. Una supresión manual usa `POST /v1/suppressions` con `address` y descripción y vencimiento opcionales. El campo opcional `source_message` de la respuesta identifica el mensaje que causó la supresión. No es un selector de solicitud.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.