Feed 错误通知
Feed 上传后,操作中心会发送自动通知电子邮件 出错。这些信息会发送给支持/上报技术联系人,以进行 合作伙伴,并包含下表中的错误代码。获得合作伙伴访问权限后 门户网站(请参阅“指南”),您可以在 “账号和用户”页面 (文档)。
操作中心发送的电子邮件将包含错误代码 以及导致错误的 Feed 项中的数据。如果指定的 字段未在数据中列出,则表明相应字段未 或采用默认值。
Feed 错误代码
// A list of errors that may be thrown during feed ingestion. // // Next ID: 93 enum Error { // Unused. ERROR_UNSPECIFIED = 0; // Timestamp represents either a time too early in the past, or too far in // the future to represent a valid value. This error is mainly intended to // catch errors with units, like microseconds vs. milliseconds, or seconds. TIMESTAMP_OUT_OF_RANGE = 1; // Duration is either negative, or too large, or too small to represent a // valid duration. This error is mainly intended to catch errors with units, // like microseconds vs. milliseconds, or seconds. DURATION_OUT_OF_RANGE = 2; // Start time is earlier than end time, or the individual timestamps which // make-up the timerange are themselves out of valid range. INVALID_TIME_RANGE = 3; // The price is either too small a fraction to be useful (e.g. one millionth // of a dollar), or too large (e.g. one million dollars) to represent a // correct price. Note that zero dollars is accepted and means "free". // This error is mainly intended to catch errors with units, like // microdollars vs. whole dollars. PRICE_OUT_OF_RANGE = 4; // The currency code is not supported. INVALID_CURRENCY_CODE = 5; // The tax rate is either too small a fraction to be useful (e.g. one // millionth of a percent), or to large to be a correct tax rate // (e.g. 1000%). Note that zero is accepted and means no tax. This error is // mainly intended to catch errors with units, like micro-percent vs. // percent. TAX_RATE_OUT_OF_RANGE = 6; // A record was sent within a restriction, but does not belong within that // restriction. e.g. service_availability restrict between Jan 1st 2017 and // Jan 2nd 2017, with an availability slot for Jan 3rd 2017. RECORD_OUT_OF_RESTRICTION = 7; // The total or open spot count of an availability slot is either negative, // or too large to represent a correct spot count (e.g. 1 million spots). AVAILABILITY_SPOT_COUNT_OUT_OF_RANGE = 8; // Restricts are only useful to remove availability slots, and incremental // feeds don’t ever remove slots. Using both together is always a mistake. AVAILABILITY_RESTRICT_IN_INCREMENTAL_FEED = 9; // The id of a Merchant, Service or PaymentOption is missing. MISSING_ID = 10; // The name of a Merchant, Service, PaymentOption, or event entity is // missing. MISSING_NAME = 11; // The address of a Merchant or Service-level location is missing. MISSING_ADDRESS = 12; // The price of a PaymentOption is missing. MISSING_PRICE = 13; // Multiple payment options with the same payment_option_id are present in // the Merchant feed, and are not identical. CONFLICTING_PAYMENT_OPTION = 14; // Used when schedule exceptions are present but no recurrence. MISSING_RECURRENCE = 15; // The start of an exception must not exceed the duration of the final // slot. The end of an exception must not terminate before the beginning // of the first slot. SCHEDULE_EXCEPTION_OUT_OF_RECURRENCE = 16; // More than one payment option id override was found in an availability // slot. Only one is allowed. TOO_MANY_PAYMENT_OPTIONS = 17; // Used when staff_id or room_id is provided and the corresponding name // field is empty. MISSING_RESOURCES = 18; // The tokenization configuration is malformed. TOKENIZATION_CONFIG = 19; // Used when a required field is not set. MISSING_REQUIRED_FIELD = 20; // The provided MerchantMatchingHints message is invalid. INVALID_MATCHING_HINTS = 21; // The given URL is considered harmful and therefore not allowed by Google, // or it is not allowed to be served on Google domains due to FTC Opt-out // regulation. BAD_OR_INELIGIBLE_URL = 22; // The service attribute provided on the merchant was invalid. INVALID_SERVICE_ATTRIBUTE = 23; // The scheduling rules provided on the service was invalid. INVALID_SCHEDULING_RULES = 24; // The waitlist rules message provided on the service was invalid. INVALID_WAITLIST_RULES = 25; // The provided last_bookable_sec is later than the start_sec. LAST_BOOKABLE_SEC_AFTER_START_SEC = 26; // The provided first_bookable_sec is later than the start_sec. FIRST_BOOKABLE_SEC_AFTER_START_SEC = 29; // The provided last_online_cancellable_sec is later than the start_sec. LAST_ONLINE_CANCELLABLE_SEC_AFTER_START_SEC = 49; // The supported_resources message on the merchant was invalid. INVALID_SUPPORTED_RESOURCES = 27; // Recurrences over 24h are not supported. RECURRENCE_TOO_LONG = 28; // An entity in TicketingVerticalSpecificData is invalid. INVALID_ENTITY = 43; // An invalid combination of ticketing entity type and event // category/entity role. INVALID_ENTITY_TYPE_COMBINATION = 30; // Indicates the incorrect prepayment type was set for the service's price // display type. E.g. Any service that uses PriceInterpretation.STARTS_AT // must use PrepaymentType.NOT_SUPPORTED. INVALID_PREPAYMENT_TYPE_FOR_PRICE_INTERPRETATION = 31; // The type provided on the service is invalid. The aggregator does not have // multiple booking transaction flows scheduling capability, and the type is // not supported by the aggregator vertical. E.g., An appointment-based // service is provided by an order-based aggregator. INVALID_SERVICE_TYPE = 32; // The provided service_name is invalid. INVALID_SERVICE_NAME = 54; // Indicates the provided prepayment terms is invalid. INVALID_PREPAYMENT_TERMS = 50; // Indicates the localized text message default value is empty. MISSING_TEXT = 33; // Indicates the locale of a localized text is missing. MISSING_TEXT_LOCALE = 34; // Indicates duplicate locales in a localized text. DUPLICATE_TEXT_LOCALE = 40; // Indicates the value of a localized text is missing. MISSING_TEXT_VALUE = 35; // Indicates a text value is over the max allowable length for that text. ABOVE_MAX_TEXT_LENGTH = 69; // Indicates that a service-level location does not contain enough // information. E.g., a service-level location must be supplied at least one // of fields below: place_id, geo_coordinates or description. MISSING_SERVICE_LOCATION = 36; // The type provided for the location is invalid. INVALID_LOCATION_TYPE = 37; // The location id has duplicates in the same service. DUPLICATE_LOCATION_ID = 38; // The location id is not valid. INVALID_LOCATION_ID = 39; // The refund condition provided on the scheduling rule is not valid. INVALID_REFUND_CONDITION = 41; // MusicBrainz ID provided for an entity is invalid. INVALID_MUSICBRAINZ_ID = 42; // Rating provided is not valid; INVALID_RATING = 44; // The intake form field is not valid. Some fields are only valid for // specific field types. INVALID_INTAKE_FORM_FIELDS = 45; // The target of a Review is missing. MISSING_TARGET = 46; // The content (i.e., both rating and text) of a Review is missing. MISSING_CONTENT = 47; // The type provided for the ticket redemption method is invalid. INVALID_TICKET_REDEMPTION_TYPE = 48; // ServiceType of a virtual service should always be set as // SERVICE_TYPE_ONLINE_APPOINTMENT. INVALID_VIRTUAL_SERVICE_TYPE = 51; // This error is shown when there is not valid payment option for the // virtual service. MISSING_VIRTUAL_SERVICE_PAYMENT_OPTION = 52; // Direct merchant payment is currently only allowed for virtual service and // not allowed for other service types. Also direct_merchant_payment is not // allowed for service with pre-payment as required. INVALID_DIRECT_MERCHANT_PAYMENT = 53; // [BEGIN Generic Feed error types] // The entity type could not be extracted from the chunked entity value. DATA_RECORD_ENTITY_EXTRACTION_FAILED = 55; // The extracted entity type is empty. DATA_RECORD_ENTITY_TYPE_EMPTY = 56; // The extracted entity type does not have a Key configuration. DATA_RECORD_MISSING_ENTITY_KEY = 57; // Key extractors could not be built from the rules specified in the feed // configuration. DATA_RECORD_INVALID_KEY_EXTRACTORS = 58; // The extracted entity type is not valid. DATA_RECORD_INVALID_ENTITY_TYPE = 59; // An entity key could not be extracted from the chunked entity value. DATA_RECORD_KEY_EXTRACTION_FAILED = 60; // The primary key could not be extracted from the entity value. PROTO_KEY_EXTRACTION_FAILED = 78; // Duplicate primary keys were detected in the feed. DUPLICATE_KEY_DETECTED = 79; // The CDS F2 write failed. F2_WRITE_FAILED = 80; // [END Generic Feed error types] // The merchant or service contains action links for an action type that // // may not support food ordering metadata. UNSUPPORTED_ACTION_TYPE_FOR_FOOD_ORDERING_METADATA = 61; // The merchant or service contains action links with invalid food ordering // metadata. INVALID_ACTION_LINK_FOOD_ORDERING_METADATA = 62; // The chunked entity value could not be parsed from the input file. DATA_RECORD_ENTITY_VALUE_PARSING_FAILED = 63; // The service ranking hint is invalid. INVALID_RANKING_HINT = 64; // Duplicate option of UnsupportedPartySizeOption has been set. DUPLICATE_UNSUPPORTED_PARTY_SIZE_OPTION = 65; // UnsupportedPartySizeOption must have a value. UNSUPPORTED_PARTY_SIZE_OPTION_KIND_EMPTY = 66; // Reservation linkout experience is not supported. UNSUPPORTED_RESERVATION_LINKOUT_TEMPLATE = 67; // Reservation linkout experience, which uses linkout_required_reason, is // not supported. UNSUPPORTED_LINKOUT_REQUIRED_REASON = 68; // A merchant has services with duplicate names within a locale. DUPLICATE_SERVICE_NAMES = 70; // A merchant is missing descriptions for many of its services. PROVIDED_SERVICE_DESCRIPTIONS_BELOW_THRESHOLD = 71; // A merchant has services with duplicate (name, duration, category, price). DUPLICATE_SERVICES = 72; // The entity type could not be extracted from a proto value in an input // file. PROTO_ENTITY_PARSING_FAILED = 73; // An ActionDetail has the same Entity ID as another DUPLICATE_ENTITY_ID = 74; // The action link is empty EMPTY_ACTION_LINK = 75; // The Action link does not contain any Actions MISSING_LINK_ACTIONS = 76; // The Entity is missing it's location field MISSING_ENTITY_LOCATION = 77; // The service_id is invalid. INVALID_SERVICE_ID = 81; // The text locale is invalid. INVALID_TEXT_LOCALE = 82; // The room description is missing default text field. ROOM_DESCRIPTION_MISSING_DEFAULT_VALUE = 83; // Indicates the provided prepayment is missing price info. MISSING_PRICE_INFO = 84; // Indicates the prepayment price range is invalid. PREPAYMENT_PRICE_RANGE_INVERSION = 85; // Indicates the prepayment price range is equal to the min price, in this // case single price should be used. PREPAYMENT_PRICE_RANGE_EQUAL = 86; // The URI template proto is provided but template string is missing. URI_TEMPLATE_MISSING = 87; // The URI template is missing required parameters. URI_TEMPLATE_MISSING_REQUIRED_PARAMETERS = 88; // The URI template has unsupported parameters. URI_TEMPLATE_UNSUPPORTED_PARAMS = 89; // The merchant or service contains action links with invalid dining // metadata. INVALID_ACTION_LINK_DINING_METADATA = 91; // The service contains uri template for redirect integration, but the // feature is not enabled for the environment. REDIRECT_NOT_ENABLED_FOR_ENVIRONMENT = 92; }