Importar informações do catálogo

Nesta página, descrevemos como importar as informações do seu catálogo e mantê-las atualizadas.

Os procedimentos de importação nesta página se aplicam às recomendações e à pesquisa. Depois que você importa dados, ambos os serviços podem usar esses dados. Portanto, não é necessário importar os mesmos dados duas vezes se você usar os dois serviços.

Tutorial em vídeo

Assista a este vídeo para saber como importar um catálogo usando a API Retail.

Importar dados do catálogo do BigQuery

Neste tutorial, você vai aprender a usar uma tabela do BigQuery para importar grandes quantidades de dados de catálogo sem limites.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Importar dados de catálogo do Cloud Storage

Neste tutorial, mostramos como importar um grande número de itens para um catálogo.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Importar dados de catálogo in-line

Neste tutorial, você vai aprender a importar produtos para um catálogo in-line.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Antes de começar

Antes de importar as informações do seu catálogo, é preciso concluir as instruções Antes de começar, especificamente Como configurar seu projeto, Como criar uma conta de serviço e Como adicionar a conta de serviço ao seu ambiente local.

É necessário ter o papel do IAM de administrador de varejo para realizar a importação.

Práticas recomendadas de importação de catálogo

Dados de alta qualidade são necessários para gerar resultados de alta qualidade. Se os dados não tiverem campos ou tiverem valores de marcador em vez de valores reais, a qualidade das previsões e dos resultados da pesquisa será prejudicada.

Ao importar dados do catálogo, implemente as seguintes práticas recomendadas:

  • Distinga com cuidado os produtos principais e as variantes. Antes de fazer upload de dados, consulte Níveis de produto.

    • Mudar a configuração no nível do produto depois de um esforço significativo na importação de dados. Os itens principais (não variantes) são retornados como resultados da pesquisa ou recomendações.

    • Exemplo: se o grupo de SKUs principal for Camisa com gola em V,o modelo de recomendação vai retornar uma camisa com gola em V e, talvez, camisas com gola redonda e em U. No entanto, se as variantes não forem usadas e cada SKU for um item principal, todas as combinações de cores ou tamanhos da camisa com gola em V serão retornadas como um item distinto no painel de recomendações: Camisa com gola em V marrom, tamanho GG, camisa com gola em V marrom, tamanho G até Camisa com gola em V branca, tamanho M, camisa com gola em V branca, tamanho P.

    • As coleções podem ser reconhecidas juntas desde que os IDs de variantes longas sejam incluídos com os IDs de produtos principais em collectionMemberIds[]. Isso faz com que uma coleção de produtos, em que um usuário pode ter comprado um ou mais itens do conjunto, seja capturada no evento do usuário, creditando todo o conjunto à compra. Isso facilita a veiculação de outros produtos da mesma coleção para o mesmo usuário em uma consulta relacionada futura.

    • Exemplo: um usuário já comprou uma capa de edredom. Por isso, produtos correspondentes em uma coleção de lençóis, como fronhas, são retornados.

  • Observe os limites de importação de itens do produto.

    • Para a importação em massa do Cloud Storage, o tamanho de cada arquivo precisa ser 2 GB ou menor. É possível incluir até 100 arquivos por vez em uma única solicitação de importação em massa.

    • Para realizar a importação in-line, importe no máximo 5 mil itens de cada vez.

  • Verifique se todas as informações de catálogo necessárias estão incluídas e corretas. Não use valores de marcador de posição.

  • Inclua o máximo possível de informações opcionais do catálogo.

  • Certifique-se de que todos os seus eventos usem uma única moeda, principalmente se você pretende usar o console doGoogle Cloud para ver métricas de receita. A API Vertex AI Search para Commerce não é compatível com o uso de várias moedas por catálogo.

  • Mantenha seu catálogo atualizado, de preferência todos os dias. A programação de importações periódicas de catálogo evita que a qualidade do modelo diminua com o tempo. É possível programar importações automáticas e recorrentes ao importar o catálogo usando o console da Pesquisa para comércio. Se preferir, use o Google Cloud Scheduler para automatizar importações.

  • Não registre eventos de usuário de itens de produtos que ainda não foram importados.

  • Depois de importar as informações do catálogo, revise os relatórios de erros e as informações de geração de registros do seu projeto. Se você encontrar mais do que alguns erros, revise-os e corrija os problemas de processo que os causaram.

Sobre a importação de dados do catálogo

É possível importar os dados de produtos do BigQuery ou especificar os dados in-line na solicitação. Cada um desses procedimentos são importações únicas, com exceção da vinculação do Merchant Center. Programe importações de catálogo regulares (de preferência, diariamente) para verificar se ele está atualizado.

Consulte Mantenha seu catálogo atualizado.

