Como dito antes, o Retail Search usa a API Retail do GCP.
Abaixo iremos mostrar o passo-a-passo de como importar o catalogo de produtos utilizando o Merchant Center, Cloud Storage ou o BigQuery.
É importante mencionar que todos os passos iniciam-se na opção Retail no console do GCP:
Cenário 1 - Merchant Center
Caso a empresa que deseja utilizar o retail search e seu catálogo de produtos esteja no Merchant Center é preciso seguir os passos abaixo:
- Clique em Importar catálogo de produtos para abrir o painel Importar dados.
- Escolha Catálogo de produtos.
- Selecione Merchant Center Sync como sua fonte de dados.
- Selecione sua conta do Merchant Center.
- Selecione a ramificação para fazer o upload do catálogo.
- Clique em Importar.
Cenário 2 - Cloud Storage
Caso a empresa que deseja utilizar o retail search e seu catálogo de produtos esteja no Cloud Storage é preciso seguir os passos abaixo:
- Clique em Importar catálogo de produtos para abrir o painel Importar dados.
- Escolha Catálogo de produtos como fonte de dados.
- Selecione a ramificação para fazer o upload do catálogo.
- Escolha Esquema de catálogos de produtos de varejo como o esquema.
- Insira o local dos seus dados no Cloud Storage (bucket e pasta).
- Clique em Importar.
Cenário 3 - BigQuery
Caso a empresa que deseja utilizar o retail search e seu catálogo de produtos esteja no BigQuery é preciso seguir os passos abaixo:
- Clique em Importar catálogo de produtos para abrir o painel Importar dados.
- Escolha Catálogo de produtos.
- Selecione BigQuery como origem de dados.
- Selecione a ramificação para fazer o upload do catálogo.
- Escolha um dos seguintes esquemas:
- Esquema de catálogos de produtos de varejo: o esquema nessa opção é semelhante ao json abaixo:
[ { "name": "name", "type": "STRING", "mode": "NULLABLE" }, { "name": "id", "type": "STRING", "mode": "REQUIRED" }, { "name": "type", "type": "STRING", "mode": "NULLABLE" }, { "name": "primaryProductId", "type": "STRING", "mode": "NULLABLE" }, { "name": "collectionMemberIds", "type": "STRING", "mode": "REPEATED" }, { "name": "gtin", "type": "STRING", "mode": "NULLABLE" }, { "name": "categories", "type": "STRING", "mode": "REPEATED" }, { "name": "title", "type": "STRING", "mode": "REQUIRED" }, { "name": "brands", "type": "STRING", "mode": "REPEATED" }, { "name": "description", "type": "STRING", "mode": "NULLABLE" }, { "name": "languageCode", "type": "STRING", "mode": "NULLABLE" }, { "name": "attributes", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "key", "type": "STRING", "mode": "NULLABLE" }, { "name": "value", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" }, { "name": "numbers", "type": "FLOAT", "mode": "REPEATED" }, { "name": "searchable", "type": "BOOLEAN", "mode": "NULLABLE" }, { "name": "indexable", "type": "BOOLEAN", "mode": "NULLABLE" } ] } ] }, { "name": "tags", "type": "STRING", "mode": "REPEATED" }, { "name": "priceInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "currencyCode", "type": "STRING", "mode": "NULLABLE" }, { "name": "price", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "originalPrice", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "cost", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "priceEffectiveTime", "type": "STRING", "mode": "NULLABLE" }, { "name": "priceExpireTime", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "rating", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "ratingCount", "type": "INTEGER", "mode": "NULLABLE" }, { "name": "averageRating", "type": "FLOAT", "mode": "NULLABLE" }, { "name": "ratingHistogram", "type": "INTEGER", "mode": "REPEATED" } ] }, { "name": "expireTime", "type": "STRING", "mode": "NULLABLE" }, { "name": "ttl", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "seconds", "type": "INTEGER", "mode": "NULLABLE" }, { "name": "nanos", "type": "INTEGER", "mode": "NULLABLE" } ] }, { "name": "availableTime", "type": "STRING", "mode": "NULLABLE" }, { "name": "availability", "type": "STRING", "mode": "NULLABLE" }, { "name": "availableQuantity", "type": "INTEGER", "mode": "NULLABLE" }, { "name": "fulfillmentInfo", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "type", "type": "STRING", "mode": "NULLABLE" }, { "name": "placeIds", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "images", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "uri", "type": "STRING", "mode": "REQUIRED" }, { "name": "height", "type": "INTEGER", "mode": "NULLABLE" }, { "name": "width", "type": "INTEGER", "mode": "NULLABLE" } ] }, { "name": "audience", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "genders", "type": "STRING", "mode": "REPEATED" }, { "name": "ageGroups", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "colorInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "colorFamilies", "type": "STRING", "mode": "REPEATED" }, { "name": "colors", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "sizes", "type": "STRING", "mode": "REPEATED" }, { "name": "materials", "type": "STRING", "mode": "REPEATED" }, { "name": "patterns", "type": "STRING", "mode": "REPEATED" }, { "name": "conditions", "type": "STRING", "mode": "REPEATED" }, { "name": "retrievableFields", "type": "STRING", "mode": "NULLABLE" }, { "name": "publishTime", "type": "STRING", "mode": "NULLABLE" }, { "name": "promotions", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "promotionId", "type": "STRING", "mode": "NULLABLE" } ] } ]
- Merchant Center: nessa opção o esquema será semelhante ao usado para importação em massa do Merchant Center para o BigQuery, em que os dados são gravados em uma tabela chamada Products_merchant_id se você estiver usando um ID do comerciante individual ou Products_aggregator_id se você estiver usando uma conta da MCA. Geralmente os campos da tabela são:
product_data_timestamp product_id merchant_id aggregator_id offer_id title description link mobile_link image_link additional_image_links content_language target_country* feed_label channel expiration_date google_expiration_date adult age_group availability availability_date brand google_brand_id color condition custom_labels custom_labels.label_0 custom_labels.label_1 custom_labels.label_2 custom_labels.label_3 custom_labels.label_4 gender gtin item_group_id material mpn pattern price price.value price.currency sale_price sale_price.value sale_price.currency sale_price_effective_start_date sale_price_effective_end_date google_product_category google_product_category_ids google_product_category_path product_type additional_product_types destinations destinations.name destinations.status* destinations.name destinations.approved_countries destinations.pending_countries destinations.disapproved_countries issues issues.code issues.servability issues.resolution issues.attribute_name issues.destination issues.short_description issues.detailed_description issues.documentation issues.applicable_countries
- Insira a tabela do BigQuery em que seus dados estão localizados.
- Em Mostrar opções avançadas, insira o local de um bucket do Cloud Storage que será temporário para seus dados em processamento.Se não for especificado, um local padrão será usado. Se especificado, o bucket do BigQuery e do Cloud Storage precisam estar na mesma região.
- Clique em Importar.
Referências:
https://cloud.google.com/retail/docs/setting-up?hl=pt-br#merchant-center-sync