Preguntas frecuentes

En esta sección, se abordan las preguntas frecuentes sobre el registro de desarrolladores para la API de Merchant.

Registro general

Preguntas frecuentes sobre el proceso de registro:

¿Es obligatorio el registro de desarrolladores para usar la API de Merchant?

Sí. Debes registrar tu información de contacto de desarrollador para que Google pueda enviarte actualizaciones importantes específicas de la API, como anuncios de servicio y novedades sobre funciones.

Si solo quieres explorar y probar la API de Merchant, puedes usar herramientas como Google OAuth Playground y API Explorer, que no requieren registro.

¿Con qué frecuencia debo registrarme?

El registro es una configuración única para cada proyecto de Google Cloud. Ya sea que trabajes con varias cuentas de comerciante o no, debes realizar la operación de registro solo una vez, y se aplicará a todos los usuarios y cuentas de servicio del proyecto de Google Cloud vinculado.

Una vez que se registra correctamente un proyecto de Google Cloud, el vínculo permanece activo, a menos que se quite de forma explícita llamando al método unregisterGcp. No puedes registrar proyectos compartidos propiedad de Google, como el Explorador de APIs o OAuth Playground.

¿Qué dirección de correo electrónico debo proporcionar como contacto del desarrollador?

Te recomendamos que uses la dirección de correo electrónico corporativa de una persona. Como alternativa, puedes usar alias de grupos generales. No puedes usar correos electrónicos de cuentas de servicio, ya que las comunicaciones están dirigidas a destinatarios humanos. Google envía actualizaciones importantes específicas de la API, como anuncios de servicio y novedades.

Si la dirección de correo electrónico pertenece a un usuario existente en la cuenta de Merchant Center, se le otorga automáticamente el rol de API_DEVELOPER. De lo contrario, se envía una invitación a esa dirección.

El campo de dirección de correo electrónico de contacto del desarrollador es opcional en el método registerGcp. Si, cuando te registras, no proporcionas un valor para este campo, debes crear un usuario que tenga el rol de API_DEVELOPER en la IU de Merchant Center o llamando al método accounts.users.create.

¿El correo electrónico de contacto del desarrollador debe ser una Cuenta de Google?

Sí. Para usar un correo electrónico existente que no sea de Google, puedes asociarlo a una Cuenta de Google. Para ello, elige la opción Usar tu correo electrónico existente en el proceso de registro de Crear una Cuenta de Google. No puedes usar correos electrónicos de cuentas de servicio, ya que estas no pueden recibir correos electrónicos.

¿Cómo realizo la autenticación y la autorización para la llamada de registro?

Según tu caso de uso, hay dos situaciones de autenticación distintas disponibles para la autenticación y autorización de la llamada de registro:

  • OAuth 2.0: Para proveedores externos o agencias que administran varias cuentas de comerciante
  • Cuentas de servicio: Para acceder a tu propia cuenta de Merchant Center

Texto alternativo para la accesibilidad

En el diagrama anterior, se muestran los dos flujos de autenticación y autorización para la llamada de registro. Puedes elegir entre las siguientes opciones:

  • Usar OAuth con una dirección de correo electrónico, como account@email.com, asociada a una Cuenta de Google
  • Usar una cuenta de servicio, como sa@project.iam.gserviceaccount.com

Si decides usar OAuth, haz lo siguiente:

  • Crea credenciales de OAuth en tu proyecto de Google Cloud para tu correo electrónico
  • Asegúrate de que la dirección de correo electrónico de autorización exista en tu cuenta de Merchant Center y de que tenga el tipo de acceso ADMIN.

Si decides usar una cuenta de servicio, haz lo siguiente:

  • Asegúrate de que la cuenta de servicio exista en tu proyecto de Google Cloud.
  • Asegúrate de que la dirección de correo electrónico asociada con la cuenta de servicio exista en tu cuenta de Merchant Center y que tenga el tipo de acceso ADMIN.

Realiza la llamada de registro en el contexto de seguridad de la identidad de autenticación, ya sea con llamadas directas a la API o con bibliotecas cliente. Proporciona una dirección de correo electrónico para el contacto del desarrollador, por ejemplo, developer@email.com.