Também é possível importar itens de produtos individuais. Para mais informações, consulte Fazer upload de um produto.

Considerações sobre importação de catálogo

Nesta seção, descrevemos os métodos que podem ser usados para importação em lote dos dados de catálogo, quando você usa cada método e algumas das limitações deles.

BigQuery Descrição Importe dados de uma tabela do BigQuery carregada anteriormente que use o esquema da Pesquisa da Vertex AI para e-commerce ou o esquema do Merchant Center. Pode ser realizado usando o console do Google Cloud ou o curl.
Quando usar Se você tiver catálogos de produtos com muitos atributos. A importação do BigQuery usa o esquema da Pesquisa da Vertex AI para e-commerce, que tem mais atributos de produto do que outras opções de importação, incluindo atributos personalizados de chave-valor.

Se você tiver grandes volumes de dados. A importação do BigQuery não tem um limite de dados.

Se você já usa o BigQuery.
Limitações Exige a etapa extra de criação de uma tabela do BigQuery que é mapeada para o esquema da Vertex AI para Pesquisa de comércio.
Cloud Storage Descrição Importe dados em um formato JSON de arquivos carregados em um bucket do Cloud Storage. Cada arquivo precisa ter 2 GB ou menos e até 100 arquivos por vez são importados. A importação pode ser feita usando o console Google Cloud ou o curl. Usa o formato de dados JSON Product, que permite atributos personalizados.
Quando usar Se você precisa carregar uma grande quantidade de dados em uma única etapa
Limitações Não é ideal para catálogos com atualizações frequentes de inventário e preços, já que as alterações não são refletidas imediatamente.
Importação in-line Descrição Importação usando uma chamada para o método Product.import. Usa o objeto ProductInlineSource, que tem menos atributos de catálogo de produtos do que o esquema da Vertex AI para Pesquisa para Commerce, mas é compatível com atributos personalizados.
Quando usar Se você tem dados de catálogo planos e não relacionais ou uma alta frequência de atualizações de quantidade ou preço.
Limitações Apenas 100 itens do catálogo podem ser importados por vez. No entanto, muitas etapas de carregamento podem ser executadas: não há limite de itens.

Estrutura de dados de produtos para ingestão de catálogo

Nesta seção, descrevemos como preparar os dados de produtos para a ingestão de catálogo.

Produtos principais

Os produtos principais servem como contêineres para agrupar variantes de produto e como entradas na grade de pesquisa. Ter apenas atributos comuns compartilhados entre as variantes especificadas para produtos principais. São eles:

  • ID do produto principal
  • ID do produto (igual ao ID do produto principal)
  • Título
  • Descrição

Variantes de produto

Os produtos variantes herdam atributos comuns do produto principal, mas também podem especificar valores exclusivos.

Os atributos obrigatórios incluem:

  • Todos os atributos especificados para produtos principais (título, descrição). O preço, o título e a descrição podem ser diferentes do produto principal.
  • Atributos específicos da variante (cor, tamanho e outras variações relevantes do produto).

Recuperação de atributos

O processo de recuperação considera todos os atributos pesquisáveis para produtos principais e variantes.

Pontuação de relevância

A pontuação de relevância é baseada apenas nos campos de título e descrição. Para garantir a diferenciação adequada, modifique um pouco o título da variante em relação ao do produto principal (por exemplo, Nome do produto + Cor).

Correspondência de variantes nos resultados da pesquisa

A correspondência de variantes (por exemplo, vestido azul) filtra os resultados com base em atributos de variantes predefinidos, como cor e tamanho. Os resultados da pesquisa retornam até cinco variantes correspondentes para cada produto principal.

Limpar ramificações do catálogo

Se você estiver importando novos dados de catálogo para uma ramificação existente, é importante que ela esteja vazia para garantir a integridade dos dados importados para a ramificação. Quando a ramificação estiver vazia, você poderá importar novos dados de catálogo e vincular a ramificação a uma conta de comerciante.

Se você estiver veiculando previsões ou tráfego de pesquisa em tempo real e planejar limpar sua ramificação padrão, especifique outra ramificação como padrão antes de fazer isso. Como a ramificação padrão vai veicular resultados vazios depois de ser limpa, limpar uma ramificação padrão ativa pode causar uma interrupção.

Para limpar dados de uma ramificação do catálogo, siga estas etapas:

  1. Acesse a página Dados no console da Pesquisa para e-commerce.

    Acessar a página "Dados"

  2. Selecione uma ramificação do catálogo no campo Nome da ramificação.

  3. No menu de três pontos ao lado do campo Nome da ramificação, escolha Remover ramificação.

    Uma mensagem vai aparecer avisando que você está prestes a excluir todos os dados na ramificação, bem como os atributos criados para ela.

  4. Insira a ramificação e clique em Confirmar para limpar os dados do catálogo da ramificação.

    Uma operação de longa duração é iniciada para limpar os dados da ramificação do catálogo. Quando a operação de limpeza for concluída, o status dela será exibido na lista Catálogo de produtos na janela Status da atividade.

