Google Feed

Kibo's Google Feed enables you to export data from the catalog structure using API and update product details on Google search results.

For example, when a user searches product details for a specific website, the website displays various fields such as gender, color, size, material, and fabric. To get current information in these fields, Kibo's Google Feed APIs retrieve the data in a CSV file, which is then used to display the updated product details in search results.

Google Feed Process

An automated system interacts with the catalog system to retrieve catalog data and perform various actions such as exporting and generating CSV files.

The following steps outline the process:

  1. User enters the catalog details, including environmental parameters, resource specifications, and context overrides, to initiate the process.
  2.  Kibo sends a request to the catalog system, seeking catalog data.
  3. The Catalog system receives the request and processes it by invoking the Create Export API with the requested fields. This API is responsible for extracting the relevant data for the catalog.
  4. The Catalog system generates the catalog data and sends the response back to Kibo.
  5. Upon receiving the response from the Catalog system, Kibo proceeds by using the Get File ID API to retrieve the File ID associated with the generated catalog data.
  6. The Catalog system responds to Kibo, providing the necessary data related to the obtained File ID.
  7. Kibo utilizes this information and sends a request to the Catalog system instructing it to extract the CSV file and create a Google Feed using the obtained File ID. This step involves invoking a script.
  8. The Catalog system processes the request and generates the CSV file accordingly. It sends the response, containing the necessary details about the created file, back to Kibo.

Google Feed Process Diagram

Example Payload

Here is an example payload for exporting data through Google Feed.

{
    "name": "google export",
    "tenant": 111111,
    "contextOverride": {
        "masterCatalog": 2,
        "catalog": 3,
        "currency": "USD",
        "locale": "en-US",
        "site": 444444
    },
    "domain": "catalog",
        "resources": [
            {
                "resource": "GoogleProductSpec",
                "fields": [
                    "Cost",
                    "MSRP",
                    "MAP"
                ],
                "format": "legacy", 
                "configuration": {
                    "includeCurrencySymbol": true
                }
            }
        ]
}

The response returns an id  which is useful to poll the status using the get endpoint.

Sample API to Create the Export

Here is an example API to create the export.

curl --location 'https://<Base URL>/api/platform/data/export' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer XXXXXXXXX' \
--data '{
  "tenant": <Tenant ID>,
  "contextOverride": {
    "site": <Site ID>,
    "masterCatalog": "<Master Catalog>",
    "catalog": "<Catalog>",
    "locale": "<Locale>"
  },
  "name": "google export",
  "domain": "catalog",
  "resources": [
    {
      "resource": "GoogleProductSpec",
      "configuration": {
        "includeVariants": true
      },
      "fields": [
        "Gtin",
        "gender",
        "tenant~color",
        "tenant~size1",
        "tenant~material-or-fabric",
        "tenant~fabric-type"
      ],
      "format": "legacy"
    }
  ]
}'