পরিষেবা ফিড তৈরি করুন এবং আপলোড করুন
পরিষেবা ফিড তৈরি এবং আপলোড করার সময়, এই নির্দেশাবলী অনুসরণ করুন:
- পরিষেবা ডেটা ফাইলের জন্য পরিষেবা ফিডে বর্ণিত বৈশিষ্ট্য অনুসরণ করুন। আমরা প্রতিটি আপলোডের জন্য অনন্য পরিষেবা ডেটা ফাইলের নাম ব্যবহার করার পরামর্শ দিই৷ ফাইলের নামে একটি টাইমস্ট্যাম্প অন্তর্ভুক্ত করুন, উদাহরণস্বরূপ,
service_1633621547.json
। - ফাইলসেট বর্ণনাকারীতে,
name
ক্ষেত্রটিglam.service.v0
এ সেট করুন। বর্ণনাকারী ফাইলের উদাহরণের জন্য, JSON নমুনা পড়ুন। আমরা প্রতিটি আপলোডের জন্য অনন্য বর্ণনাকারী ফাইলের নাম ব্যবহার করার পরামর্শ দিই। ফাইলের নামে একটি টাইমস্ট্যাম্প অন্তর্ভুক্ত করুন, উদাহরণস্বরূপ,service_1633621547.filesetdesc.json
। বর্ণনাকারী ফাইলটি অবশ্যই জেনেরিক SFTP সার্ভারে আপলোড করতে হবে৷ - পূর্ণ রিফ্রেশ হিসাবে প্রতিদিন জেনেরিক SFTP সার্ভারে ফিড আপলোড করুন।
- আপনি অংশীদার পোর্টালের কনফিগারেশন > ফিড বিভাগে SFTP সার্ভারের বিবরণ খুঁজে পেতে পারেন।
- পার্টনার পোর্টালের ফিড > ইতিহাস বিভাগে ফিড ইনজেশন স্ট্যাটাস দেখুন।
সংজ্ঞা
সার্ভিসফিড সংজ্ঞা
message ServiceFeed { repeated Service data = 1; }
পরিষেবা সংজ্ঞা
// The definition of a service provided by a merchant. message Service { // An opaque string from an aggregator partner which uniquely identifies a // merchant. // Required. string merchant_id = 1; // An opaque string of ASCII characters from an aggregator partner which // uniquely identifies the service. // Must be equal to or shorter than 100 characters. // Required. string service_id = 2; // The name of the service, e.g. "Men's haircut". Possibly in several locales. // Required. Text localized_service_name = 3; // The name of the service category, e.g. "Haircut", "Shave", "Color". // Possibly in several locales. The category will be used to group services // when presented to the consumer. // Note: For merchants without categories on your website, you can group all // services into one category and use a generic name such as "All Services" // or "General." Merchants who have categories you should try to replicate // those categories. // Required. Text localized_service_category = 4; // The user-visible description of the service, possibly in several locales. // This field is not required for every services, but is strongly // recommended to be filled when available. // Important notes: // * The recommended maximum size is 2,000 characters. // Optional. Text localized_service_description = 5; // The price of the service. // Note, if a service (or merchant) doesn't provide price up front, use // RangeInterpretation.INTERPRETATION_NOT_DISPLAYED as PriceInterpretation. // Required. ServicePrice service_price = 6; // An action link related to this service. Action link should deep link to the // 3P page with the preselected service. // Note: Only the first entry will be used. Other provided action links will // be ignored. // Optional, but highly recommended if service-level deep links are supported. // This enables service-level entrypoints on Google if provided. // Note: For merchants participating in Healthcare vertical should not provide // service-level deep link. repeated ActionLink action_link = 8; // Duration of the service. // Note, if a service (or merchant) doesn't provide service duration, use // RangeInterpretation.INTERPRETATION_NOT_DISPLAYED as DurationInterpretation. // Required. ServiceDuration service_duration = 9; // Ranking hint for this service. // Optional. ServiceRankingHint ranking_hint = 10; }
পাঠ্য সংজ্ঞা
// A possibly-localized text payload. Some Text fields may contain marked-up // content. message Text { // 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. // Required. string value = 1; // Per-locale text values. // Optional. repeated LocalizedString localized_value = 2; }
পরিসীমা ব্যাখ্যা সংজ্ঞা
// Describes how a range of values should be interpreted and displayed to the // user. enum RangeInterpretation { // When range represents an exact value (such that min value equals to max) // Will be interpreted as a specific value. // // Examples: // $20 for a yoga class; 50 min haircut duration INTERPRETATION_EXACT = 1; // When only minimum of the range is known and displayed to consumers. // The maximum value will be decided based on other configurations // (e.g., price may go up if consumer selecting add-ons) // // Examples: // $30 for dog grooming, but additional consumer choices may increase the // price // 40 min massage, but there are also options for extending the time. INTERPRETATION_STARTS_AT = 2; // When the range is variable and both minimum and maximum values are known // and displayed to consumers. // // Examples: // $30 - $60 for dog grooming, the exact price will depend on additional // consumer choices. // 1 - 3 hour hair color service. INTERPRETATION_RANGE = 3; // When the range is variable and no min value is known. No information is // displayed to consumers ahead of time. // // Examples: // A consultation for a home service INTERPRETATION_NOT_DISPLAYED = 4; }
পরিষেবা মূল্য সংজ্ঞা
// The price of a service. message ServicePrice { // Describes how a Price should be interpreted and displayed to the user. RangeInterpretation price_interpretation = 1; // The minimum price of the service. Must be set if price_interpretation is // set to EXACT, STARTS_AT, or RANGE. // price is known. // Optional. Price min_price = 2; // The maximum price of the service. Must be set if price_interpretation is // set to RANGE. // Optional. Price max_price = 3; }
মূল্য সংজ্ঞা
// The price of a service or a fee. message Price { // The price in micro-units of the currency. // For example: 1.95 USD is 1950000 in micro-units. // If your price contains fractions of the smallest currency unit, then it // will be rounded using nearest even rounding (e.g. 2.5 cents rounded // to 2 cents, 3.5 cents rounded to 4 cents, 0.5 cents rounded to 0 cents, // 2.51 cents rounded to 3 cents). // Required. int64 price_micros = 1; // The currency of the price that is defined in ISO 4217. // Required. string currency_code = 2; // An optional and opaque string that identifies the pricing option that is // associated with the extended price. // Optional. string pricing_option_tag = 3; }
ActionLink সংজ্ঞা
// An action URL for a service. message ActionLink { // The entry point URL for this action link. // Required. string url = 1; }
পরিষেবার সময়কাল সংজ্ঞা
message ServiceDuration { // Describes how a service duration should be interpreted and displayed to // the user. // Note, if a service (or merchant) doesn't provide service duration, use // 'INTERPRETATION_NOT_DISPLAYED' as DurationInterpretation. // Required. RangeInterpretation duration_interpretation = 1; // The minimum duration (in seconds) that the service may take. Must be set // if duration_interpretation is set to EXACT, STARTS_AT, or RANGE. // Required. int64 min_duration_sec = 2; // The maximum duration (in seconds) that the service may take. Must be set // if duration_interpretation is set to RANGE. // Optional. int64 max_duration_sec = 3; }
পরিষেবা র্যাঙ্কিং ইঙ্গিত সংজ্ঞা
// Ranking hints for a service. message ServiceRankingHint { // Arbitrary partner or merchant assigned rank for this service. // // Services with a lower score will be displayed more prominently (e.g. // displayed higher in lists). // // Ranking hints affect both the ordering of services within a service // category, and the ordering of the categories themselves. The ranking hint // for a category is assumed to be the minimum ranking hint of any item in the // category. Note that other factors may also influence the final ranking, // such as price, user history, etc. // // The recommended approach is to define a total ordering on all the services, // by assigning each one a unique integer ranking hint and ensuring that // ranking hint values don’t overlap between categories. For example, if we // want the preferred ordering of categories and services to be: // Category 1: A, B, C // Category 2: D, E, F // Then the simplest ranking hint scheme to indicate this would be: // A=1, B=2, C=3, D=4, E=5, F=6. // // Optional. Must be non-negative if set. float score = 1 [features.field_presence = EXPLICIT]; }
স্থানীয়কৃত স্ট্রিং সংজ্ঞা
// 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/. // Required. string locale = 1; // Message in the locale above (UTF-8). // Required. string value = 2; }
সেবা নমুনা ফিড
সেবা ফিড
{ "data": [ { "merchant_id": "appointments-merchant-1", "service_id": "service-1", "localized_service_name": { "value": "Service Type 1", "localized_value":[ { "locale": "en", "value": "Service Type 1" }, { "locale": "es", "value": "Servicio Tipo 1" } ] }, "localized_service_category": { "value": "Haircut", "localized_value": [ { "locale": "en", "value": "Haircut" }, { "locale": "es", "value": "Cortes de pelo" } ] }, "localized_service_description": { "value": "Lorem ipsum dolor sit amet", "localized_value":[ { "locale": "en", "value": "Lorem ipsum dolor sit amet" }, { "locale": "es", "value": "el cliente esta muy contento" } ] }, "service_price": { "price_interpretation": "INTERPRETATION_EXACT", "min_price": { "price_micros": 40000000, "currency_code": "USD" } }, "action_link": [ { "url": "https://www.rwgpartnerwebsite.com/appointment/service-1/in-person-1" } ], "service_duration": { "duration_interpretation": "INTERPRETATION_EXACT", "min_duration_sec": 360 }, "ranking_hint": { "score": 1 } } ] }
বর্ণনাকারী ফাইল
{ "generation_timestamp": 1663347730, "name": "glam.service.v0", "data_file": [ "glam.service.v0_1663347730_0001.json", "glam.service.v0_1663347730_0002.json" ] }