Si la llamada de registro se realiza correctamente, existirá un usuario en tu cuenta de Merchant Center con la dirección de correo electrónico del desarrollador proporcionada y el rol de API_DEVELOPER. Recibirás como respuesta un recurso DeveloperRegistration.

¿Cuál es la diferencia entre el correo electrónico de autenticación y el correo electrónico de contacto del desarrollador?

Las dos direcciones de correo electrónico tienen propósitos distintos dentro del ecosistema de la API de Merchant:

  • Correo electrónico de autenticación: Por lo general, usas un correo electrónico asociado a tu cuenta de Google o a una cuenta de servicio como identidad para autorizar solicitudes a la API de Merchant, siempre que se cumplan las siguientes condiciones:
    • Existe en tu cuenta de Merchant Center y tiene el rol de ADMIN.
    • Un proyecto de Google Cloud que tiene habilitada la API de Merchant aloja el cliente de OAuth o la cuenta de servicio asociada con el correo electrónico que autoriza las llamadas a la API.
  • Correo electrónico de contacto del desarrollador: El correo electrónico de contacto del desarrollador también debe estar asociado a una Cuenta de Google, pero sirve como contacto principal para los anuncios de servicio importantes y las actualizaciones de la API de Google. Puede pertenecer a un usuario o a un grupo de usuarios. De forma predeterminada, obtiene el rol de API developer en Merchant Center.

¿Debo aceptar la invitación que recibí en el correo electrónico de contacto del desarrollador?

Sí. El destinatario del correo electrónico de contacto del desarrollador que proporciones tendrá 14 días para aceptar la invitación. El registro solo se completará después de que acepte la invitación. Sin embargo, puedes realizar llamadas a la API durante este período.

Si no se acepta la invitación en el tiempo especificado, el vínculo de invitación vence. Ya no puedes realizar llamadas a la API de Merchant y debes reiniciar el proceso de registro.

Administración de cuentas y proyectos

Preguntas frecuentes sobre la administración de cuentas y proyectos:

Trabajo con varias cuentas de Merchant Center. ¿Debo registrar todas las cuentas de Merchant Center que quiero usar con la API de Merchant?

No. Si eres un desarrollador externo o una agencia que administra varias cuentas de comerciantes, debes registrar tu proyecto de Google Cloud con tu propia cuenta principal de Merchant Center, no con cada una de las cuentas de tus comerciantes. De esta manera, representas al desarrollador para todo el trabajo de la API que realices para tus comercios.

Trabajo con varias cuentas de Merchant Center. ¿Cómo elijo mi cuenta principal de Merchant Center?

Elegir la cuenta principal que se usará depende del tipo de empresa:

  • Mercados con una cuenta avanzada existente: Si tu empresa opera como mercado y ya tiene una cuenta avanzada que representa a toda la plataforma, usa el ID de cuenta existente como la cuenta principal de Merchant Center.
  • Servicios de comparación de productos (CSS): Si eres un CSS, usa tu ID de cuenta de CSS único o el ID de cuenta del grupo de CSS.
  • Agencias, desarrolladores y otros terceros: Si eres una empresa externa, como una agencia o un desarrollador externo, que administra varias cuentas de comerciante y no tiene un solo ID de Merchant Center que represente a tu empresa, debes crear una cuenta principal nueva de Merchant Center y solicitar que se convierta en una cuenta avanzada.

Una vez que tu proyecto de Google Cloud esté registrado en tu cuenta principal de Merchant Center, podrás usar ese mismo proyecto para administrar cualquier otra cuenta de Merchant Center a la que tengas acceso, sin necesidad de registrar esas cuentas de forma individual.

Uso varios proyectos de Google Cloud. ¿Debo registrar cada uno?

Sí. Dado que el proceso de registro vincula el proyecto de Google Cloud que realiza la llamada, debes realizar la llamada a registerGcp desde cada proyecto de Google Cloud que uses para realizar llamadas a la API.

Un solo proyecto de Google Cloud solo se puede registrar en exactamente una cuenta de Merchant Center a la vez. Sin embargo, una sola cuenta de Merchant Center puede tener varios proyectos de Google Cloud registrados. Del mismo modo, puedes usar la misma dirección de correo electrónico del desarrollador para realizar varios registros en varios proyectos de Google Cloud o en varios Centros de Merchant.

