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

# Segments API

> Integra con nuestra Segments API

export const IntegrationsCard1AEs = () => {
  return <>
      <style>{`
        .integrations-card-1a-es {
          display: flex;
          flex-direction: column;
          background-color: #f0f2f4;
          border: 1px solid rgba(0, 0, 0, 0.08);
          border-radius: 12px;
          padding: 1.25rem 1.5rem;
          gap: 0.25rem;
          color: #25253b;
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
          transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
          margin-top: 2rem;
        }

        .integrations-card-1a-es:hover {
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
          border-color: rgba(0, 0, 0, 0.12);
        }

        .dark .integrations-card-1a-es {
          background-color: #25253b;
          color: #f6f8fa;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        .dark .integrations-card-1a-es:hover {
          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
          border-color: rgba(255, 255, 255, 0.12);
        }

        .integrations-card-1a-es-avatar-row {
          display: flex;
          margin-left: 14px;
          flex-wrap: wrap;
        }

        .integrations-card-1a-es-avatar {
          width: 44px;
          height: 44px;
          border-radius: 50%;
          border: 2px solid #f0f2f4;
          margin-left: -14px;
          object-fit: cover;
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
          pointer-events: none;
          cursor: default;
        }

        .dark .integrations-card-1a-es-avatar {
          border-color: #25253b;
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
        }

        .integrations-card-1a-es h2 {
          margin: 0;
          line-height: 1.25;
          font-size: clamp(1.25rem, calc(0.875rem + 1.25vw), 1.75rem);
          font-weight: 700;
          letter-spacing: -0.025em;
          color: #111827;
        }

        .dark .integrations-card-1a-es h2 {
          color: #f9fafb;
        }

        .integrations-card-1a-es-subtitle {
          font-size: 0.9375rem;
          font-weight: 500;
          line-height: 1.5;
          color: #4b5563;
          margin: 0;
        }

        .dark .integrations-card-1a-es-subtitle {
          color: #d1d5db;
        }

        .integrations-card-1a-es p {
          margin: 0;
          line-height: 1.5;
          font-size: 0.875rem;
          color: #374151;
        }

        .dark .integrations-card-1a-es p {
          color: #d1d5db;
        }

        .integrations-card-1a-es a {
          color: #0500ff;
          text-decoration: none;
          font-weight: 500;
          transition: color 0.15s ease;
        }

        .integrations-card-1a-es a:hover {
          color: #0400cc;
        }

        .dark .integrations-card-1a-es a {
          color: #8280ff;
        }

        .dark .integrations-card-1a-es a:hover {
          color: #a19fff;
        }

        @media (max-width: 640px) {
          .integrations-card-1a-es-avatar {
            width: 38px;
            height: 38px;
            margin-left: -12px;
          }

          .integrations-card-1a-es-avatar-row {
            margin-left: 12px;
          }
        }

        @media (min-width: 1280px) {
          .integrations-card-1a-es p {
            font-size: 0.6875rem;
            line-height: 1.4;
            letter-spacing: -0.01em;
          }

          .integrations-card-1a-es h2 {
            font-size: clamp(1rem, calc(0.75rem + 1vw), 1.25rem);
          }

          .integrations-card-1a-es-subtitle {
            font-size: 0.75rem;
          }
        }
      `}</style>
      <div className="integrations-card-1a-es">
        <div className="integrations-card-1a-es-avatar-row">
          <img src="/images/integration-team/agustin.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/amelia.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/anais.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/bernardita.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/felipe.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/gui.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/javiera.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/linn.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/marcio.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/max.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/natalie.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/rodrigo.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
          <img src="/images/integration-team/tomas.webp" alt="" loading="lazy" className="integrations-card-1a-es-avatar" />
        </div>

        <h2>¿Necesitas ayuda con tu integración de Topsort?</h2>

        <p className="integrations-card-1a-es-subtitle">
          Habla con nosotros, el equipo de ingeniería de integraciones.
        </p>

        <p>
          Contáctanos a través de <strong>tu canal de mensajería dedicado</strong> o en{" "}
          <a href="mailto:support@topsort.com">support@topsort.com</a>.
        </p>

        <p>
          Si aún no eres cliente,{" "}
          <a href="https://www.topsort.com/book-a-demo">agenda una demo</a> con nuestro
          equipo de ventas.
        </p>
      </div>
    </>;
};

La [Segments API](/en/api-reference/segments-service) de Topsort permite a nuestros clientes crear y gestionar grupos de usuarios para propósitos de segmentación. Después de crear segmentos en nuestra plataforma, pueden usarse como segmentación en la creación de campañas.

## Cargar Usuarios a un Segmento

Una vez que se crea un segmento, los usuarios pueden cargarse usando nuestras APIs. Topsort soporta tres acciones:

* **Add**: Agregar nuevos usuarios al segmento existente, sin realizar cambios a los existentes.
* **Remove**: Eliminar usuarios específicos del segmento.
* **Replace**: Sobrescribir el segmento completo con una nueva lista de usuarios

Las listas de usuarios deben seguir esta especificación:

* El formato del archivo es .txt
* Sin encabezados
* Un Opaque User ID por fila, sin correos electrónicos ni información personal.

## Restringir un Segmento a Vendors Específicos

Por defecto, un segmento nuevo es **global**: cualquier vendor de tu marketplace puede seleccionarlo como segmentación. Para limitar un segmento a vendors específicos, gestiona su lista de vendors con tu Advanced API Key:

* **[Listar vendors](/es/api-reference/segments-service/list-vendors-assigned-to-a-segment)**: `GET /public/v1/segment-service/segments/{segment_id}/vendors` devuelve los vendors asignados al segmento. Una lista `vendorIds` vacía significa que el segmento es global.
* **[Agregar vendors](/es/api-reference/segments-service/add-vendors-to-a-segment)**: `PUT /public/v1/segment-service/segments/{segment_id}/vendors` agrega los vendors indicados. Los vendors ya asignados se mantienen. Agregar el primer vendor convierte un segmento global en uno restringido.
* **[Eliminar vendors](/es/api-reference/segments-service/remove-vendors-from-a-segment)**: `DELETE /public/v1/segment-service/segments/{segment_id}/vendors` elimina los vendors indicados. Eliminar el último vendor vuelve a hacer global el segmento.

Los IDs de segmento y de vendor son tus IDs externos. Cada solicitud acepta hasta 100 IDs de vendor, y todos los endpoints devuelven la lista de vendors resultante del segmento:

```bash theme={null}
curl -X PUT https://api.topsort.com/public/v1/segment-service/segments/{segment_id}/vendors \
  -H "Authorization: Bearer YOUR_ADVANCED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vendorIds": ["vendor-a", "vendor-b"]}'
```

```json theme={null}
{
  "id": "{segment_id}",
  "vendorIds": ["vendor-a", "vendor-b"]
}
```

Para saber qué segmentos puede usar un vendor, llama a [Retrieve a list of segments](/es/api-reference/segments-service/retrieve-a-list-of-segments) con el parámetro de consulta `vendor_id`. La respuesta contiene los segmentos globales más los segmentos asignados a ese vendor.

<Warning>
  Un segmento es global desde el momento en que se crea hasta que se agrega su primer vendor. Agrega vendors justo después de crear un segmento que no deba estar disponible para todos los vendors.
</Warning>

## Uso en Campañas

Los segmentos se usan como opciones de segmentación en campañas. El mismo Opaque User ID cargado a los segmentos debe usarse en la solicitud de subasta, para garantizar que el motor de subastas pueda emparejarlo con el segmento correspondiente.

<IntegrationsCard1AEs />


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