Sincronizar o Merchant Center com a Vertex AI para Pesquisa para comércio

O Merchant Center é uma ferramenta que você pode usar para disponibilizar os dados da sua loja e dos seus produtos para anúncios do Shopping e outros serviços do Google.

Para a sincronização contínua entre o Merchant Center e a Vertex AI para Pesquisa de comércio, vincule sua conta do Merchant Center à Vertex AI para Pesquisa de comércio.

Ao configurar uma sincronização do Merchant Center para a Vertex AI para Pesquisa para Commerce, você precisa ter o papel do IAM de administrador atribuído no Merchant Center. Embora uma função de acesso padrão permita ler os feeds do Merchant Center, ao tentar sincronizar o Merchant Center com a Vertex AI Search para Commerce, você recebe uma mensagem de erro. Portanto, antes de sincronizar o Merchant Center com a Vertex AI para Pesquisa para Commerce, faça upgrade da sua função.

Embora a Vertex AI para Pesquisa de comércio esteja vinculada à conta do Merchant Center, as mudanças nos dados de produtos dela são atualizadas automaticamente em minutos na Vertex AI para Pesquisa de comércio. Se você quiser impedir que as mudanças do Merchant Center sejam sincronizadas com a Pesquisa da Vertex AI para e-commerce, desvincule sua conta do Merchant Center.

Desvincular sua conta do Merchant Center não exclui produtos na Vertex AI para Pesquisa no comércio. Para excluir produtos importados, consulte Como excluir informações do produto.

Para sincronizar sua conta do Merchant Center, conclua as etapas a seguir.

Sincronizar sua conta do Merchant Center

Console do Cloud

  1. Acesse a página Dados no console da Pesquisa para e-commerce.

    Acessar a página "Dados"
  2. Clique em Importar para abrir o painel Importar dados.
  3. Escolha Catálogo de produtos.
  4. Selecione Merchant Center Sync como sua fonte de dados.
  5. Selecione sua conta do Merchant Center. Verifique Acesso do usuário se você não encontrar sua conta.
  6. Opcional: selecione Filtro de feeds do Merchant Center para importar apenas ofertas de feeds selecionados.

    Se não for especificado, as ofertas de todos os feeds serão importadas (incluindo feeds futuros).
  7. Opcional: para importar apenas ofertas segmentadas para determinados países ou idiomas, expanda Mostrar opções avançadas e selecione os países de venda e idiomas do Merchant Center para filtrar.
  8. Selecione a ramificação para fazer o upload do catálogo.
  9. Clique em Importar.

curl

  1. Verifique se a conta de serviço no seu ambiente local tem acesso à conta do Merchant Center e à Pesquisa da Vertex AI para e-commerce. Para verificar quais contas têm acesso à sua conta do Merchant Center, consulte Acesso do usuário para o Merchant Center.

  2. Use o método MerchantCenterAccountLink.create para estabelecer a vinculação.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
     --data '{
      "merchantCenterAccountId": MERCHANT_CENTER_ID,
      "branchId": "BRANCH_ID",
      "feedFilters": [
        {"dataSourceId": DATA_SOURCE_ID_1}
        {"dataSourceId": DATA_SOURCE_ID_2}
      ],
      "languageCode": "LANGUAGE_CODE",
      "feedLabel": "FEED_LABEL",
     }' \
     "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/locations/global/catalogs/default_catalog/merchantCenterAccountLinks"
    • MERCHANT_CENTER_ID: o ID da conta do Merchant Center.
    • BRANCH_ID: o ID da ramificação com que você quer estabelecer a vinculação. Aceita os valores "0", "1" ou "2".
    • LANGUAGE_CODE: (OPCIONAL) o código de idioma de duas letras dos produtos que você quer importar. Como visto no Merchant Center, na coluna Language do produto. Se não for definido, todos os idiomas serão importados.
    • FEED_LABEL: (OPCIONAL) o rótulo do feed dos produtos que você quer importar. Você pode conferir o rótulo do feed no Merchant Center, na coluna Rótulo do feed do produto. Se não for definido, todos os rótulos do feed serão importados.
    • FEED_FILTERS: (OPCIONAL) Lista de feeds principais de onde os produtos serão importados. Se você não selecionar feeds, todos os feeds da conta do Merchant Center serão compartilhados. Os IDs podem ser encontrados no recurso de datafeeds da API Content ou acessando o Merchant Center, selecionando um feed e recebendo o ID do feed do parâmetro afmDataSourceId no URL do site. Por exemplo, mc/products/sources/detail?a=MERCHANT_CENTER_ID&afmDataSourceId=DATA_SOURCE_ID.

