Servicio de contenido de Shopping

para Shopping en Apps Script para administrar fichas de productos y cuentas de Merchant Center cuentas.

El servicio de contenido de Shopping te permite usar la API de Google Content for Shopping en Google Apps Script. Esta API les brinda a los usuarios de Google Merchant Center la capacidad de subir y administrar sus fichas de productos, y administrar sus cuentas de Merchant Center.

Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de Google Content for Shopping. Al igual que todos los servicios avanzados en Apps Script, el servicio de contenido de Shopping utiliza los mismos objetos, métodos y parámetros que la API pública.

Este es un servicio avanzado que se debe habilitar antes de usarlo.

Referencia

Para obtener información detallada sobre este servicio, consulta la documentación de referencia de la API de Google Content for Shopping. Al igual que todos los servicios avanzados en Apps Script, el servicio de contenido de Shopping utiliza los mismos objetos, métodos y parámetros que la API pública. Para obtener más información, consulta Cómo se determinan las firmas de métodos.

Para informar problemas y encontrar otra asistencia, consulta la guía de asistencia de la API de Google Content for Shopping.

Código de muestra

Ahora, te mostraremos cómo usar algunas funciones del servicio de contenido de Shopping.

Insertar producto

En este ejemplo, se muestra cómo insertar un solo producto en una cuenta de Merchant Center determinada.

advanced/shoppingContent.gs
/**
 * Inserts a product into the products list. Logs the API response.
 */
function productInsert() {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  // Create a product resource and insert it
  const productResource = {
    offerId: "book123",
    title: "A Tale of Two Cities",
    description: "A classic novel about the French Revolution",
    link: "http://my-book-shop.com/tale-of-two-cities.html",
    imageLink: "http://my-book-shop.com/tale-of-two-cities.jpg",
    contentLanguage: "en",
    targetCountry: "US",
    channel: "online",
    availability: "in stock",
    condition: "new",
    googleProductCategory: "Media > Books",
    productType: "Media > Books",
    gtin: "9780007350896",
    price: {
      value: "2.50",
      currency: "USD",
    },
    shipping: [
      {
        country: "US",
        service: "Standard shipping",
        price: {
          value: "0.99",
          currency: "USD",
        },
      },
    ],
    shippingWeight: {
      value: "2",
      unit: "pounds",
    },
  };

  try {
    response = ShoppingContent.Products.insert(productResource, merchantId);
    // RESTful insert returns the JSON object as a response.
    console.log(response);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    console.log("Failed with error: $s", e.error);
  }
}

Enumera productos

En este ejemplo, se muestra cómo enumerar tus productos para una cuenta de Merchant Center determinada.

advanced/shoppingContent.gs
/**
 * Lists the products for a given merchant.
 */
function productList() {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  let pageToken;
  let pageNum = 1;
  const maxResults = 10;
  try {
    do {
      const products = ShoppingContent.Products.list(merchantId, {
        pageToken: pageToken,
        maxResults: maxResults,
      });
      console.log(`Page ${pageNum}`);
      if (products.resources) {
        for (let i = 0; i < products.resources.length; i++) {
          console.log(`Item [${i}] ==> ${products.resources[i]}`);
        }
      } else {
        console.log(`No more products in account ${merchantId}`);
      }
      pageToken = products.nextPageToken;
      pageNum++;
    } while (pageToken);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    console.log("Failed with error: $s", e.error);
  }
}

Insertar productos por lotes

En este ejemplo, se usa Products.custombatch para insertar tres productos al mismo tiempo.

advanced/shoppingContent.gs
/**
 * Batch updates products. Logs the response.
 * @param  {object} productResource1 The first product resource.
 * @param  {object} productResource2 The second product resource.
 * @param  {object} productResource3 The third product resource.
 */
function custombatch(productResource1, productResource2, productResource3) {
  const merchantId = 123456; // Replace this with your Merchant Center ID.
  custombatchResource = {
    entries: [
      {
        batchId: 1,
        merchantId: merchantId,
        method: "insert",
        productId: "book124",
        product: productResource1,
      },
      {
        batchId: 2,
        merchantId: merchantId,
        method: "insert",
        productId: "book125",
        product: productResource2,
      },
      {
        batchId: 3,
        merchantId: merchantId,
        method: "insert",
        productId: "book126",
        product: productResource3,
      },
    ],
  };
  try {
    const response = ShoppingContent.Products.custombatch(custombatchResource);
    console.log(response);
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    console.log("Failed with error: $s", e.error);
  }
}

Actualizar impuestos a nivel de la cuenta

En este código de muestra, se usa Accounttax para actualizar la información fiscal a nivel de la cuenta de una cuenta de Merchant Center. Consulta nuestra guía de la API para obtener más información sobre los impuestos y el envío a nivel de la cuenta.

advanced/shoppingContent.gs
/**
 * Updates content account tax information.
 * Logs the API response.
 */
function updateAccountTax() {
  // Replace this with your Merchant Center ID.
  const merchantId = 123456;

  // Replace this with the account that you are updating taxes for.
  const accountId = 123456;

  try {
    const accounttax = ShoppingContent.Accounttax.get(merchantId, accountId);
    console.log(accounttax);

    const taxInfo = {
      accountId: accountId,
      rules: [
        {
          useGlobalRate: true,
          locationId: 21135,
          shippingTaxed: true,
          country: "US",
        },
        {
          ratePercent: 3,
          locationId: 21136,
          country: "US",
        },
        {
          ratePercent: 2,
          locationId: 21160,
          shippingTaxed: true,
          country: "US",
        },
      ],
    };

    console.log(
      ShoppingContent.Accounttax.update(taxInfo, merchantId, accountId),
    );
  } catch (e) {
    // TODO (Developer) - Handle exceptions
    console.log("Failed with error: $s", e.error);
  }
}