Package google.type

شاخص

تاریخ

نمایانگر یک تاریخ تقویم کامل یا جزئی، مانند روز تولد است. زمان روز و منطقه زمانی یا در جای دیگری مشخص شده است یا ناچیز است. تاریخ مربوط به تقویم میلادی است. این می تواند نشان دهنده یکی از موارد زیر باشد:

  • تاریخ کامل، با مقادیر سال، ماه و روز غیر صفر.
  • یک ماه و روز، با یک سال صفر (مثلاً یک سالگرد).
  • یک سال به تنهایی، با یک ماه صفر و یک روز صفر.
  • یک سال و یک ماه، با روز صفر (مثلاً تاریخ انقضای کارت اعتباری).

انواع مرتبط:

فیلدها
year

int32

سال تاریخ. برای تعیین تاریخ بدون سال باید از 1 تا 9999 یا 0 باشد.

month

int32

ماه از یک سال. باید از 1 تا 12 یا 0 باشد تا یک سال بدون ماه و روز مشخص شود.

day

int32

روز یک ماه. باید از 1 تا 31 باشد و برای سال و ماه معتبر باشد، یا 0 برای مشخص کردن یک سال به تنهایی یا یک سال و ماهی که در آن روز مهم نیست، معتبر باشد.

روز هفته

یک روز از هفته را نشان می دهد.

Enums
DAY_OF_WEEK_UNSPECIFIED روز هفته نامشخص است.
MONDAY دوشنبه
TUESDAY سه شنبه
WEDNESDAY چهارشنبه
THURSDAY پنج شنبه
FRIDAY جمعه
SATURDAY شنبه
SUNDAY یکشنبه

فاصله

یک بازه زمانی را نشان می‌دهد که به‌عنوان شروع مهر زمانی (شامل) و پایان مهر زمانی (انحصاری) کدگذاری می‌شود.

شروع باید کمتر یا مساوی با پایان باشد. هنگامی که شروع برابر با پایان است، فاصله خالی است (هیچ زمانی مطابقت ندارد). وقتی شروع و پایان هر دو نامشخص هستند، فاصله زمانی با هر زمانی مطابقت دارد.

فیلدها
start_ time

Timestamp

اختیاری. شروع فراگیر فاصله

اگر مشخص شده باشد، مهر زمانی مطابق با این بازه زمانی باید یکسان یا پس از شروع باشد.

end_ time

Timestamp

اختیاری. پایان انحصاری فاصله

اگر مشخص شده باشد، یک مهر زمانی مطابق با این فاصله باید قبل از پایان باشد.

شماره تلفن

یک شی نشان دهنده شماره تلفن، مناسب به عنوان قالب سیم API.

این نمایندگی:

  • نباید برای قالب‌بندی محلی شماره تلفن، مانند «+1 (650) 253-0000 داخلی 123» استفاده شود.

  • برای ذخیره سازی کارآمد طراحی نشده است

  • ممکن است برای شماره گیری مناسب نباشد - کتابخانه های تخصصی (به منابع مراجعه کنید) باید برای تجزیه شماره برای آن منظور استفاده شود

برای انجام کاری معنادار با این شماره، مانند قالب بندی آن برای موارد مختلف، ابتدا آن را به یک شی i18n.phonenumbers.PhoneNumber تبدیل کنید.

به عنوان مثال، در جاوا این خواهد بود:

com.google.type.PhoneNumber wireProto =
    com.google.type.PhoneNumber.newBuilder().build();
com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber =
    PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ");
if (!wireProto.getExtension().isEmpty()) {
  phoneNumber.setExtension(wireProto.getExtension());
}

مرجع(ها): - https://github.com/google/libphonenumber

فیلدها
extension

string