Para ver seu Merchant Center vinculado, acesse a página Dados do console de pesquisa para comércio e clique no botão Merchant Center no canto superior direito. Isso abre o painel Contas do Merchant Center vinculadas. Também é possível adicionar outras contas do Merchant Center nesse painel.

Consulte Como visualizar informações agregadas sobre seu catálogo para instruções sobre como visualizar os produtos que foram importados.

Console do Cloud

  1. Acesse a página Dados no console da Pesquisa para e-commerce.

    Acessar a página "Dados"

  2. Clique no botão Merchant Center no canto superior direito da página para abrir uma lista das suas contas vinculadas do Merchant Center.

curl

Use o método MerchantCenterAccountLink.list para listar o recurso "links".

curl -X GET \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/merchantCenterAccountLinks"

Desvincular sua conta do Merchant Center impede que ela sincronize os dados de catálogo com a Vertex AI para Pesquisa no comércio. Esse procedimento não exclui nenhum produto na Vertex AI para Pesquisa para Commerce que já tenha sido enviado.

Console do Cloud

  1. Acesse a página Dados no console da Pesquisa para e-commerce.

    Acessar a página "Dados"

  2. Clique no botão Merchant Center no canto superior direito da página para abrir uma lista das suas contas vinculadas do Merchant Center.

  3. Clique em Desvincular ao lado da conta do Merchant Center que você quer desvincular e confirme sua escolha na caixa de diálogo exibida.

curl

Use o método MerchantCenterAccountLink.delete para remover o recurso MerchantCenterAccountLink.

curl -X DELETE \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
 -H "Content-Type: application/json; charset=utf-8" \
 "https://retail.googleapis.com/v2alpha/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/merchantCenterAccountLinks/BRANCH_ID_MERCHANT_CENTER_ID"

Limitações ao vincular ao Merchant Center

  • Uma conta do Merchant Center pode ser vinculada a qualquer número de ramificações de catálogo, mas uma única ramificação de catálogo só pode ser vinculada a uma conta do Merchant Center.

  • Uma conta do Merchant Center não pode ser uma conta de múltiplos clientes (MCA). No entanto, é possível vincular subcontas individuais.

  • A primeira importação depois de vincular sua conta do Merchant Center pode levar horas para ser concluída. O tempo depende do número de ofertas na conta do Merchant Center.

  • As modificações de produtos que usam os métodos da API são desativadas para ramificações vinculadas a uma conta do Merchant Center. Qualquer alteração nos dados do catálogo de produtos nessas ramificações precisa ser feita usando o Merchant Center. Essas mudanças são sincronizadas automaticamente com a Vertex AI para Pesquisa para Commerce.

  • O tipo de produto da coleção não é compatível com ramificações que usam o Merchant Center.

  • Sua conta do Merchant Center só pode ser vinculada a ramificações de catálogo vazias para garantir a precisão dos dados. Para excluir produtos de uma ramificação de catálogo, consulte Excluir informações do produto.

Importar dados do catálogo do BigQuery

Para importar dados do catálogo no formato correto do BigQuery, use o esquema da Pesquisa da Vertex AI para e-commerce para criar uma tabela do BigQuery com o formato correto e carregar a tabela vazia com os dados do catálogo. Em seguida, faça o upload dos seus dados para a Vertex AI para Pesquisa no comércio.

