Llamadas directas a la API

En este enfoque para interactuar con la API de Merchant, se realizan solicitudes sin procesar directamente a los extremos de la API, por lo general, a través de HTTP(S). Debes controlar de forma manual aspectos como la creación del cuerpo de la solicitud, la configuración de 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 la información de contacto del desarrollador.

El registro permite lo siguiente:

  • Crea un contacto técnico para tu cuenta de Merchant Center asignando el rol de 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 de servicio y la información sobre funciones nuevas, que podrían ser de menos interés para quienes no son desarrolladores.
  • Te permite trabajar con varias cuentas de comercio 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 developers). De esta manera, puedes obtener actualizaciones importantes para todas las cuentas de comercio que administras, siempre que la autenticación se realice con el proyecto de Google Cloud registrado.

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

Para registrarte con el developerRegistration.registerGcp método, 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 muestra 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 los permisos de los desarrolladores

Cuando te registras, sucede 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 agregarse como un 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

Se requiere el rol de API_DEVELOPER 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 accounts.users.patch método.

En el siguiente ejemplo, se muestra cómo actualizar un usuario para otorgarle los roles de ADMIN y API_DEVELOPER. Esto le permite administrar la cuenta por completo y también recibirá 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 tu contacto principal de desarrollador abandona tu organización, debes agregar al menos un desarrollador de respaldo.

Puedes agregar un usuario con el accounts.users.create método o actualizar uno con accounts.users.patch. Te recomendamos que le otorgues a este usuario los roles de 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 Cómo encontrar 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 lo siguiente 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 de producto del producto recién creado es en~US~tshirt-123. Puedes usar el accounts.products.get método 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 los datos de tus productos, consulta Descripción general de los productos en Merchant Center.