Skip to main content
Flujo de aprovisionamiento
Language

API REST pública

Crea equipos de cside y registra o elimina dominios gestionados desde tu backend con la API REST Enterprise.

Usa la API REST pública de cside para aprovisionar equipos y dominios gestionados desde un flujo de trabajo de backend. La API usa JSON sobre HTTPS y un token Bearer de la organización.

Referencia interactiva de la API

Usa la referencia interactiva de la API para consultar los esquemas actuales de solicitudes y respuestas. El documento OpenAPI está disponible para generar código.

URL base: https://api.cside.com

Flujo de aprovisionamiento

La creación de equipos y el registro de dominios son operaciones independientes:

  1. Crea un token de API de la organización con los permisos necesarios
  2. Llama a POST /v1/teams/ y guarda el teamId devuelto
  3. Llama a POST /v1/domains/ con ese teamId y hasta 100 nombres de host
  4. Revisa cada elemento de data.results antes de dar por finalizado el aprovisionamiento

Si el registro de dominios falla, el equipo permanece disponible. La API no revierte la creación correcta de un equipo.

Disponibilidad y autenticación

Se requiere el plan Enterprise

La API pública está disponible para organizaciones con un equipo Enterprise activo. Contacta con ventas si necesitas acceso a la API.

Un administrador de la organización puede generar un token en Configuración de la organización > General en el panel de cside. Selecciona solo los permisos que necesita la integración:

PermisoAcceso a la API
Crear equipos (teams:create)POST /v1/teams/
Registrar dominios (domains:create)POST /v1/domains/
Eliminar dominios (domains:delete)DELETE /v1/domains/

El panel muestra cada token una sola vez. Guárdalo en un gestor de secretos del servidor antes de cerrar el cuadro de diálogo. No lo expongas en código del navegador, no lo envíes al control de versiones ni lo escribas en los registros de la aplicación.

Envía el token con cada solicitud:

Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

Los tokens siguen siendo válidos hasta que un administrador selecciona Revocar todos los tokens. Esta acción invalida de inmediato todos los tokens de API de la organización.

Mantén los ID como cadenas

Envía team_id y los ID de dominio como cadenas decimales entre comillas en JSON. No los conviertas en números de JavaScript.

Límite de solicitudes

La API acepta 60 solicitudes por organización y minuto. Este límite se comparte entre los endpoints de equipos y dominios. Una solicitud que supere el límite devuelve 429 con el código de error rate_limited. Vuelve a intentarlo con una pausa progresiva cuando comience el siguiente minuto.

Crear un equipo

Usa POST /v1/teams/ para crear un equipo en la organización del token.

curl --request POST \
  --url https://api.cside.com/v1/teams/ \
  --header "Authorization: Bearer $CSIDE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "Acme Production"
  }'

El nombre del equipo debe cumplir estos requisitos:

  • Contener entre 3 y 32 caracteres
  • Usar letras, números, guiones bajos, espacios o apóstrofos
  • Ser único dentro de la organización

No se admiten guiones en los nombres de equipo.

Una solicitud correcta devuelve 201 Created:

{
  "data": {
    "teamId": "1897425263682514944"
  }
}

Guarda data.teamId. Lo necesitarás para registrar o eliminar dominios del equipo.

La creación de equipos no es idempotente

El endpoint no acepta una clave de idempotencia. Si reutilizas un nombre de equipo, devuelve 409 team_name_exists y no devuelve el ID del equipo existente. Guarda la respuesta correcta antes de iniciar el registro de dominios.

Crear un equipo no activa la incorporación automática de dominios. Esta función se configura por separado para cada equipo y está desactivada de forma predeterminada.

Registrar dominios

Usa POST /v1/domains/ para registrar entre 1 y 100 nombres de host de dominios gestionados para un equipo. team_id es obligatorio cuando usas un token de API de la organización.

curl --request POST \
  --url https://api.cside.com/v1/domains/ \
  --header "Authorization: Bearer $CSIDE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "team_id": "1897425263682514944",
    "domains": [
      "checkout.example.com",
      "app.example.com"
    ]
  }'

Envía los nombres de host sin protocolo, puerto, ruta, cadena de consulta ni fragmento. cside elimina los espacios en blanco y normaliza en minúsculas los nombres de host aceptados.

Cada elemento registra el nombre de host exacto que envías. La API no crea un dominio comodín, por lo que debes incluir todos los nombres de host que necesites, como example.com y www.example.com.

El endpoint devuelve 200 OK con un resultado por cada valor de entrada, en el mismo orden:

{
  "data": {
    "results": [
      {
        "status": "created",
        "input": "checkout.example.com",
        "domain": "checkout.example.com",
        "domainId": "1897425263682514945"
      },
      {
        "status": "existing",
        "input": "app.example.com",
        "domain": "app.example.com",
        "domainId": "1897425263682514946"
      },
      {
        "status": "invalid",
        "input": "not a hostname",
        "code": "invalid_domain",
        "message": "Domain is invalid."
      }
    ],
    "totals": {
      "created": 1,
      "existing": 1,
      "invalid": 1
    }
  }
}

La solicitud puede incluir resultados correctos y no válidos y aun así devolver 200 OK. Revisa cada resultado:

EstadoSignificado
createdcside registró el nombre de host y devolvió su nuevo domainId
existingEl mismo equipo ya posee el nombre de host y se devuelve el domainId original
invalidcside no registró el nombre de host, consulta code y message