Para mais ajuda com as tabelas do BigQuery, consulte Introdução às tabelas. Para ajuda com as consultas do BigQuery, consulte Visão geral da consulta de dados do BigQuery.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Para importar seu catálogo:

  1. Se o conjunto de dados do BigQuery estiver em outro projeto, configure as permissões necessárias para que a Pesquisa da Vertex AI para e-commerce possa acessar o conjunto de dados do BigQuery. Saiba mais.

  2. Importe os dados do seu catálogo para a Vertex AI para Pesquisa no comércio.

    Console do Cloud

    1. Acesse a página Dados no console da Pesquisa para e-commerce.

      Acessar a página "Dados"
    2. Clique em Importar para abrir o painel Importar dados.
    3. Escolha Catálogo de produtos.
    4. Selecione BigQuery como sua fonte de dados.
    5. Selecione a ramificação para fazer o upload do catálogo.
    6. Escolha Esquema de catálogos de produtos de varejo. Este é o esquema de produto da Vertex AI para Pesquisa para Commerce.
    7. Insira a tabela do BigQuery em que seus dados estão localizados.
    8. Opcional: em Mostrar opções avançadas, insira o local de um bucket do Cloud Storage no projeto como um local temporário para seus dados.

      Se não for especificado, um local padrão será usado. Caso seja especificado, os buckets do BigQuery e do Cloud Storage precisam estar na mesma região.
    9. Se você não tiver a pesquisa ativada e estiver usando o esquema do Merchant Center, selecione o nível do produto.

      É necessário selecionar o nível do produto se esta for a primeira vez que você está importando o catálogo ou se estiver importando o catálogo novamente depois de limpá-lo. Saiba mais sobre os níveis de produto. Alterar os níveis de produto depois de importar todos os dados requer um esforço significativo.

      Importante:não é possível ativar a pesquisa de projetos com um catálogo de produtos que foi ingerido como variantes.
    10. Clique em Importar.

    curl

    1. Se esta for a primeira vez que você está carregando o catálogo ou se estiver importando o catálogo novamente após a limpeza, defina os níveis do produto usando o método Catalog.patch. Essa operação requer o papel de Administrador de varejo.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
       --data '{
         "productLevelConfig": {
           "ingestionProductType": "PRODUCT_TYPE",
           "merchantCenterProductIdField": "PRODUCT_ID_FIELD"
         }
       }' \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog"
    2. Crie um arquivo de dados para os parâmetros de entrada para a importação.

      Use o objeto BigQuerySource para apontar para o conjunto de dados do BigQuery.

      • DATASET_ID: o ID do conjunto de dados do BigQuery.
      • TABLE_ID: o ID da tabela do BigQuery que contém os dados.
      • PROJECT_ID: o ID do projeto em que está a origem do BigQuery. Se não for especificado, o ID do projeto será herdado da solicitação principal.
      • STAGING_DIRECTORY: opcional. Um diretório do Cloud Storage usado como um local temporário para seus dados antes de importá-los para o BigQuery. Deixe esse campo em branco para criar automaticamente um diretório temporário (recomendado).
      • ERROR_DIRECTORY: opcional. Um diretório do Cloud Storage para informações de erros sobre a importação. Deixe esse campo em branco para criar automaticamente um diretório temporário (recomendado).
      • dataSchema: para a propriedade dataSchema, use o valor product (padrão). Você vai usar o esquema da Vertex AI para Pesquisa para Commerce.

      Recomendamos que você não especifique diretórios de preparo ou erro para que um bucket do Cloud Storage com novos diretórios de preparo e erro seja criado automaticamente. Eles são criados na mesma região que o conjunto de dados do BigQuery e são exclusivos para cada importação, o que impede que vários jobs de importação organizem dados para o mesmo diretório e, possivelmente, reimportam os mesmos dados. de dados. Após três dias, o bucket e os diretórios são excluídos automaticamente para reduzir os custos de armazenamento.

      Um nome de bucket criado automaticamente inclui o ID do projeto, a região do bucket e o nome do esquema de dados, separados por sublinhados (por exemplo, 4321_us_catalog_retail). Os diretórios criados automaticamente são chamados de staging ou errors, anexados por um número (por exemplo, staging2345 ou errors5678).

      Se você especificar diretórios, o bucket do Cloud Storage precisará estar na mesma região do conjunto de dados do BigQuery. Caso contrário, a importação falhará. Forneça os diretórios de preparo e erro no formato gs://<bucket>/<folder>/. cada uma delas deve ser diferente.

      {
         "inputConfig":{
           "bigQuerySource": {
             "projectId":"PROJECT_ID",
             "datasetId":"DATASET_ID",
             "tableId":"TABLE_ID",
             "dataSchema":"product"}
            }
      }
    3. Importe as informações do seu catálogo fazendo uma solicitação POST para o método REST Products:import, fornecendo o nome do arquivo de dados (aqui, mostrado como input.json).

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" -d @./input.json \
      "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"

      É possível verificar o status de maneira programática usando a API. Você receberá um objeto de resposta com esta aparência:

      {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "done": false
      }

      O campo de nome é o ID do objeto de operação. Para solicitar o status desse objeto, substitua o campo de nome pelo valor retornado pelo método import, até o campo done retornar como true:

      curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456"

      Quando a operação for concluída, o objeto retornado terá um valor done de true e incluirá um objeto Status semelhante ao exemplo a seguir:

      { "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.retail.v2.ImportMetadata",
        "createTime": "2020-01-01T03:33:33.000001Z",
        "updateTime": "2020-01-01T03:34:33.000001Z",
        "successCount": "2",
        "failureCount": "1"
      },
      "done": true,
      "response": {
      "@type": "type.googleapis.com/google.cloud.retail.v2.ImportProductsResponse",
      },
      "errorsConfig": {
        "gcsPrefix": "gs://error-bucket/error-directory"
      }
      }

      Você pode inspecionar os arquivos no diretório de erros no Cloud Storage para ver se ocorreram erros durante a importação.

