Administrar la información del catálogo

En esta página, se describe cómo administrar la información de tu producto después de importar un catálogo a la API de venta minorista. Puedes leer, escribir y borrar productos en tu catálogo.

Para mantener tu catálogo actualizado a medida que cambia la información del producto, importa el catálogo de la misma manera que la primera vez. Para obtener ayuda con la importación de tu catálogo, consulta Importa información del catálogo.

Sube un producto

curl

Crea un elemento de producto único con el método REST products.create.

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
      "title": "PRODUCT_TITLE",
      "categories": "Shoes & Accessories > Shoes"
    }' \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products?productID=PRODUCT_ID"

Si la solicitud se realiza correctamente, se muestra el objeto del producto, como en el siguiente ejemplo.

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID",
  "id": "PRODUCT_ID",
  "primaryProductId": "PRODUCT_ID",
  "type": "PRIMARY",
  "categories": [
    "Shoes & Accessories \u003e Shoes"
  ],
  "title": "product title",
  "availability": "IN_STOCK"
}

Java

public static Product createProduct(Product productToCreate, String productId)
    throws IOException {
  return getProductServiceClient().createProduct(
      DEFAULT_BRANCH_NAME, productToCreate, productId
  );
}

Actualiza la información de los productos

A medida que tu catálogo de productos cambia, puedes actualizarlo para subir cambios en productos como productos nuevos, precios y el estado de las acciones en tiempo real. Solo puedes subir productos que se hayan agregado o modificado. No es necesario volver a cargar todo el catálogo.

curl

Actualiza la información del producto mediante el método products.patch.

En el siguiente ejemplo, se actualiza el título de un producto específico:

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
       "title": "new-title-value"
    }" \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID?updateMask=title"

Si la solicitud se realiza correctamente, se muestra el objeto del producto, como en el siguiente ejemplo.

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID",
  "id": "PRODUCT_ID",
  "primaryProductId": "PRODUCT_ID",
  "type": "PRIMARY",
  "categories": [
    "Shoes & Accessories > Shoes"
  ],
  "title": "new product title",
  "availability": "IN_STOCK"
}

Java

public static Product updateProduct(Product productToUpdate) throws IOException {
  return getProductServiceClient().updateProduct(productToUpdate, FieldMask.getDefaultInstance());
}

Borra información del producto

Aunque la API de venta minorista proporciona una forma de borrar productos de tu catálogo, ten en cuenta que si registras un evento de usuario que se relaciona con un artículo de producto que se borró, la API de venta minorista no puede procesar el evento de usuario de forma correcta y podría borrarse. Además, incluir datos históricos de catálogos mejora la calidad de tu modelo y es fundamental para obtener buenas recomendaciones y resultados de la búsqueda.

Debes establecer el availability de los productos obsoletos en OUT_OF_STOCK en lugar de borrarlos.

curl

Para borrar un producto, usa el método delete y reemplaza PRODUCT_ID por el ID del producto que deseas borrar.

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"

Java

public static void deleteProduct(String productName) throws IOException {
  getProductServiceClient().deleteProduct(productName);
}

Recupera un elemento de producto

curl

Para recuperar un elemento de elemento, realiza una solicitud GET al extremo products y reemplaza PRODUCT_ID por el ID del producto que deseas recuperar:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"  \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"

Debería ver un resultado similar al siguiente:

{
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"
    "id": "PRODUCT_ID",
    "primaryProductId": "PRODUCT_ID",
    "type": "PRIMARY",
    "categories": [
      "Shoes & Accessories \u003e Shoes"
    ],
    "title": "product title",
    "availability": "IN_STOCK"
}

Java

public static Product getProduct(String productName) throws IOException {
  return getProductServiceClient().getProduct(productName);
}

Visualiza la información agregada sobre tu catálogo

Puedes ver la información agregada sobre tu catálogo y obtener una vista previa de los elementos de producto subidos en la pestaña Catálogo en la página de datos de venta minorista.

Cambia los tipos de producto

Cuando importas un producto, puedes especificar si el tipo del producto es principal, variante o una colección. Si el tipo de un producto cambia o se especificó de forma incorrecta, debes borrarlo y crearlo con el tipo actualizado especificado.

El tipo de producto se puede configurar como TYPE_UNSPECIFIED, PRIMARY, VARIANT o COLLECTION. Para obtener más detalles, consulta product.Type en la documentación de referencia.

Cambia la configuración a nivel de producto

Cuando importes un catálogo con Merchant Center, debes especificar si los productos son primarios o variantes. Si estos niveles de producto cambian o se especificaron de forma incorrecta, usa el siguiente procedimiento para corregir su configuración. Debes tener la función de IAM de administrador de venta minorista para completar este procedimiento.

  1. Asegúrate de que no se realicen importaciones mientras vuelves a configurar los niveles de producto. Esto garantiza que los datos no se suban en el nivel incorrecto.

  2. Borra todos los elementos de productos. Consulta products.delete. El catálogo debe estar completamente vacío antes de continuar con el siguiente paso.

  3. Vuelve a importar tus datos para cambiar la configuración a nivel del producto.

    Este procedimiento depende de cómo importes. Sigue el procedimiento adecuado en Importa información del catálogo para establecer los niveles de producto en su nueva configuración.

  4. Termina de importar el catálogo nuevo con la configuración del nivel modificada mediante el procedimiento que elegiste en Importa información del catálogo.

  5. Ajusta todos los modelos existentes.

    Para ajustar un modelo, ve a la página Modelos, haz clic en el nombre del modelo para ver su página de detalles y, luego, en Ajuste manual en la barra de botones.

    Ir a la página Modelos de venta minorista

    Para ajustar los detalles de los costos, consulta Precios.