پسوند شماره تلفن این افزونه در توصیه های ITU استاندارد نشده است، به جز اینکه به عنوان یک سری اعداد با طول حداکثر 40 رقم تعریف شده است. به غیر از ارقام، برخی از کاراکترهای شماره گیری دیگر مانند "،" (که نشان دهنده انتظار است) یا "#" ممکن است در اینجا ذخیره شوند.

توجه داشته باشید که در حال حاضر هیچ منطقه‌ای از برنامه‌های افزودنی با کدهای کوتاه استفاده نمی‌کند، بنابراین این فیلد معمولاً فقط با شماره E.164 تنظیم می‌شود. این شماره جدا از شماره E.164 نگهداری می‌شود تا امکان افزودن کد کوتاه در آینده فراهم شود.

kind میدان اتحادیه . مورد نیاز. یا یک شماره معمولی، یا یک کد کوتاه. ممکن است در آینده فیلدهای جدیدی به یکی از زیر اضافه شود، بنابراین مشتریان باید شماره تلفن هایی را که هیچ یک از فیلدهایی که برای آنها کد کرده اند نادیده بگیرند. kind می تواند تنها یکی از موارد زیر باشد:
e164_ number

string

شماره تلفن که به‌عنوان علامت مثبت («+») نشان داده می‌شود، به دنبال آن شماره تلفنی که از فرمت ITU E.164 آرام شامل کد تماس کشور (1 تا 3 رقم) و شماره مشترک، بدون هیچ اضافی استفاده می‌کند. فضاها یا قالب بندی به عنوان مثال: - صحیح: "+15552220123" - نادرست: "+1 (555) 222-01234 x123".

فرمت ITU E.164 دومی را به 12 رقم محدود می کند، اما در عمل همه کشورها به آن احترام نمی گذارند، بنابراین ما این محدودیت را در اینجا کاهش می دهیم. شماره های فقط ملی مجاز نیستند.

منابع: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164 . - https://en.wikipedia.org/wiki/List_of_country_calling_codes

short_ code

ShortCode

یک کد کوتاه

مرجع(ها): - https://en.wikipedia.org/wiki/Short_code

کد کوتاه

یک شی نشان دهنده یک کد کوتاه، که یک شماره تلفن است که معمولاً بسیار کوتاهتر از شماره تلفن های معمولی است و می تواند برای آدرس دادن به پیام ها در سیستم های MMS و SMS، و همچنین برای شماره گیری اختصاری استفاده شود (به عنوان مثال "611 را پیامک کنید تا ببینید چند عدد چند دقیقه در برنامه خود باقی مانده است.").

کدهای کوتاه محدود به یک منطقه هستند و در سطح بین‌المللی قابل شماره‌گیری نیستند، به این معنی که یک کد کوتاه یکسان می‌تواند در مناطق مختلف، با استفاده و قیمت‌های متفاوت وجود داشته باشد، حتی اگر آن مناطق از یک کد تماس کشور مشترک استفاده کنند (به عنوان مثال: ایالات متحده و کالیفرنیا).

فیلدها
region_ code

string

مورد نیاز. کد منطقه BCP-47 مکانی که می توان با این کد کوتاه تماس گرفت، مانند "US" و "BB".

مرجع(ها): - http://www.unicode.org/reports/tr35/#unicode_region_subtag

number

string

مورد نیاز. ارقام کد کوتاه، بدون علامت مثبت اصلی ('+') یا کد تماس کشور. به عنوان مثال "611".

آدرس پستی

نشان دهنده یک آدرس پستی است. به عنوان مثال برای آدرس های تحویل پستی یا پرداخت. با توجه به آدرس پستی، یک سرویس پستی می تواند اقلام را به محل، صندوق پستی یا موارد مشابه تحویل دهد. مدل سازی مکان های جغرافیایی (جاده ها، شهرها، کوه ها) در نظر گرفته نشده است.

در استفاده معمولی، بسته به نوع فرآیند، یک آدرس با ورودی کاربر یا از وارد کردن داده‌های موجود ایجاد می‌شود.