Configurar o acesso ao conjunto de dados do BigQuery

Para configurar o acesso quando o conjunto de dados do BigQuery estiver em um projeto diferente do serviço de pesquisa da Vertex AI para e-commerce, conclua as etapas a seguir.

  1. Abra a página do IAM no console Google Cloud .

    Abrir a página do IAM

  2. Selecione seu projeto da Vertex AI para Pesquisa para Commerce.

  3. Encontre a conta de serviço com o nome Conta de serviço de varejo.

    Se você ainda não iniciou uma operação de importação, essa conta de serviço pode não estar listada. Se essa conta de serviço não for exibida, retorne à tarefa de importação e inicie a importação. Quando ela falhar devido a erros de permissão, volte aqui e conclua esta tarefa.

  4. Copie o identificador da conta de serviço, que se parece com um endereço de e-mail (por exemplo, service-525@gcp-sa-retail.iam.gserviceaccount.com).

  5. Alterne para seu projeto do BigQuery (na mesma página IAM e administrador) e clique em  Conceder acesso.

  6. Em Novos principais, insira o identificador da conta de serviço da Pesquisa da Vertex AI para e-commerce e selecione o papel BigQuery > Usuário do BigQuery.

  7. Clique em Adicionar outro papel e selecione BigQuery > Editor de dados do BigQuery.

    Se você não quiser fornecer o papel de editor de dados a todo o projeto, adicione esse papel diretamente ao conjunto de dados. Saiba mais.

  8. Clique em Salvar.

Importar dados de catálogo do Cloud Storage

Para importar dados do catálogo no formato JSON, crie um ou mais arquivos JSON que contenham os dados do catálogo que você quer importar e faça o upload deles para o Cloud Storage. A partir daí, você pode importar para a Vertex AI para Pesquisa para Commerce.

Para ver um exemplo do formato de item JSON do produto, consulte Formato de dados JSON do item do produto.

Para ajuda sobre o upload de arquivos para o Cloud Storage, consulte Fazer upload de objetos.

  1. Verifique se a conta de serviço da Vertex AI Search para Commerce tem permissão para ler e gravar no bucket.

    A conta de serviço da Vertex AI Search para e-commerce está listada na página do IAM no console Google Cloud com o nome Conta de serviço de varejo. Use o identificador da conta de serviço, que se parece com um endereço de e-mail (por exemplo, service-525@gcp-sa-retail.iam.gserviceaccount.com) ao adicionar a conta às permissões do bucket.

  2. Importe os dados do catálogo.

    Console do Cloud

    1. Acesse a página Dados no console da Pesquisa para e-commerce.

      Acessar a página "Dados"
    2. Clique em Importar para abrir o painel Importar dados.
    3. Escolha Catálogo de produtos como sua fonte de dados.
    4. Selecione a ramificação para fazer o upload do catálogo.
    5. Escolha Esquema de catálogos de produtos de varejo.
    6. Insira o local dos seus dados no Cloud Storage.
    7. Se você não tiver a pesquisa ativada, selecione os níveis de produto.

      É necessário selecionar os níveis de produto se esta for a primeira vez que você está importando o catálogo ou se estiver importando o catálogo novamente depois de limpá-lo. Saiba mais sobre os níveis de produto. Alterar os níveis de produto depois de importar todos os dados requer um esforço significativo.

      Importante:não é possível ativar a pesquisa de projetos com um catálogo de produtos que foi ingerido como variantes.
    8. Clique em Importar.

    curl

    1. Se esta for a primeira vez que você está carregando o catálogo ou se estiver importando o catálogo novamente após a limpeza, defina os níveis do produto usando o método Catalog.patch. Saiba mais sobre os níveis de produto.

      curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
       --data '{
         "productLevelConfig": {
           "ingestionProductType": "PRODUCT_TYPE",
           "merchantCenterProductIdField": "PRODUCT_ID_FIELD"
         }
       }' \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog"
    2. Crie um arquivo de dados para os parâmetros de entrada para a importação. Use o objeto GcsSource para apontar para o bucket do Cloud Storage.

      É possível fornecer vários arquivos ou apenas um. este exemplo usa dois arquivos.

      • INPUT_FILE: um ou mais arquivos no Cloud Storage que contêm os dados do catálogo.
      • ERROR_DIRECTORY: um diretório do Cloud Storage para informações de erro sobre a importação.

      Os campos do arquivo de entrada precisam estar no formato gs://<bucket>/<path-to-file>/. O diretório de erro precisa estar no formato gs://<bucket>/<folder>/. Se o diretório de erros não existir, ele será criado. O bucket já precisa existir.

      {
      "inputConfig":{
       "gcsSource": {
         "inputUris": ["INPUT_FILE_1", "INPUT_FILE_2"]
        }
      },
      "errorsConfig":{"gcsPrefix":"ERROR_DIRECTORY"}
      }
    3. Importe as informações do seu catálogo fazendo uma solicitação POST para o método REST Products:import, fornecendo o nome do arquivo de dados (aqui, mostrado como input.json).

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" -d @./input.json \
      "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"

      A maneira mais fácil de verificar o status da operação de importação é usar o console Google Cloud . Para mais informações, consulte Como ver o status de uma operação de integração específica.

      Também é possível verificar o status de maneira programática usando a API. Você receberá um objeto de resposta com esta aparência:

      {
      "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "done": false
      }

      O campo de nome é o ID do objeto de operação. Solicite o status desse objeto e substitua o campo de nome pelo valor retornado pelo método de importação, até que o campo done retorne como true:

      curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      "https://retail.googleapis.com/v2/projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/[OPERATION_NAME]"

      Quando a operação for concluída, o objeto retornado terá um valor done de true e incluirá um objeto Status semelhante ao seguinte exemplo:

      { "name": "projects/PROJECT_ID/locations/global/catalogs/default_catalog/operations/import-products-123456",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.retail.v2.ImportMetadata",
        "createTime": "2020-01-01T03:33:33.000001Z",
        "updateTime": "2020-01-01T03:34:33.000001Z",
        "successCount": "2",
        "failureCount": "1"
      },
      "done": true,
      "response": {
      "@type": "type.googleapis.com/google.cloud.retail.v2.ImportProductsResponse"
      },
      "errorsConfig": {
        "gcsPrefix": "gs://error-bucket/error-directory"
      }
      }

      É possível inspecionar os arquivos no diretório de erros no Cloud Storage para ver que tipo de erros ocorreu durante a importação.

