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). Controlas de forma manual aspectos como la formació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 tu información de contacto de desarrollador.

El registro permite hacer 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 e información sobre funciones nuevas, que podrían ser de menor interés para los no desarrolladores.
  • Te permite trabajar con varias cuentas del comerciante sin tener que registrarte varias veces. Cuando te registras, el ID del proyecto de Google Cloud que se usa para la autenticación 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 recibir 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, observa 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 la vinculación entre tu proyecto y tu cuenta.

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

Paso 2: Administra los permisos y los contactos de 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, a ese usuario 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 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 de 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 de ADMIN y API_DEVELOPER. Esto les permite administrar la cuenta por completo y también 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 copias de seguridad

Para evitar que se interrumpa tu acceso a la API si tu contacto principal de desarrollador deja 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 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 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. Consulta Cómo visualizar tus datos de productos.