ฟีดเอนทิตี

สร้างและอัปโหลดฟีดเอนทิตี

เมื่อสร้างและอัปโหลดฟีดเอนทิตี ให้ทำตามวิธีการต่อไปนี้

  • ทำตามข้อกำหนดที่อธิบายไว้ใน ฟีดเอนทิตี สำหรับไฟล์ข้อมูลเอนทิตี เราขอแนะนำให้ใช้ชื่อไฟล์ข้อมูลเอนทิตีที่ไม่ซ้ำกันสำหรับการอัปโหลดแต่ละครั้ง ใส่การประทับเวลาในชื่อไฟล์ เช่น Entity_1633621547.json
  • ในตัวอธิบายชุดไฟล์ ให้ตั้งค่าฟิลด์ name เป็น reservewithgoogle.entity ดูตัวอย่างไฟล์ตัวอธิบายได้ในตัวอย่าง JSON เราขอแนะนำให้ใช้ชื่อไฟล์ตัวอธิบายที่ไม่ซ้ำกันสำหรับการอัปโหลดแต่ละครั้ง ใส่การประทับเวลาในชื่อไฟล์ เช่น Entity_1633621547.filesetdesc.json คุณต้องอัปโหลดไฟล์ตัวอธิบายไปยังเซิร์ฟเวอร์ SFTP ทั่วไป
  • อัปโหลดฟีดไปยังเซิร์ฟเวอร์ SFTP ทั่วไปทุกวันเป็นการรีเฟรชแบบเต็ม
  • คุณดูรายละเอียดเซิร์ฟเวอร์ SFTP ได้ในส่วนการกำหนดค่า > ฟีดของพอร์ทัลพาร์ทเนอร์
  • การเลือกเซิร์ฟเวอร์ฟีด

    การเลือกเซิร์ฟเวอร์ฟีดในพอร์ทัลพาร์ทเนอร์
  • ดูสถานะการนำเข้าฟีดได้ในส่วนฟีด > ประวัติของ Partner Portal

คำจำกัดความ

คำจำกัดความของ 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.
  // This ID should be immutable. Changing or recycling them to represent the
  // same entity may cause issues and outages.
  // (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;


  // Bookability info for the entity.
  // Only applies to entities representing a merchant selling services or
  // products, and is only relevant for use cases enabled for agentic bookings
  // on Google.
  // (optional)
  BookabilityInfo bookability_info = 8;

  // Entity-specific policies.
  // Only applies to entities representing a merchant selling services or
  // products, and is only relevant for use cases enabled for agentic bookings
  // on Google. Brand-wide policies should be configured in the Brand settings
  // rather than repeated across individual entities.
  // (optional)
  PolicyInfo policy_info = 9;
}

คำจำกัดความของ 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;
}

คำจำกัดความ BookabilityInfo

// Bookability info for the entity.
// Only applies to entities representing a merchant selling services or
// products, and is only relevant for use cases enabled for agentic bookings on
// Google.
message BookabilityInfo {
  // Indicates whether the entity or service can be booked online.
  // (optional)
  bool is_online_bookable = 1;

  // Indicates whether payment is required when booking online.
  // (optional)
  bool payment_required = 2;

  // Indicates whether a credit card must be on file.
  // (optional)
  bool card_on_file_required = 3;

  // Indicates whether a One-Time Password (OTP), such as an email or SMS code,
  // is required when booking an appointment online.
  // (optional)
  bool otp_required = 4;

  // Indicates whether a user must sign in to book an appointment online.
  // (optional)
  bool sign_in_required = 5;
}

คำจำกัดความ PolicyInfo

// Policy info for the entity.
// Represents entity-specific policies. Brand-wide policies should be configured
// in the Brand settings rather than repeated across individual entities.
// Only applies to entities representing a merchant selling services or
// products, and is only relevant for use cases enabled for agentic bookings on
// Google.
message PolicyInfo {
  // Entity-specific policies.
  // (optional)
  repeated Policy policies = 1;
}

คำจำกัดความของนโยบาย

// A named entity-specific policy.
// Only applies to entities representing a merchant selling services or
// products, and is only relevant for use cases enabled for agentic bookings on
// Google. Displayed to the user when performing agentic bookings on Google.
message Policy {
  // A partner-defined policy identifier, not user-facing and possibly not
  // unique. The partner can use this to identify a specific policy content
  // or version. Treated as an opaque identifier by Google.
  // (optional)
  string id = 1;

  // A user-facing localized name for this policy.
  //
  // Standard, Title Case naming is strongly recommended to ensure a clean,
  // consistent, and recognizable user experience. Avoid informal abbreviations
  // or shorthand (e.g., do NOT use "T&C", "T&Cs", "ToS", or "Cancel").
  //
  // Recommended standard names for common policy types:
  //   - "Terms & Conditions" (or "Terms and Conditions" / "Terms of Service")
  //   - "Privacy Policy" (or "Privacy")
  //   - "Cancellation Policy" (or "Refund Policy")
  //   - "Health & Safety Policy"
  //
  // (required)
  Text name = 2;

  // The content of the policy to be displayed or linked to the user.
  // (required)
  oneof content {
    // The textual content of the policy.
    Text text_content = 3;

    // A URL linking to the full policy page.
    Text url_content = 4;
  }
}