¿Qué sucede si registro un proyecto de Google Cloud con varias cuentas de Merchant Center?

Si intentas registrar un proyecto de Google Cloud que ya está registrado en otra cuenta de Merchant Center, se generará un error ALREADY_REGISTERED.

¿Cómo autentico la llamada a la API de registro de desarrolladores?

Para autenticar la llamada a la API de Developer Registration para la API de Merchant, debes usar credenciales administradas a través de un proyecto de Google Cloud. Tienes dos opciones principales para la identidad que realiza la autenticación:

  • Cuenta de Google, como Gmail, con OAuth 2.0: Este método usa credenciales de cliente de OAuth 2.0 generadas en tu proyecto de Google Cloud. La llamada a la API se autoriza en nombre de una Cuenta de Google específica a la que accede el usuario.
  • Cuenta de servicio: Este método usa una cuenta de servicio de Google Cloud, que es un tipo especial de Cuenta de Google diseñada para aplicaciones. Las credenciales de la cuenta de servicio también se administran dentro de tu proyecto de Google Cloud.

Para que el registro del desarrollador se realice correctamente, la identidad de autenticación (Cuenta de Google o cuenta de servicio) debe cumplir con los siguientes criterios en Merchant Center:

  • Existe como usuario en Merchant Center: La dirección de correo electrónico asociada con la Cuenta de Google de autenticación o la cuenta de servicio debe agregarse como usuario en la cuenta de Merchant Center que registras.
  • Se requiere el rol de administrador: Este usuario debe tener asignado el rol de ADMIN en esa cuenta específica de Merchant Center.

Cuando realices las llamadas a la API, ten en cuenta lo siguiente:

  • Si usas llamadas directas a la API, debes obtener y proporcionar un token de acceso válido en el encabezado Authorization. Este token se genera a través del flujo de OAuth 2.0 para una Cuenta de Google o el flujo de autenticación de servidor a servidor para una Cuenta de servicio.
  • Las bibliotecas cliente que proporciona Google suelen controlar las complejidades de obtener y actualizar los tokens de acceso por ti como parte de su configuración.

Es posible que el usuario que se autentica no sea el mismo que el usuario de contacto del desarrollador. Para obtener más información, consulta ¿Cuál es la diferencia entre el correo electrónico de autenticación y el correo electrónico de contacto del desarrollador?

¿Con qué frecuencia debo actualizar los tokens de acceso?

Los tokens de acceso para las cuentas de servicio y OAuth 2.0 suelen vencer después de 1 hora. Sin embargo, el mecanismo para obtener uno nuevo depende del método de autenticación que uses:

  • Las cuentas de servicio usan una clave privada o credenciales del entorno para crear un token de acceso nuevo cuando sea necesario.
  • Los flujos de OAuth 2.0 usan un refresh_token para llamar al extremo del token de Google OAuth2 y recibir un nuevo token de acceso de 1 hora.

Te recomendamos que uses las bibliotecas de autenticación oficiales de Google, que controlan esta rotación automáticamente para que tu aplicación nunca experimente tiempo de inactividad.

Usuarios y roles

Preguntas frecuentes sobre usuarios y roles:

¿La cuenta de correo electrónico del desarrollador ya debe existir en Merchant Center?

No. Si la cuenta de correo electrónico de registro aún no existe en Merchant Center, la API de Merchant crea la cuenta en Merchant Center con el correo electrónico especificado en estado pendiente. Si la dirección de correo electrónico del desarrollador pertenece a un usuario existente en la cuenta de Merchant Center, se le otorga automáticamente el rol de API_DEVELOPER.

¿El correo electrónico de contacto del desarrollador debe tener derechos de administrador en Merchant Center?

No. De forma predeterminada, el usuario de Merchant Center asociado con la dirección de correo electrónico de contacto del desarrollador obtiene el rol de API_DEVELOPER que se requiere para recibir notificaciones importantes. Sin embargo, tiene permisos mínimos en Merchant Center. Para permitir que este usuario realice otras llamadas a la API o administre la configuración en la IU de Merchant Center, debes otorgarle roles adicionales, como STANDARD o ADMIN. Para obtener más información sobre los roles de Merchant Center, consulta Tipos de acceso.