توصیه‌هایی در مورد ورودی/ویرایش آدرس: - از ویجت آدرس آماده بین‌المللی‌سازی مانند https://github.com/google/libaddressinput استفاده کنید - به کاربران نباید عناصر رابط کاربری برای ورودی یا ویرایش فیلدها در خارج از کشورهایی که آن فیلد وجود دارد ارائه شود. استفاده می شود.

برای راهنمایی بیشتر در مورد نحوه استفاده از این طرح، رجوع کنید به: https://support.google.com/business/answer/6397478

فیلدها
revision

int32

بازبینی طرحواره PostalAddress . این باید روی 0 تنظیم شود که آخرین ویرایش است.

همه ویرایش‌های جدید باید با نسخه‌های قبلی سازگار باشند.

region_ code

string

مورد نیاز. کد منطقه CLDR کشور/منطقه آدرس. این هرگز استنباط نمی شود و اطمینان از صحیح بودن مقدار به عهده کاربر است. برای جزئیات به https://cldr.unicode.org/ و https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html مراجعه کنید. مثال: "CH" برای سوئیس.

language_ code

string

اختیاری. کد زبان BCP-47 محتویات این آدرس (در صورت شناخته شدن). این اغلب زبان رابط کاربری فرم ورودی است یا انتظار می‌رود با یکی از زبان‌های مورد استفاده در کشور/منطقه آدرس یا معادل‌های نویسه‌گردانی شده آنها مطابقت داشته باشد. این می‌تواند بر قالب‌بندی در برخی کشورها تأثیر بگذارد، اما برای صحت داده‌ها حیاتی نیست و هرگز بر روی اعتبارسنجی یا سایر عملیات مرتبط با قالب‌بندی تأثیر نمی‌گذارد.

اگر این مقدار مشخص نیست، باید حذف شود (به جای تعیین یک پیش فرض احتمالاً نادرست).

مثال: "zh-Hant"، "ja"، "ja-Latn"، "en".

postal_ code

string

اختیاری. کد پستی آدرس همه کشورها از وجود کدهای پستی استفاده نمی‌کنند یا نیازی به وجود کد پستی ندارند، اما در جایی که از آنها استفاده می‌شود، ممکن است اعتبار سنجی اضافی را با سایر بخش‌های آدرس راه‌اندازی کنند (مثلاً اعتبارسنجی ایالت/زیپ در ایالات متحده).

sorting_ code

string

اختیاری. کد مرتب‌سازی اضافی، خاص کشور. این در اکثر مناطق استفاده نمی شود. در جایی که از آن استفاده می‌شود، مقدار یا رشته‌ای مانند «CEDEX» است، که به صورت اختیاری با یک عدد دنبال می‌شود (مثلاً «CEDEX 7»)، یا فقط یک عدد به تنهایی، نشان‌دهنده «کد بخش» (جامائیکا)، «نشانگر ناحیه تحویل» " (مالاوی) یا "نشانگر اداره پست" (به عنوان مثال ساحل عاج).

administrative_ area

string

اختیاری. بالاترین بخش اداری که برای آدرس های پستی یک کشور یا منطقه استفاده می شود. به عنوان مثال، این می تواند یک ایالت، یک استان، یک استان یا یک استان باشد. به طور خاص، برای اسپانیا این استان است و نه جامعه خودمختار (به عنوان مثال "بارسلونا" و نه "کاتالونیا"). بسیاری از کشورها از یک منطقه اداری در آدرس های پستی استفاده نمی کنند. به عنوان مثال در سوئیس این باید خالی از سکنه بماند.

locality

string

اختیاری. عموماً به بخش شهر/شهرک آدرس اشاره دارد. مثال: شهر ایالات متحده، کمون فناوری اطلاعات، شهر پست بریتانیا. در مناطقی از جهان که محلی ها به خوبی تعریف نشده اند یا به خوبی در این ساختار قرار نمی گیرند، محلی را خالی بگذارید و از خطوط آدرس استفاده کنید.