คำจำกัดความของข้อความ

// A possibly-localized text payload. Some Text fields may contain marked-up
// content.
message Text {
  // Required. Text value in an unknown locale, which will be displayed if
  // `localized_value` for the user locale is empty or missing. The locale for
  // this value may depend on the partner or service provider, and it should not
  // be assumed to be any specific language.
  string value = 1;

  // Per-locale text values. Required.
  repeated LocalizedString localized_value = 2;
}

คำจำกัดความของ LocalizedString

// Instance of a string in one locale.
message LocalizedString {
  // IETF BCP 47 language code, such as "en", "mas", "zh-Hant", "de-CH-1901".
  // See http://www.w3.org/International/articles/language-tags/.
  string locale = 1;

  // Message in the locale above (UTF-8).
  string value = 2;
}

ตัวอย่างฟีดเอนทิตี

การนัดหมาย

ชื่อไฟล์ : entity_1697754089_0001.json

{
  "data": [
    {
      "entity_id": "appointments-merchant-1",
      "name": "Lorem ipsum Barbershop",
      "telephone": "+11111222233",
      "url": "https://barbershop.com",
      "location": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "locality": "Mountain View",
          "region": "California",
          "postal_code": "94043",
          "street_address": "1600 Amphitheater Drive"
        }
      },
      "bookability_info": {
        "is_online_bookable": true,
        "payment_required": false,
        "card_on_file_required": false,
        "otp_required": false,
        "sign_in_required": false
      },
      "policy_info": {
        "policies": [
          {
            "id": "policy-1",
            "name": {
              "value": "Cancellation Policy",
              "localized_value": [
                {
                  "locale": "en",
                  "value": "Cancellation Policy"
                },
                {
                  "locale": "es",
                  "value": "Política de cancelación"
                }
              ]
            },
            "text_content": {
              "value": "Appointments must be canceled at least 24 hours in advance.",
              "localized_value": [
                {
                  "locale": "en",
                  "value": "Appointments must be canceled at least 24 hours in advance."
                },
                {
                  "locale": "es",
                  "value": "Las citas deben cancelarse con al menos 24 horas de anticipación."
                }
              ]
            }
          },
          {
            "id": "policy-2",
            "name": {
              "value": "Terms & Conditions",
              "localized_value": [
                {
                  "locale": "en",
                  "value": "Terms & Conditions"
                },
                {
                  "locale": "es",
                  "value": "Términos y condiciones"
                }
              ]
            },
            "url_content": {
              "value": "https://barbershop.com/terms",
              "localized_value": [
                {
                  "locale": "en",
                  "value": "https://barbershop.com/terms"
                },
                {
                  "locale": "es",
                  "value": "https://barbershop.com/es/terms"
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

อาหาร

ชื่อไฟล์ : entity_1697754089_0001.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"
        }
      }
    }
  ]
}

การสั่งอาหาร

ชื่อไฟล์ : entity_1697754089_0001.json

{
  "metadata": {
    "generation_timestamp": "1467993600",
    "processing_instruction": "PROCESS_AS_COMPLETE",
    "total_shards": 1
  },
  "merchant": [
    {
      "merchant_id": "dining-starter-2",
      "name": "Sample Bakery",
      "telephone": "+1-415-124-4567",
      "url": "www.starterdining2publicsite.com",
      "category": "restaurant",
      "geo": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "street_address": "805 11th Ave",
          "locality": "Sunnyvale",
          "region": "CA",
          "country": "US",
          "postal_code": "94089"
        }
      }
    }
  ]
}

Shopping

ชื่อไฟล์ : entity_1697754089_0001.json

{
  "data": [
    {
      "entity_id": "apparel-brand-store-1",
      "name": "Apparel Brand Store - Downtown",
      "telephone": "+1-415-876-0001",
      "url": "www.apparel-brand-example.com/store/1",
      "location": {
        "latitude": 37.404570,
        "longitude": -122.033160,
        "address": {
          "country": "US",
          "locality": "Sunnyvale",
          "region": "CA",
          "postal_code": "94089",
          "street_address": "700 11th Ave"
        }
      }
    },
    {
      "entity_id": "footwear-brand-store-1",
      "name": "Footwear Brand Store - City Center",
      "telephone": "+1-415-123-0002",
      "url": "www.footwear-brand-example.com/store/1",
      "location": {
        "latitude": 37.422113,
        "longitude": -122.084041,
        "address": {
          "country": "US",
          "locality": "Sunnyvale",
          "region": "CA",
          "postal_code": "94089",
          "street_address": "800 11th Ave"
        }
      }
    }
  ]
}

ข้อบ่งชี้ (ทุกประเภทธุรกิจ)

ชื่อไฟล์ : entity_1697754089.filesetdesc.json

{
  "generation_timestamp": 1692998244,
  "name": "reservewithgoogle.entity",
  "data_file": [
    "entity_1697754089_0001.json"
  ]
}