Importar dados de catálogo in-line

curl

Importe as informações do seu catálogo inline. Para isso, faça uma solicitação POST ao método REST Products:import usando o objeto productInlineSource para especificar os dados do catálogo.

Forneça um produto inteiro em uma única linha. Cada produto precisa estar em uma linha.

Para ver um exemplo do formato de item JSON do produto, consulte Formato de dados JSON do item do produto.

  1. Crie o arquivo JSON para seu produto e chame-o ./data.json:
{
"inputConfig": {
  "productInlineSource": {
      "products": [
        { PRODUCT_1 }
        { PRODUCT_2 }
      ]
    }
  }
}
  1. Chame o método POST:

    curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data @./data.json \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products:import"

Java

public static String importProductsFromInlineSource(
    List<Product> productsToImport)
    throws IOException, InterruptedException, ExecutionException {
  ProductServiceClient productClient = getProductServiceClient();

  ProductInlineSource inlineSource = ProductInlineSource.newBuilder()
      .addAllProducts(productsToImport)
      .build();

  ProductInputConfig inputConfig = ProductInputConfig.newBuilder()
      .setProductInlineSource(inlineSource)
      .build();

  ImportProductsRequest importRequest = ImportProductsRequest.newBuilder()
      .setParent(IMPORT_PARENT)
      .setRequestId(REQUEST_ID)
      .setReconciliationMode(ReconciliationMode.INCREMENTAL)
      .setInputConfig(inputConfig)
      .build();

  String operationName = productClient
      .importProductsAsync(importRequest).getName();

  productClient.shutdownNow();
  productClient.awaitTermination(2, TimeUnit.SECONDS);

  return operationName;
}

Formato de dados JSON do item do produto

As entradas Product no arquivo JSON devem ser semelhantes aos exemplos a seguir.

Forneça um produto inteiro em uma única linha. Cada produto precisa estar em uma linha.

Campos obrigatórios mínimos:

  {
    "id": "1234",
    "categories": "Apparel & Accessories > Shoes",
    "title": "ABC sneakers"
  }
  {
    "id": "5839",
    "categories": "casual attire > t-shirts",
    "title": "Crew t-shirt"
  }

Objeto completo:

  {
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/1234",
    "id": "1234",
    "categories": "Apparel & Accessories > Shoes",
    "title": "ABC sneakers",
    "description": "Sneakers for the rest of us",
    "attributes": { "vendor": {"text": ["vendor123", "vendor456"]} },
    "language_code": "en",
    "tags": [ "black-friday" ],
    "priceInfo": {
      "currencyCode": "USD", "price":100, "originalPrice":200, "cost": 50
    },
    "availableTime": "2020-01-01T03:33:33.000001Z",
    "availableQuantity": "1",
    "uri":"http://example.com",
    "images": [
      {"uri": "http://example.com/img1", "height": 320, "width": 320 }
    ]
  }
  {
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/4567",
    "id": "4567",
    "categories": "casual attire > t-shirts",
    "title": "Crew t-shirt",
    "description": "A casual shirt for a casual day",
    "attributes": { "vendor": {"text": ["vendor789", "vendor321"]} },
    "language_code": "en",
    "tags": [ "black-friday" ],
    "priceInfo": {
      "currencyCode": "USD", "price":50, "originalPrice":60, "cost": 40
    },
    "availableTime": "2020-02-01T04:44:44.000001Z",
    "availableQuantity": "2",
    "uri":"http://example.com",
    "images": [
      {"uri": "http://example.com/img2", "height": 320, "width": 320 }
    ]
  }