sublocality

string

اختیاری. موقعیت فرعی آدرس به عنوان مثال، این می تواند محله، محله، منطقه باشد.

address_ lines[]

string

خطوط آدرس بدون ساختار که سطوح پایین یک آدرس را توصیف می کند.

از آنجا که مقادیر موجود در خطوط آدرس اطلاعات نوع ندارند و گاهی اوقات ممکن است حاوی چندین مقدار در یک فیلد واحد باشند (به عنوان مثال "Austin, TX")، واضح بودن ترتیب خطوط مهم است. ترتیب خطوط آدرس باید "سفارش پاکت" برای کشور/منطقه آدرس باشد. در جاهایی که این می تواند متفاوت باشد (به عنوان مثال ژاپن)، address_language برای واضح کردن آن استفاده می شود (به عنوان مثال "ja" برای سفارش بزرگ به کوچک و "ja-Latn" یا "en" برای کوچک به بزرگ). به این ترتیب، مشخص ترین خط یک آدرس را می توان بر اساس زبان انتخاب کرد.

حداقل نمایش ساختاری مجاز یک آدرس شامل یک منطقه_کد با تمام اطلاعات باقی مانده در خطوط آدرس است. قالب بندی چنین آدرسی تقریباً بدون کدگذاری جغرافیایی امکان پذیر است، اما هیچ استدلال معنایی در مورد هیچ یک از اجزای آدرس نمی توان تا حداقل تا حدی حل شود.

ایجاد آدرسی که فقط شامل یک region_code و address_lines باشد، و سپس geocoding روشی توصیه شده برای رسیدگی به آدرس‌های کاملاً بدون ساختار است (برخلاف حدس زدن اینکه کدام قسمت‌های آدرس باید محل‌ها یا مناطق اداری باشد).

recipients[]

string

اختیاری. گیرنده در آدرس این فیلد تحت شرایط خاصی ممکن است حاوی اطلاعات چند خطی باشد. به عنوان مثال، ممکن است حاوی اطلاعات "مراقبت از" باشد.

organization

string

اختیاری. نام سازمان در آدرس.

TimeOfDay

یک زمان از روز را نشان می دهد. تاریخ و منطقه زمانی یا مهم نیستند یا در جای دیگری مشخص شده اند. یک API ممکن است اجازه دهد ثانیه های کبیسه را مجاز کند. انواع مرتبط عبارتند از google.type.Date و google.protobuf.Timestamp .

فیلدها
hours

int32

ساعات روز در قالب 24 ساعته. باید بزرگتر یا مساوی 0 باشد و معمولاً باید کمتر یا مساوی 23 باشد. یک API ممکن است برای سناریوهایی مانند زمان بسته شدن کسب و کار، مقدار "24:00:00" را مجاز کند.

minutes

int32

دقیقه یک ساعت. باید بزرگتر یا مساوی 0 و کوچکتر یا مساوی 59 باشد.

seconds

int32

ثانیه های یک دقیقه باید بزرگتر یا مساوی 0 باشد و معمولاً باید کمتر یا مساوی 59 باشد. یک API ممکن است مقدار 60 را در صورتی که اجازه دهد ثانیه های کبیسه اجازه دهد.

nanos

int32

کسری از ثانیه، در نانوثانیه. باید بزرگتر یا مساوی 0 و کوچکتر یا مساوی 999999999 باشد.

منطقه زمانی

یک منطقه زمانی را از پایگاه داده منطقه زمانی IANA نشان می دهد.

فیلدها
id

string

منطقه زمانی پایگاه داده منطقه زمانی IANA. به عنوان مثال "America/New_York".

version

string

اختیاری. شماره نسخه پایگاه داده منطقه زمانی IANA. به عنوان مثال "2019a".