Los reintentos son seguros para los dominios que ya se crearon para el mismo equipo. Devuelven existing en lugar de crear un duplicado. Un nombre de host gestionado por otro equipo devuelve invalid con domain_already_licensed.

Los dominios nuevos reciben automáticamente protección gestionada. No se requiere una llamada independiente a la API para activarlos. La configuración puede tardar un poco en llegar a la red de distribución.

Códigos de validación de dominios

Un resultado invalid puede incluir uno de estos códigos:

CódigoSignificado
empty_domainEl valor de entrada está vacío
invalid_domainEl nombre de host no es válido
public_suffix_domainEl valor de entrada es un sufijo público y no un nombre de host registrable
internal_domainEl nombre de host está reservado o no está permitido
reserved_ipDNS resuelve el nombre de host a una dirección IP reservada
wildcard_conflictUn dominio comodín existente ya abarca este nombre de host
subdomain_conflictUna configuración de dominio existente ya incluye este subdominio
domain_already_licensedOtro equipo ya gestiona el nombre de host
internal_errorcside no pudo validar ni crear el dominio

Cargar cside para el equipo

Usa el teamId devuelto al crear el equipo en la URL estándar del script de cside. No lo sustituyas por un domainId.

<script
  src="https://[your-team-id].csidetm.com/client.js"
  referrerpolicy="origin">
</script>

El nombre de host de la página debe estar registrado en el equipo cuyo ID se usa en la URL del script. Si falta el registro o el equipo no coincide, la solicitud devuelve 403. Si esto ocurre justo después del registro, vuelve a intentarlo poco después. Contacta con el soporte de cside si el problema continúa.

La monitorización estándar no requiere un CNAME del cliente ni redirigir el tráfico. Si tu sitio tiene una política de seguridad de contenido restrictiva, sigue la guía de configuración de CSP para permitir *.csidetm.com.

Incorporación automática de dominios

La incorporación automática de dominios es una función opcional del equipo para implementaciones que cargan el script de arranque estándar de cside. Está desactivada de forma predeterminada en los equipos nuevos. Contacta con tu representante de cside si necesitas activarla.

Cuando la función está activada y un nombre de host sin registrar carga el script de arranque /client.js o /script.js específico del equipo, cside envía el nombre de host de referencia mediante el mismo flujo de validación y registro de dominios. Mantén el atributo estándar referrerpolicy="origin" para que el origen de la página esté disponible sin exponer su ruta ni su cadena de consulta.

La solicitud que detecta el nombre de host sin registrar no se vuelve a intentar. El registro se aplica a una solicitud posterior del script una vez que la configuración se ha propagado. Los dominios registrados automáticamente aparecen en el inventario de dominios del equipo igual que los registrados mediante la API.

La incorporación automática no crea equipos y las solicitudes a otros endpoints de cside no registran ningún nombre de host. Usa el flujo explícito de la API cuando necesites un resultado para cada dominio antes de desplegar el script. La incorporación automática se aplica al script de monitorización estándar y no activa la recopilación de Device Intelligence.

Eliminar dominios

Usa DELETE /v1/domains/ con los valores domainId devueltos por el registro de dominios. No envíes nombres de host a este endpoint.

curl --request DELETE \
  --url https://api.cside.com/v1/domains/ \
  --header "Authorization: Bearer $CSIDE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "team_id": "1897425263682514944",
    "domains": [
      "1897425263682514945",
      "1897425263682514946"
    ]
  }'

Puedes enviar entre 1 y 100 ID de dominio. Una solicitud correcta devuelve resultados parciales ordenados:

{
  "data": {
    "results": [
      {
        "status": "deleted",
        "domainId": "1897425263682514945",
        "domain": "checkout.example.com"
      },
      {
        "status": "not_found",
        "domainId": "1897425263682514999"
      }
    ],
    "totals": {
      "deleted": 1,
      "not_found": 1
    }
  }
}

La eliminación es idempotente. Un ID desconocido, un dominio ya eliminado o un dominio ajeno al equipo de destino devuelve not_found sin exponer información sobre otro equipo.

Errores de solicitud

Los errores que afectan a toda la solicitud tienen esta estructura:

{
  "error": "insufficient_scope",
  "message": "Token is missing the domains:create scope."
}
Estado HTTPCódigos de error habitualesAcción
400invalid_requestRevisa el cuerpo JSON, los campos obligatorios, las cadenas de ID y los límites de elementos
401unauthorizedRevisa el token Bearer y si se revocaron todos los tokens de la organización
403insufficient_scope, enterprise_required, errores de suspensiónRevisa los permisos del token, el acceso al plan y el estado de la cuenta
404team_not_foundConfirma que el ID del equipo pertenece a la organización del token
409team_name_existsElige un nombre de equipo único o usa el equipo existente
429rate_limitedVuelve a intentarlo con una pausa progresiva después del intervalo de límite de solicitudes actual
503rate_limit_unavailable, domain_deletion_unavailableVuelve a intentarlo más tarde y contacta con el soporte de cside si el error continúa

Lista de comprobación de seguridad

  • Genera un token independiente para cada integración de backend
  • Concede solo los permisos que necesita esa integración
  • Guarda los tokens en un gestor de secretos del servidor
  • Nunca expongas tokens en código del navegador, URL, control de versiones ni registros
  • Revoca de inmediato todos los tokens de la organización si alguno queda expuesto
  • Trata los ID de equipo y dominio devueltos como cadenas

Documentación relacionada

Was this page helpful?