Dados históricos do catálogo

A Vertex AI para Pesquisa de comércio oferece suporte para importação e gerenciamento de dados históricos de catálogo. Os dados históricos do catálogo podem ser úteis quando você usa eventos históricos do usuário para treinar modelos. Informações anteriores do produto podem ser usadas para enriquecer dados históricos de eventos do usuário e melhorar a precisão do modelo.

Os produtos históricos são armazenados como expirados. Elas não são retornadas em respostas de pesquisa, mas são visíveis para as chamadas de API Update, List e Delete.

Importar dados históricos de catálogo

Quando o campo expireTime de um produto é definido como um carimbo de data/hora no passado, esse produto é considerado como histórico. Defina a disponibilidade do produto como OUT_OF_STOCK para evitar que as recomendações sejam afetadas.

Recomendamos o uso dos seguintes métodos para importar dados históricos de catálogo:

Chame o método Product.Create

Use o método Product.Create para criar uma entrada Product com o campo expireTime definido para um carimbo de data/hora no passado.

Produtos importados expirados

As etapas são idênticas às da importação in-line, exceto pelo fato de os produtos precisarem ter os campos expireTime definidos como um carimbo de data/hora passado.

Forneça um produto inteiro em uma única linha. Cada produto precisa estar em uma linha.

Um exemplo do ./data.json usado na solicitação de importação in-line:

{
"inputConfig": {
  "productInlineSource": {
      "products": [
          {
            "id": "historical_product_001",
            "categories": "Apparel & Accessories > Shoes",
            "title": "ABC sneakers",
            "expire_time": {
              "second": "2021-10-02T15:01:23Z"  // a past timestamp
            }
          },
          {
            "id": "historical product 002",
            "categories": "casual attire > t-shirts",
            "title": "Crew t-shirt",
            "expire_time": {
              "second": "2021-10-02T15:01:24Z"  // a past timestamp
            }
          }
      ]
    }
  }
}

Importar produtos expirados do BigQuery ou do Cloud Storage

Use os mesmos procedimentos documentados para importar dados de catálogo do BigQuery ou importar dados de catálogo do Cloud Storage. No entanto, defina o campo expireTime como um carimbo de data/hora no passado.

Mantenha seu catálogo atualizado

Para melhores resultados, seu catálogo precisa conter informações atuais. Recomendamos importar o catálogo diariamente para garantir que ele esteja atualizado. Use o Google Cloud Scheduler para programar importações ou escolha uma opção de programação automática ao importar dados usando o consoleGoogle Cloud .

É possível atualizar apenas itens de produtos novos ou alterados ou importar todo o catálogo. Se você importar produtos que já estão no seu catálogo, eles não serão adicionados novamente. Todos os itens que foram alterados serão atualizados.

Para atualizar um único item, consulte Atualizar informações do produto.

Atualização em lote

Você pode usar o método de importação para atualizar seu catálogo em lote. Isso é feito da mesma maneira que a importação inicial; siga as etapas em Importar dados de catálogo.

Monitorar a integridade da importação

Para monitorar a ingestão e a integridade do catálogo:

  1. Veja informações agregadas sobre seu catálogo e visualize os produtos enviados na guia Catálogo da página Dados da Pesquisa para e-commerce.

    Acessar a página "Dados"

  2. Avalie se é necessário atualizar os dados do catálogo para melhorar a qualidade dos resultados da pesquisa e desbloquear os níveis de performance de pesquisa na página Qualidade de dados.

    Para saber mais sobre como verificar a qualidade dos dados de pesquisa e conferir os níveis de desempenho da pesquisa, consulte Desbloquear níveis de desempenho da pesquisa. Para um resumo das métricas de catálogo disponíveis nesta página, consulte Métricas de qualidade do catálogo.

    Acessar a página "Qualidade de dados"

  3. Para criar alertas que informem se algo der errado com seus uploads de dados, siga os procedimentos em Configurar alertas do Cloud Monitoring.

    É importante manter seu catálogo atualizado para conseguir resultados de alta qualidade. Use alertas para monitorar as taxas de erro de importação e tome as medidas necessárias.

A seguir