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.
Esta configuración de dominio incluye muchas de las funciones disponibles en la Consola del administrador de Google Workspace. Algunos ejemplos de usos de esta API 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 cumple con el modelo de edición y publicación del Protocolo de Publicación Atom (AtomPub). Las solicitudes HTTP de AtomPub usan el enfoque de diseño de transferencia de conjuntos de representación (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 da por sentado que comprendes las ideas generales detrás del protocolo de la API 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 de administrador usa Cuentas de Google, por lo que, si ya tienes una cuenta en un dominio de Google Workspace, puedes comenzar a usarla.
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 de dominios:
- Configuración de inicio de sesión único
El inicio de sesión único (SSO) basado en SAML permite que los usuarios usen el mismo nombre de usuario y contraseña para los servicios alojados en Google Workspace y 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 los usuarios, así como configurar los vínculos a los que se deben dirigir los usuarios para acceder, salir y cambiar sus contraseñas. La API de Admin Settings te permite actualizar y recuperar esta configuración de forma programática. Google usa la 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 tu certificado de clave pública de tu proveedor de identidad, regístrala con Google y configura la configuración de consulta de SSO basada en SAML. Para ver los mensajes de error, consulta Solución de problemas de 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 de inicio de sesión único basadas en SAML, consulta Cómo generar claves y certificados para el servicio de inicio de sesión único de Google Workspace.
- Registrarse con 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 con Google.
- Configura el SSO: Usa la configuración de inicio de sesión único de la API de Admin Settings para configurar la configuración que se usa para comunicarse con los servidores del proveedor de identidad del dominio.
- Configuración de la puerta de enlace y el enrutamiento
Este feed permite que los administradores de dominio controlen el enrutamiento de los correos electrónicos de 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. Esto es similar a la función de enrutamiento de correo electrónico de la configuración de Gmail de la Consola del administrador. Para obtener más información, consulta Enrutamiento de correo electrónico y 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 lenguaje predeterminado del dominio, se muestra la sintaxis completa de XML y HTTP para el cuerpo de una solicitud y una entrada de 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 un 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 entry
de AtomPub de la solicitud PUT
de idioma predeterminado del dominio 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>
Excepto por 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 son comunes a todos los cuerpos de solicitud de la API de Admin Settings.
El elemento entry
de la respuesta del idioma predeterminado del dominio muestra 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 de inicio de sesión único
La función de inicio de sesión único (SSO) de Google Workspace permite a los usuarios acceder a varios servicios y, al mismo tiempo, ingresar un nombre de usuario y una contraseña solo 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 de inicio de sesión único.
Cómo recuperar la configuración de inicio de sesión único
Para recuperar la configuración de inicio de sesión único, envía un GET
HTTP a la URL del feed general de 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 Soluciona 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 muestra un código de estado HTTP 200 OK
, junto con un feed AtomPub con la configuración de SSO del dominio.
El XML de la respuesta GET muestra 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
- La URL del proveedor de identidad a la que Google Workspace envía la solicitud de SAML para la autenticación del usuario.
- samlLogoutUri
- Es la dirección a la que se enviará a los usuarios cuando salgan de la aplicación web.
- changePasswordUri
- Es la dirección a la que se enviará a los usuarios cuando quieran cambiar su contraseña de SSO para la aplicación web.
- enableSSO
- Habilita el SSO basado en SAML para este dominio. Si ya configuraste la configuración de SSO y, luego, estableciste
enableSSO
enenableSSO=false
, la configuración que ingresaste anteriormente se sigue guardando. - ssoWhitelist
- Una ssoWhitelist es una dirección IP de máscara de red en formato de enrutamiento entre dominios sin clases (CIDR). ssoWhitelist determina qué usuarios acceden con el SSO y qué usuarios acceden 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 el 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 empresas grandes que usan un solo proveedor de identidad para autenticar una organización completa con varios subdominios. Proporcionar la entidad emisora del dominio específico determina qué subdominio asociar con la solicitud. Para obtener más información, consulta ¿Cómo funciona el elemento emisor en la solicitud de SAML?
Si tu solicitud falla por algún motivo, se muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, consulta Códigos de estado HTTP.
Actualiza la configuración de 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 Cómo recuperar la configuración de inicio de sesión único, modifícala y, luego, envía una solicitud PUT
a la URL del feed de SSO. Asegúrate de que el valor de <id>
de la entrada actualizada coincida exactamente con el <id>
de la entrada existente. Incluye un encabezado Authorization
como se describe en Cómo autenticarse en el servicio de la API de Admin Settings. Además, para ver los mensajes de error, consulta Soluciona problemas de SSO.
Cuando actualices la configuración de 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 AtomPub con la configuración de SSO.
El XML de la respuesta 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 muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, consulta Códigos de estado HTTP.
No se permiten cambios en la configuración de 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 de inicio de sesión único
Para recuperar la clave de firma de inicio de sesión único, envía un GET
HTTP a la URL del feed de claves de firma de SSO y, luego, incluye un encabezado Authorization
como se describe en Cómo autenticarse en el servicio de configuración del administrador. Y, para ver los mensajes de error, consulta Soluciona 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 muestra un código de estado HTTP 200 OK
, junto con un feed AtomPub con la clave de firma.
El XML de la respuesta GET
muestra 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 muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, consulta Códigos de estado HTTP.
Actualiza la clave de firma de 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 Cómo recuperar la clave de firma de inicio de sesión único, 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>
de la entrada actualizada coincida exactamente con el <id>
de la entrada existente. Para obtener más información sobre las claves de firma de inicio de sesión único basadas 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 de inicio de sesión único, envía un PUT
HTTP a la URL del feed de claves de firma de 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 cambios en la configuración de 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"
.
Administra la puerta de enlace y el enrutamiento de correo electrónico
En la sección de puerta de enlace de correo electrónico saliente, se muestra cómo la API de Admin Settings admite el enrutamiento saliente de 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.
Cómo recuperar 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 un GET
HTTP a la URL del feed de la puerta de enlace y, luego, incluye un encabezado Authorization
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}/email/gateway
Esta operación no tiene parámetros en el cuerpo de la solicitud.
Una respuesta correcta muestra un código de estado HTTP 200 OK, junto con un feed AtomPub con la información de estado de la puerta de enlace de correo electrónico.
La respuesta GET
muestra 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 respuesta posible 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 muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, 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 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 muestra un código de estado HTTP 200 OK
, junto con el feed AtomPub con el estado de configuración de la puerta de enlace de correo electrónico.
Si tu solicitud falla por algún motivo, se muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, consulta Códigos de estado HTTP.
Cómo administrar 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 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 Cómo probar Google Workspace con el 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 (nombre de host de user@destination) y el mensaje se entrega a esta dirección de usuario en el servidor de correo de destino. Si esfalse
, el correo electrónico se entrega a la dirección de correo electrónicoto:
del mensaje original (user@nombre de host original) en el servidor de correo electrónico de destino. Esto es similar al parámetro de configuración "Cambiar sobre de 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
, la funcionalidad de enrutamiento de correo electrónico está habilitada. Si esfalse
, la funcionalidad está inhabilitada. - bounceNotifications
- Si es
true
, Google Workspace está habilitado para enviar notificaciones de rebote al remitente cuando se produce un error de entrega. - accountHandling
Este parámetro de configuración determina cómo se ven afectados los diferentes tipos de usuarios del dominio por el enrutamiento de correo electrónico:
allAccounts
: Envía todos los correos electrónicos a este destino.provisionedAccounts
: Entrega el correo electrónico 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 a la 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 electrónico, 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 de administrador:
https://apps-apis.google.com/a/feeds/domain/2.0/{domainName}/emailrouting
Una respuesta correcta muestra un código de estado HTTP 200 OK
, junto con un feed AtomPub con la información del archivo.
Si tu solicitud falla por algún motivo, se muestra un código de estado diferente. Para obtener más información sobre los códigos de estado de la API de Google Data, consulta Códigos de estado HTTP.
Desactivación de los extremos el 31 de octubre de 2018
Como parte de este anuncio, dimos de baja los siguientes extremos. 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