实体 Feed

创建和上传实体 Feed

创建和上传实体 Feed 时,请务必按照以下说明操作:

  • 请遵循实体 Feed 中针对实体数据文件所述的规范。您必须在每次上传之间使用唯一的实体数据文件名。 建议在文件名中添加时间戳,例如 Entity1_1633621547.json
  • 在文件集描述符中,将 name 字段设置为 reservewithgoogle.entity。如需查看描述符文件示例,请参阅描述符文件 JSON 示例。 您必须在每次上传之间使用唯一的描述符文件名。 建议在文件名中添加时间戳,例如 Entity1_1633621547.filesetdesc.json。 描述符文件必须上传到通用 SFTP Dropbox。
  • 必须每天将 Feed 作为完整刷新内容上传到通用 SFTP Dropbox。
  • 您可以在合作伙伴门户的配置 > Feed 部分找到通用 Feed SFTP Dropbox 信息。
  • 选择 Feed 文件夹

  • 您可以在合作伙伴门户的 Feed > 历史记录部分找到常规 Feed 提取状态。

定义

EntityFeed 定义

message EntityFeed {
  repeated Entity data = 1;
}

实体定义

//
// Information about an Entity that is on the partner's platform. For example,
// an Entity could be a retail store, a hospital, an online business etc.
message Entity {
  // An opaque string generated by the partner that identifies an Entity.
  // Must be unique across all entities.
  // Strongly recommended to only include URL-safe characters. (required)
  string entity_id = 1;

  // If present, the name, telephone, url and location are used to support
  // matching partner inventory with entities already present on Google. This
  // information will not be displayed.

  // The name of the Entity. (required)
  string name = 2;

  // The contact telephone number of the Entity including its country and area
  // codes, e.g. +14567891234. Highly recommended. (optional)
  string telephone = 3;

  // The url of the Entity's public website. Highly recommended. (optional)
  string url = 4;

  // The location of the Entity (required)
  madden.ingestion.GeoCoordinates location = 5;
}

GeoCoordinates 的定义

// The Geo data of a location, including latitude, longitude, and address.
// At least one of [lat/lng or address] should be provided (or both).
message GeoCoordinates {
  // [-90, +90] degrees (inclusive). (optional)
  double latitude = 1;

  // [-180, +180] degrees (inclusive). (optional)
  double longitude = 2;

  // Address for a location, could either be structured or unstructured.
  oneof addresses {
    // Postal address of the location, preferred.
    PostalAddress address = 3;

    // An unstructured address could also be provided as a fallback.
    // E.g. "1600 amphitheatre parkway mountain view, ca 94043"
    string unstructured_address = 4;
  }
}

PostalAddress 的定义

// The postal address for a merchant.
message PostalAddress {
  // The country, using ISO 3166-1 alpha-2 country code, e.g. "US" (required)
  string country = 1;

  // The locality/city, e.g. "Mountain View". (required)
  string locality = 2;

  // The region/state/province, e.g. "CA". This field is only required in
  // countries where region is commonly a part of the address. (optional)
  string region = 3;

  // The postal code, e.g. "94043". (required)
  string postal_code = 4;

  // The street address, e.g. "1600 Amphitheatre Pkwy". (required)
  string street_address = 5;
}

实体 Feed 示例

实体 Feed

文件名:entity1_1697754089.json

{
  "data": [
    {
      "entity_id": "dining-1",
      "name": "Sample Eatery 1",
      "telephone": "+1-415-876-5432",
      "url": "www.sampleeatery1.com",
      "location": {
        "latitude": 37.404570,
        "longitude": -122.033160,
        "address": {
          "country": "US",
          "locality": "Sunnyvale",
          "region": "CA",
          "postal_code": "94089",
          "street_address": "815 11th Ave"
        }
      }
    },
    {
      "entity_id": "dining-2",
      "name": "Sample Eatery 2",
      "telephone": "+1-415-123-4567",
      "url": "www.sampleeatery2.com",
      "location": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "locality": "Sunnyvale",
          "region": "CA",
          "postal_code": "94089",
          "street_address": "805 11th Ave"
        }
      }
    }
  ]
}

描述符文件

文件名:entity1_1697754089.filesetdesc.json

{
  "generation_timestamp": 1697754089,
  "name": "reservewithgoogle.entity",
  "data_file": ["entity1_1697754089.json"]
}