La API de Admin Settings permite a los administradores de dominios de Google Workspace recuperar y cambiar la configuración de sus dominios en forma de feeds de la API de Google Data.
Estos parámetros de configuración del dominio incluyen muchas de las funciones disponibles en la Consola del administrador de Google Workspace. Entre los ejemplos de uso de esta API, se incluyen la creación de un panel de control personalizado o la integración de dominios de Google Workspace en un entorno heredado existente.
La API de Admin Settings implementa el protocolo de la API de Google Data. La API de Google Data se ajusta al modelo de publicación y edición del Protocolo de publicación Atom (AtomPub). Las solicitudes HTTP de AtomPub usan el enfoque de diseño de transferencia de estado representacional (RESTful) para los servicios web. Para obtener más información, consulta la Guía para desarrolladores de datos de Google.
Público
Este documento está dirigido a desarrolladores que deseen escribir aplicaciones cliente que puedan modificar y recuperar información sobre los dominios de Google Workspace. Proporciona ejemplos de las interacciones básicas de la API de Admin Settings con XML y HTTP sin procesar.
En este documento, se supone que comprendes las ideas generales detrás del protocolo de las APIs de Google Data y que conoces la Consola del administrador de Google Workspace. Para obtener más información sobre la Consola del administrador, consulta Cómo usar la Consola del administrador.
Comenzar
Cómo crear una cuenta
La API de Admin Settings está habilitada para las cuentas de Google Workspace. Regístrate para obtener una cuenta de Google Workspace con fines de prueba. El servicio de Configuración del administrador usa Cuentas de Google, por lo que, si ya tienes una cuenta en un dominio de Google Workspace, no necesitas hacer nada más.
Acerca de los tipos de feeds de la API de Admin Settings
La API de Admin Settings te permite administrar estas categorías de configuración del dominio:
- Configuración de inicio de sesión único
El inicio de sesión único (SSO) basado en SAML permite que los usuarios utilicen el mismo acceso y contraseña tanto para los servicios alojados en Google Workspace como para otros servicios que puedas alojar en tu organización. Específicamente cuando se usa el SSO, una aplicación web alojada, como Google Workspace, redirecciona a los usuarios al proveedor de identidad de tu organización para autenticarlos cuando acceden. Para obtener información detallada, consulta Información sobre el SSO basado en SAML para Google Workspace.
La configuración del SSO implica ingresar la información necesaria para que el servicio de Google Workspace se comunique con el proveedor de identidad que almacena la información de acceso de tus usuarios, así como configurar los vínculos a los que se debe enviar a los usuarios para acceder, salir y cambiar sus contraseñas. La API de Admin Settings te permite actualizar y recuperar estos parámetros de configuración de forma programática. Google usa tu clave pública generada para verificar esta solicitud de SSO con tu proveedor de identidad y que la respuesta de SAML de la clave privada no se haya modificado durante la transmisión de red.
Para obtener un breve resumen específico de la API sobre el uso de la configuración de SSO, obtén el certificado de clave pública de tu proveedor de identidad, registra la clave pública en Google y configura los parámetros de configuración de la consulta de SSO basada en SAML. Para ver los mensajes de error, consulta Solución de problemas del SSO:- Genera tus claves: Con tu proveedor de identidad, genera un conjunto de claves públicas y privadas con los algoritmos DSA o RSA. La clave pública está en un certificado con formato X.509. Para obtener más información sobre las claves de firma del inicio de sesión único basado en SAML, consulta Cómo generar claves y certificados para el servicio de inicio de sesión único de Google Workspace.
- Regístrate en Google: Usa la configuración de inicio de sesión único de la API de Admin Settings para registrar tu certificado de clave pública en Google.
- Configura los parámetros del SSO: Usa la configuración de inicio de sesión único de la API de Admin Settings para configurar los parámetros que se usan para la comunicación con los servidores del proveedor de identidad del dominio.
- Configuración de puerta de enlace y enrutamiento
Este feed permite que los administradores de dominio controlen el enrutamiento del correo electrónico para sus dominios.
Las operaciones de enrutamiento de correo electrónico permiten a los administradores especificar la configuración de enrutamiento de correo electrónico a nivel del dominio. Esta función es similar a la de enrutamiento de correos electrónicos de la configuración de Gmail en la Consola del administrador. Para obtener más información, consulta Enrutamiento de correo electrónico y la configuración de entrega doble de la función de enrutamiento de correo electrónico.
Ejemplo de una solicitud y respuesta XML de la API de Admin Settings
En este documento, se proporcionan ejemplos de código de solicitudes y respuestas básicas de la API de Admin Settings con XML y HTTP sin procesar. En este ejemplo de idioma predeterminado del dominio, se muestra la sintaxis completa de XML y HTTP para el cuerpo de una entrada de solicitud y respuesta, que es común a cada operación:
Para cambiar la configuración de la puerta de enlace de correo electrónico saliente del dominio, envía una solicitud HTTP PUT
a la URL del feed de la puerta de enlace:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
La solicitud del idioma predeterminado del dominio PUT
AtomPub entry
XML es la siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
A excepción de las propiedades y los valores específicos de la operación, los elementos atom:property
representan un solo par clave-valor que contiene información sobre una propiedad que deseas recuperar o actualizar. Estos campos son comunes a todos los cuerpos de las solicitudes de la API de Admin Settings.
El elemento entry
de la respuesta del idioma predeterminado del dominio devuelve las propiedades smartHost
y smtpMode
junto con la sintaxis XML común a todos los cuerpos de respuesta de la API de Admin Settings:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<id>https://apps-apis.google.com/a/feeds/domain/2.0/domainName/email/gateway</id>
<updated>2008-12-17T23:59:23.887Z</updated>
<link rel='self' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<link rel='edit' type='application/atom+xml' href='https://apps-apis.google.com/a/feeds/domain/
2.0/domainName/email/gateway'/>
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</entry>
Administra la configuración del inicio de sesión único
La función de inicio de sesión único (SSO) de Google Workspace permite que los usuarios accedan a varios servicios con solo ingresar un nombre de usuario y una contraseña una vez. El proveedor de identidad del dominio, no Google Workspace, almacena esta contraseña. Para obtener más información, consulta la página de SSO del Centro de ayuda. En las siguientes secciones, se muestra el formato XML que se usa para la configuración del inicio de sesión único.
Cómo recuperar la configuración del inicio de sesión único
Para recuperar la configuración del inicio de sesión único, envía una solicitud GET
HTTP a la URL del feed general del SSO y, luego, incluye un encabezado Authorization
como se describe en Cómo autenticarse en el servicio de configuración del administrador. Además, para ver los mensajes de error, consulta Solución de problemas de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Una respuesta correcta devuelve un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la configuración del SSO del dominio.
El XML de respuesta de GET devuelve las propiedades samlSignonUri
, samlLogoutUri
, changePasswordUri
, enableSSO
, ssoWhitelist
y useDomainSpecificIssuer
:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
...
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='true'/>
<apps:property name='ssoWhitelist' value='CIDR formatted IP address'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
Las propiedades incluyen lo siguiente:
- samlSignonUri
- Es la URL del proveedor de identidad a la que Google Workspace envía la solicitud de SAML para la autenticación del usuario.
- samlLogoutUri
- Dirección a la que se redireccionará a los usuarios cuando salgan de la aplicación web.
- changePasswordUri
- Dirección a la que se enviará a los usuarios cuando quieran cambiar la contraseña de SSO para la aplicación web.
- enableSSO
- Habilita el SSO basado en SAML para este dominio. Si ya configuraste los parámetros del SSO y, luego, estableciste
enableSSO
enenableSSO=false
, los parámetros que ingresaste anteriormente se guardarán. - ssoWhitelist
- Un ssoWhitelist es una dirección IP de máscara de red en formato de enrutamiento entre dominios sin clases (CIDR). La lista ssoWhitelist determina qué usuarios acceden con SSO y cuáles lo hacen con la página de autenticación de la cuenta de Google Workspace. Si no se especifican máscaras, todos los usuarios accederán con SSO. Para obtener más información, consulta Cómo funcionan las máscaras de red.
- useDomainSpecificIssuer
- Se puede usar una entidad emisora específica del dominio en la solicitud de SAML al proveedor de identidad. Si bien no es necesaria para la mayoría de las implementaciones de SSO, esta función es útil en las empresas grandes que usan un solo proveedor de identidad para autenticar a toda una organización con varios subdominios. Proporcionar la entidad emisora del dominio específico determina qué subdominio se asociará con la solicitud. Para obtener más información, consulta ¿Cómo funciona el elemento Issuer en la solicitud de SAML?
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
Actualiza la configuración del inicio de sesión único
Para actualizar la configuración de SSO de un dominio, primero recupera la configuración de SSO con la operación Retrieving Single Sign-On settings, modifícala y, luego, envía una solicitud PUT
a la URL del feed de SSO. Asegúrate de que el valor de <id>
en la entrada actualizada coincida exactamente con el de la entrada existente.<id>
Incluye un encabezado Authorization
como se describe en Cómo autenticarse en el servicio de la API de Admin Settings. Para ver los mensajes de error, consulta Soluciona problemas del SSO.
Cuando actualices la configuración del inicio de sesión único, envía una solicitud HTTP PUT a la URL del feed general de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/general
El cuerpo XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
<apps:property name='enableSSO' value='false' />
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon' />
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout' />
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword' />
<apps:property name='ssoWhitelist' value='127.0.0.1/32' />
<apps:property name='useDomainSpecificIssuer' value='false'/>
</atom:entry>
Una respuesta correcta devuelve un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la configuración del SSO.
El XML de respuesta de PUT
es el siguiente:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='samlSignonUri' value='http://www.example.com/sso/signon'/>
<apps:property name='samlLogoutUri' value='http://www.example.com/sso/logout'/>
<apps:property name='changePasswordUri' value='http://www.example.com/sso/changepassword'/>
<apps:property name='enableSSO' value='false'/>
<apps:property name='ssoWhitelist' value='127.0.0.1/32'/>
<apps:property name='useDomainSpecificIssuer' value='false'/>
</entry>
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
No se permiten los cambios en la configuración del inicio de sesión único cuando el cliente objetivo habilitó la aprobación de varias partes para acciones sensibles. Las solicitudes fallarán con errorCode="1811"
y reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
.
Cómo recuperar la clave de firma del inicio de sesión único
Para recuperar la clave de firma del inicio de sesión único, envía una solicitud GET
HTTP a la URL del feed de la clave de firma del SSO y, luego, incluye un encabezado Authorization
como se describe en Autenticación en el servicio de configuración del administrador. Además, para ver los mensajes de error, consulta Solución de problemas de SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Una respuesta correcta devuelve un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la clave de firma.
El XML de respuesta GET
devuelve la propiedad signingKey
:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</entry>
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
Actualiza la clave de firma del inicio de sesión único
Para actualizar la clave de firma de SSO de un dominio, primero recupera la clave de firma con la operación Retrieving Single Sign-On signing key, modifícala y, luego, envía una solicitud PUT
a la URL del feed de la clave de firma de SSO. Asegúrate de que el valor de <id>
en la entrada actualizada coincida exactamente con el de la entrada existente.<id>
Para obtener más información sobre las claves de firma del inicio de sesión único basado en SAML, consulta Cómo generar claves y certificados para el servicio de inicio de sesión único de Google Workspace.
Cuando actualices la clave de firma del inicio de sesión único, envía una solicitud PUT
HTTP a la URL del feed de la clave de firma del SSO:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/sso/signingkey
El XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='signingKey' value='yourBase64EncodedPublicKey'/>
</atom:entry>
No se permiten los cambios en la configuración del inicio de sesión único cuando el cliente objetivo habilitó la aprobación de varias partes para acciones sensibles. Las solicitudes fallarán con errorCode="1811"
y reason="LegacyInboundSsoChangeNotAllowedWithMultiPartyApproval"
.
Administración del enrutamiento y la puerta de enlace de correo electrónico
En la sección de la puerta de enlace de correo electrónico saliente, se muestra cómo la API de Admin Settings admite el enrutamiento saliente del correo electrónico de los usuarios de tu dominio. En la sección de enrutamiento de correo electrónico, se muestra cómo enrutar mensajes a otro servidor de correo electrónico.
Recuperando la configuración de la puerta de enlace de correo electrónico saliente
Para recuperar la configuración de la puerta de enlace de correo electrónico saliente, envía una solicitud GET
HTTP a la URL del feed de la puerta de enlace y, luego, incluye un encabezado Authorization
como se describe en Autenticación en el servicio de configuración del administrador:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Una respuesta correcta devuelve un código de estado HTTP 200 OK, junto con un feed de AtomPub con la información de estado de la puerta de enlace de correo electrónico.
La respuesta GET
devuelve las propiedades smartHost
y smtpMode
. Para obtener más información sobre estas propiedades, consulta Cómo actualizar la configuración de la puerta de enlace de correo electrónico saliente.
Un ejemplo de una posible respuesta es el siguiente:
<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
...
<apps:property name='smartHost' value='smtpout.domain.com'/>
<apps:property name='smtpMode' value='SMTP'/>
</entry>
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
Actualiza la configuración de la puerta de enlace de correo electrónico saliente
Para actualizar la configuración de la puerta de enlace de correo electrónico saliente de un dominio, envía una solicitud PUT
HTTP a la URL del feed de la puerta de enlace:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/email/gateway
El XML de la solicitud PUT
es el siguiente:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='smartHost' value='smtp.out.domain.com' />
<apps:property name='smtpMode' value='SMTP' />
</atom:entry>
Las propiedades de la solicitud son las siguientes:
- smartHost
- La dirección IP o el nombre de host de tu servidor SMTP. Google Workspace enruta el correo electrónico saliente a este servidor.
- smtpMode
- El valor predeterminado es SMTP. Otro valor, SMTP_TLS, protege una conexión con TLS cuando se entrega el mensaje.
Una respuesta correcta devuelve un código de estado HTTP 200 OK
, junto con el feed de AtomPub con el estado de la configuración de la puerta de enlace de correo electrónico.
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
Administra la configuración de enrutamiento de correo electrónico
Primero, crea una solicitud XML:
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:apps="http://schemas.google.com/apps/2006">
<apps:property name='routeDestination' value='route-smtp.domain.com'/>
<apps:property name='routeRewriteTo' value='true'/>
<apps:property name='routeEnabled' value='true'/>
<apps:property name='bounceNotifications' value='true'/>
<apps:property name='accountHandling' value='can be either allAccounts | provisionedAccounts | unknownAccounts'/>
</atom:entry>
Las propiedades de la solicitud son las siguientes:
- routeDestination
- Este destino es el nombre de host o la dirección IP del servidor de correo electrónico SMTP-In al que se enruta el correo electrónico. El nombre de host o la dirección IP deben resolverse para Google. Para obtener más detalles sobre la resolución de nombres de host de correo electrónico, consulta Piloto de Google Workspace con enrutamiento de correo electrónico.
- routeRewriteTo
- Si es verdadero, el campo
to:
del sobre SMTP del mensaje se cambia al nombre de host de destino (usuario@nombre de host de destino), y el mensaje se entrega a la dirección de este usuario en el servidor de correo de destino. Si esfalse
, el correo electrónico se entrega en la dirección de correo electrónicoto:
del mensaje original (usuario@nombre de host original) en el servidor de correo de destino. Este parámetro es similar al de "Cambiar sobre SMTP" de la Consola del administrador. Para obtener más información, consulta Configuración del dominio para el enrutamiento de correo electrónico. - routeEnabled
- Si es
true
, se habilita la funcionalidad de enrutamiento de correo electrónico. Si esfalse
, la función está inhabilitada. - bounceNotifications
- Si es
true
, Google Workspace está habilitado para enviar notificaciones de rebote al remitente cuando falla una entrega. - accountHandling
Este parámetro de configuración determina cómo el enrutamiento de correo electrónico afecta a los diferentes tipos de usuarios del dominio:
allAccounts
: Entrega todo el correo electrónico a este destino.provisionedAccounts
: Envía correo a este destino si el usuario existe en Google Workspace.unknownAccounts
: Envía el correo a este destino si el usuario no existe en Google Workspace. Esto es similar al parámetro de configuración "Correo electrónico de entrega para" de la Consola del administrador. Para obtener más información sobre los requisitos previos y cómo usar el enrutamiento de correo, consulta Configuración del dominio para el enrutamiento de correo electrónico. ~ Para publicar esta solicitud, envía unPOST
HTTP a la URL del feed de enrutamiento de correo electrónico y, luego, incluye un encabezadoAuthorization
como se describe en Cómo autenticarse en el servicio de configuración del administrador:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/emailrouting
Una respuesta correcta devuelve un código de estado HTTP 200 OK
, junto con un feed de AtomPub con la información del archivo.
Si tu solicitud falla por algún motivo, se devolverá un código de estado diferente. Para obtener más información sobre los códigos de estado de las APIs de datos de Google, consulta Códigos de estado HTTP.
Los endpoints dejarán de estar disponibles el 31 de octubre de 2018
Dimos de baja los siguientes extremos como parte de este anuncio. Se retiraron el 31 de octubre de 2018 y ya no están disponibles.
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/defaultLanguage
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/organizationName
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/currentNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/general/maximumNumberOfUsers
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/supportPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/customerPIN
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/adminSecondaryEmail
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/edition
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/creationTime
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/accountInformation/countryCode
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/appearance/customLogo
- https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/verification/mx