¿Qué permisos tiene el rol de "Desarrollador de APIs"?

El rol API Developer es un rol con derechos mínimos en Merchant Center. Si planeas usar el correo electrónico de contacto del desarrollador para autorizar llamadas a la API de Merchant, te recomendamos que agregues permisos de ADMIN o STANDARD para permitir que el usuario realice llamadas a la API.

¿Debo registrar cada cuenta de servicio o usuario desarrollador que llame a la API?

No. El registro de desarrollador está vinculado al proyecto de Google Cloud que se usa para realizar las llamadas a la API, no a usuarios individuales ni a cuentas de servicio. Una vez que se registra correctamente un proyecto de Google Cloud en tu cuenta principal de Merchant Center, puedes usar cualquier identidad que se administre a través del proyecto de Google Cloud vinculado con credenciales de OAuth o cuentas de servicio para autorizar llamadas a la API de Merchant, siempre que existan en tu cuenta de Merchant Center y tengan asignado el rol de ADMIN.

¿Cómo cambio el correo electrónico de contacto del desarrollador después del registro inicial?

Para administrar o cambiar contactos, usa el servicio estándar accounts.users o la página "Acceso y servicios" en la IU de Merchant Center para agregar o quitar usuarios con el rol de API Developer.

¿Qué sucede si se quita el último usuario "Desarrollador de la API" de la cuenta de Merchant Center?

Se activa un período de gracia de 30 días para evitar una interrupción inmediata del servicio. Durante este período, ocurrirá lo siguiente:

  • Los administradores recibirán tres anuncios obligatorios del servicio por correo electrónico (por lo general, alrededor de 30, 17 y 4 días antes del bloqueo).
  • Las llamadas a la API seguirán funcionando con normalidad.
  • Si no se agrega un nuevo API Developer antes de que venza el período de gracia, se bloquearán las llamadas a la API de los proyectos de Google Cloud asociados con un error AUTH_GCP_NOT_REGISTERED.

Cuando finaliza el período de gracia de 30 días, se bloquean las llamadas a la API de los proyectos de Google Cloud asociados y se muestra un error AUTH_GCP_NOT_REGISTERED hasta que se restablece un contacto de desarrollador válido.

¿Qué sucede si se borra el ID de Merchant Center en el que se realizó el registro del desarrollador?

No borres la cuenta de Merchant Center que se usó para el registro de desarrollador mientras tu integración esté activa. Si borras esta cuenta, se interrumpirá de inmediato tu integración y ya no podrás realizar llamadas a la API desde el proyecto de Google Cloud asociado.

Si debes borrar esa cuenta de Merchant Center, primero debes llamar al método unregisterGcp para quitar el vínculo de forma segura y, solo entonces, borrar el ID de Merchant Center. Si quieres seguir usando la API de Merchant, debes registrarte con otro ID de Merchant Center inmediatamente después de anular el registro del ID actual. Solo entonces, continúa con el borrado del ID de Merchant Center.

Casos de uso especiales

Preguntas frecuentes sobre casos de uso especiales:

Soy una agencia o un desarrollador externo que administra varias cuentas de comerciante. ¿Cuál es la mejor manera de configurarlo?

Los desarrolladores y las agencias externos deben mantener su propia cuenta principal de Merchant Center y registrar todos sus proyectos de Google Cloud en esa cuenta única y centralizada. No registres tu proyecto de Google Cloud en la cuenta de cada comercio individual.

¿Cómo funciona el registro de Google Apps Script?

Por lo general, los scripts de Apps se ejecutan en un proyecto predeterminado de Google Cloud. Debes registrar este ID predeterminado de Google Cloud en tu cuenta de Merchant Center. La API obtiene automáticamente el ID de Google Cloud, por lo que no es necesario que lo proporciones como parámetro.

¿Puedo verificar si un ID de Merchant Center está registrado en un ID de proyecto de Google Cloud específico?

Sí. Puedes verificar qué ID de Merchant Center está registrado en un proyecto específico de Google Cloud con el método getAccountForGcpRegistration. Para quitar un vínculo de un proyecto de Google Cloud a tu cuenta de Merchant Center, usa el método unregisterGcp.