Llamadas directas a la API

En este enfoque para interactuar con la API de Merchant, se realizan solicitudes sin procesar directamente a los endpoints de la API, por lo general, a través de HTTP(S). Debes controlar de forma manual aspectos como la formación del cuerpo de la solicitud, la configuración de los encabezados (incluida la autenticación) y el análisis de la respuesta.

Paso 1: Registrarse como desarrollador

Para usar la API de Merchant, debes registrar tu información de contacto de desarrollador.

El registro logra lo siguiente:

  • Crea un contacto técnico para tu cuenta de Merchant Center asignando el rol API developer a un usuario. Esto permite que Google envíe actualizaciones importantes específicamente sobre la API y las funciones que usa el desarrollador, como anuncios del servicio y datos sobre funciones nuevas, que podrían ser de menos interés para quienes no son desarrolladores.
  • Te permite trabajar con varias cuentas de comerciante sin tener que registrarte varias veces. Cuando te registras, el ID del proyecto de Google Cloud que se usa para autenticarte en la API de Merchant se asocia con tu cuenta de Merchant Center, que tiene los contactos técnicos (los API developer). De esta manera, puedes obtener actualizaciones importantes para todas las cuentas de comerciante que administras, siempre y cuando la autenticación se realice con el proyecto de Google Cloud registrado.

Cuando te registres, ten en cuenta los requisitos previos y las restricciones que se detallan en Registro.

Para registrarte con el método developerRegistration.registerGcp, puedes comenzar con este ejemplo y reemplazar {DEVELOPER_EMAIL} por la dirección de correo electrónico adecuada en el cuerpo de la solicitud.

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/developerRegistration:registerGcp

{
  "developerEmail": "{DEVELOPER_EMAIL}"
}

Una llamada exitosa devuelve un recurso DeveloperRegistration, que confirma el vínculo entre tu proyecto y tu cuenta.

{
  "name": "accounts/{ACCOUNT_ID}/developerRegistration",
  "gcpIds": [
    "123456789012345"
  ]
}

Paso 2: Administra los contactos y permisos de los desarrolladores

Cuando te registres, ocurrirá lo siguiente:

  • Si la dirección de correo electrónico pertenece a un usuario de la cuenta de Merchant Center, se le otorga el rol de API_DEVELOPER.
  • Si la dirección de correo electrónico no pertenece a un usuario existente, se envía una invitación a esa dirección. El destinatario debe aceptar la invitación para que se lo agregue como usuario nuevo con el rol de API_DEVELOPER.

Después del registro inicial, te recomendamos que agregues varios desarrolladores y les otorgues derechos de acceso adicionales.

Paso 2a. Otorga permisos adicionales

El rol API_DEVELOPER es necesario para recibir notificaciones importantes, pero 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, consulta Tipos de acceso.

Puedes actualizar los derechos de acceso de un usuario con el método accounts.users.patch.

En el siguiente ejemplo, se muestra cómo actualizar un usuario para otorgarle los roles ADMIN y API_DEVELOPER. Esto les permite administrar por completo la cuenta y, además, recibirán comunicaciones relacionadas con la API.

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/users/{DEVELOPER_EMAIL}?update_mask=access_rights
{
  "access_rights": [
    "ADMIN",
    "API_DEVELOPER"
  ]
}

Paso 2b. Agrega desarrolladores de respaldo

Para evitar que se interrumpa el acceso a la API si el contacto principal del desarrollador abandona tu organización, debes agregar al menos un desarrollador de respaldo.

Puedes agregar un usuario con el método accounts.users.create o actualizar uno con accounts.users.patch. Te recomendamos que le otorgues a este usuario los roles ADMIN y API_DEVELOPER.

Paso 3: Crea una fuente de datos de productos principal

Para insertar un producto, necesitas una fuente de datos de productos principal. En la siguiente solicitud, se muestra cómo crear una fuente de datos que puedes usar para insertar un producto en tu cuenta:

POST https://merchantapi.googleapis.com/datasources/v1/accounts/{ACCOUNT_ID}/dataSources

{
  "primaryProductDataSource": {
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "feedLabel": "US"
  },
  "name": "primary-data-source",
  "displayName": "Primary Products Data Source"
}

Reemplaza {ACCOUNT_ID} por el ID de la cuenta de Merchant Center que creaste.

Después de ejecutar esta solicitud correctamente, deberías ver la siguiente respuesta:

{
  "name": "accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}",
  "dataSourceId": "{DATASOURCE_ID}",
  "displayName": "Primary Products Data Source",
  "primaryProductDataSource": {
    "feedLabel": "US",
    "contentLanguage": "en",
    "countries": [
      "US"
    ],
    "defaultRule": {
      "takeFromDataSources": [
        {
          "self": true
        }
      ]
    }
  },
  "input": "API"
}

Copia el valor del campo name. Lo necesitarás para insertar un producto.

Puedes ver esta fuente de datos en la IU de Merchant Center. Para obtener más información, consulta Dónde está la pestaña Fuentes de datos.

Paso 4: Insertar un producto

Una vez que crees la fuente de datos, intenta insertar un producto en ella. Ejecuta el siguiente comando y proporciona el ACCOUNT_ID correcto. Reemplaza {DATASOURCE_NAME} por el valor que copiaste antes.

POST https://merchantapi.googleapis.com/products/v1/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE_NAME}
{
  "contentLanguage": "en",
  "feedLabel": "US",
  "name": "Red T-shirt",
  "productAttributes": {
    "gender": "MALE",
    "brand": "New brand"
  },
  "offerId": "tshirt-123"
}

Después de ejecutar esta solicitud correctamente, deberías ver la siguiente respuesta:

{
  "name": "accounts/{ACCOUNT_ID}/productInputs/en~US~tshirt-123",
  "product": "accounts/{ACCOUNT_ID}/products/en~US~tshirt-123",
  "offerId": "tshirt-123",
  "contentLanguage": "en",
  "feedLabel": "US",
  "productAttributes": {
    "brand": "New brand",
    "gender": "MALE"
  }
}

El ID del producto recién creado es en~US~tshirt-123. Puedes usar el método accounts.products.get para recuperar detalles sobre este producto. También puedes usar la IU de Merchant Center para ver este producto. Para obtener más información sobre cómo ver tus datos de productos, consulta Descripción general de los productos en Merchant Center.