> ## 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.

# IP dedicadas y grupos

> Asigne direcciones de envío, administre su pertenencia a grupos y aumente el tráfico gradualmente.

Las IP dedicadas pertenecen a su cuenta. Una IP puede quedar sin grupo o pertenecer a uno y cambiar de grupo sin liberarse. Un grupo reúne direcciones para conjuntos de configuración; no es propietario de sus asignaciones.

<span id="allocate-and-group-addresses" />

## Asignar y agrupar direcciones

<Tabs>
  <Tab title="Console">
    Abra Email e **IP pools** para crear un grupo. En **Dedicated IPs**, solicite una dirección y, opcionalmente, elija el grupo. La dirección se asignará por usted. Abra la pestaña **Member IPs** de un grupo para vincular o desvincular direcciones asignadas.
  </Tab>

  <Tab title="API">
    Cree un grupo con `POST /v1/ip-pools`:

    ```json theme={null}
    {"name":"transactional","description":"Transactional sending"}
    ```

    Solicite una dirección con `POST /v1/dedicated-ips`:

    ```json theme={null}
    {"ip_pool":"transactional"}
    ```

    Omita `ip_pool` para dejar la asignación sin grupo. El servicio elige la dirección; los clientes no proporcionan una dirección IP en esta solicitud.
  </Tab>

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

    ```bash theme={null}
    basaltic email ip-pool create --from-file request-1.json
    basaltic email dedicated-ip request --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`. 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.CreateIPPoolRequest
    	if err := readJSON("request-1.json", &request1); err != nil {
    		return err
    	}
    	result1, err := client.CreateIPPool(ctx, &request1)
    	if err != nil {
    		return err
    	}
    	fmt.Printf("%+v\n", result1)
    	var request2 email.RequestDedicatedIPRequest
    	if err := readJSON("request-2.json", &request2); err != nil {
    		return err
    	}
    	result2, err := client.RequestDedicatedIP(ctx, &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>

Actualice la pertenencia con `PATCH /v1/dedicated-ips/{dedicated_ip_id}`. Una cadena en `ip_pool` selecciona un grupo por UUID, nombre o CRN; `null` lo desvincula; la omisión conserva la asignación. El `ip_pool` opcional de la respuesta es un ResourceRef.

<span id="warmup" />

## Calentamiento

Los estados de calentamiento son `new`, `warming` y `warm`. Una dirección nueva comienza fuera de la rotación activa de envío. Inicie el calentamiento antes de esperar que el grupo la seleccione. El porcentaje de calentamiento controla su elegibilidad respecto a la capacidad compartida de envío; no es un límite fijo de mensajes por segundo.

El calentamiento automático avanza con días UTC completos que incluyen envíos correctos desde la asignación. El tiempo inactivo por sí solo no lo hace avanzar. La secuencia predeterminada es 1%, 2%, 4%, 8%, 16%, 32%, 64% y 100%. Consulte `warmup_percentage` y `warmup_started_at` en lugar de suponer que la antigüedad de la dirección significa que está lista.

<span id="detach-delete-and-release" />

## Desvincular, eliminar y liberar

Desvincular una IP mantiene su asignación. Eliminar un grupo deja sus IP sin grupo y quita los vínculos de los conjuntos de configuración con él. Liberar una IP devuelve la asignación e impide su selección futura. Son operaciones distintas. Use la zona de peligro del recurso para eliminarlo o liberarlo.

Un conjunto de configuración sin una dirección apta en el grupo puede usar IP compartidas de la plataforma. Consulte `outbound_ip` del mensaje saliente y las [métricas de Email](/es/email/metrics) para comprender el tráfico y los resultados.


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