Package google.type

ดัชนี

วันที่

แสดงวันที่ในปฏิทินบางส่วนหรือทั้งหมด เช่น วันเกิด มีการระบุเวลาของวันและเขตเวลาไว้ที่อื่นหรือไม่มีนัยสำคัญ วันที่จะสัมพันธ์กับปฏิทินเกรกอเรียน ซึ่งอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้

  • วันที่แบบเต็ม โดยมีค่าปี เดือน และวันที่ไม่ใช่ 0
  • 1 เดือนและวัน โดยมี 0 ปี (เช่น วันครบรอบ)
  • ปีหนึ่งๆ มี 0 เดือนและมี 0 วัน
  • 1 ปีและเดือน โดยมี 0 วัน (เช่น วันที่หมดอายุของบัตรเครดิต)

ประเภทที่เกี่ยวข้อง:

ช่อง
year

int32

ปีของวันที่ ต้องเป็นตัวเลขตั้งแต่ 1 ถึง 9999 หรือ 0 เพื่อระบุวันที่ที่ไม่มีปี

month

int32

เดือนของปี ต้องมีค่าตั้งแต่ 1 ถึง 12 หรือ 0 เพื่อระบุปีที่ไม่มีเดือนและวัน

day

int32

วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และจะใช้ได้สำหรับปีและเดือน หรือ 0 เพื่อระบุปีเพียงอย่างเดียว หรือ 1 ปีและเดือนที่วันไม่มีนัยสำคัญ

DayOfWeek

แสดงวันของสัปดาห์

Enum
DAY_OF_WEEK_UNSPECIFIED ไม่ระบุวันของสัปดาห์
MONDAY วันจันทร์
TUESDAY วันอังคาร
WEDNESDAY วันพุธ
THURSDAY พฤหัสบดี
FRIDAY วันศุกร์
SATURDAY เสาร์
SUNDAY วันอาทิตย์

ช่วงเวลา

แสดงช่วงเวลาที่เข้ารหัสเป็นจุดเริ่มต้นของการประทับเวลา (นับรวมด้วย) และเวลาสิ้นสุดของการประทับเวลา (ไม่รวม)

จุดเริ่มต้นต้องน้อยกว่าหรือเท่ากับจุดสิ้นสุด เมื่อเริ่มต้นเท่ากับจุดสิ้นสุด ช่วงเวลาจะว่างเปล่า (ไม่จับคู่) เมื่อไม่ได้ระบุทั้งจุดเริ่มต้นและจุดสิ้นสุด ช่วงเวลาจะตรงกันได้ทุกเมื่อ

ช่อง
start_time

Timestamp

ไม่บังคับ จุดเริ่มต้นของช่วงเวลาแบบรวม

หากระบุไว้ การประทับเวลาที่ตรงกับช่วงเวลานี้จะต้องเป็นรายการเดียวกันหรือหลังจากเวลาเริ่มต้น

end_time

Timestamp

ไม่บังคับ ช่วงสิ้นสุดพิเศษ

หากระบุไว้ การประทับเวลาที่ตรงกับช่วงเวลานี้จะต้องอยู่ก่อนสิ้นสุด

PhoneNumber

วัตถุที่แสดงถึงหมายเลขโทรศัพท์ ซึ่งเหมาะสำหรับรูปแบบสาย API

สิ่งที่นำเสนอนี้

  • ไม่ควรใช้สำหรับการจัดรูปแบบหมายเลขโทรศัพท์เฉพาะภาษา เช่น "+1 (650) 253-0000 ต่อ 123"

  • ไม่ได้ออกแบบมาเพื่อพื้นที่เก็บข้อมูลที่มีประสิทธิภาพ

  • อาจไม่เหมาะกับการกดหมายเลข - ควรใช้ไลบรารีพิเศษ (ดูข้อมูลอ้างอิง) เพื่อแยกวิเคราะห์หมายเลขสำหรับวัตถุประสงค์ดังกล่าว

หากต้องการดำเนินการบางอย่างที่มีความหมายด้วยตัวเลขนี้ เช่น จัดรูปแบบสำหรับกรณีการใช้งานต่างๆ ให้แปลงเป็นออบเจ็กต์ i18n.phonenumbers.PhoneNumber ก่อน

ตัวอย่างเช่น ใน Java ผลลัพธ์จะเป็น:

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

ShortCode

วัตถุที่แสดงรหัสสั้นๆ ซึ่งเป็นหมายเลขโทรศัพท์ที่ปกติแล้วจะสั้นกว่าหมายเลขโทรศัพท์ปกติมาก และสามารถใช้เพื่อส่งข้อความในระบบ MMS และ SMS รวมถึงการโทรแบบย่อ (เช่น "ส่งข้อความ 611 เพื่อดูว่าคุณเหลือเวลาอีกกี่นาทีในแพ็กเกจของคุณ")

รหัสแบบสั้นจะจำกัดเฉพาะภูมิภาคและไม่สามารถโทรออกระหว่างประเทศได้ ซึ่งหมายความว่ารหัสแบบสั้นชุดเดียวกันจะสามารถใช้ได้ในภูมิภาคต่างๆ โดยมีการใช้งานและราคาแตกต่างกัน แม้ว่าภูมิภาคเหล่านั้นจะใช้รหัสประเทศเดียวกัน (เช่น US และ CA)

ช่อง
region_code

string

ต้องระบุ รหัสภูมิภาค BCP-47 ของสถานที่ตั้งที่สามารถโทรไปยังรหัสย่อนี้ได้ เช่น "US" และ "BB"

ข้อมูลอ้างอิง: - http://www.unicode.org/reports/tr35/#unicode_region_subtag

number

string

ต้องระบุ เลขรหัสแบบสั้นที่ไม่มีเครื่องหมายบวก ("+") นำหน้า หรือรหัสประเทศ เช่น "611"

PostalAddress

แสดงที่อยู่ทางไปรษณีย์ เช่น ที่อยู่สำหรับการจัดส่งทางไปรษณีย์หรือที่อยู่การชำระเงิน บริการไปรษณีย์อาจส่งสินค้าไปยังสถานที่ ตู้ปณ. หรือใกล้เคียงได้หากมีที่อยู่ทางไปรษณีย์ ไม่ได้มีไว้เพื่อสร้างแบบจำลองตำแหน่งทางภูมิศาสตร์ (ถนน เมือง ภูเขา)

ในการใช้งานโดยทั่วไป ที่อยู่จะสร้างขึ้นผ่านข้อมูลจากผู้ใช้หรือจากการนำเข้าข้อมูลที่มีอยู่ ทั้งนี้ขึ้นอยู่กับประเภทของกระบวนการ

คำแนะนำเกี่ยวกับการป้อน / การแก้ไขที่อยู่: - ใช้วิดเจ็ตที่อยู่ที่รองรับการปรับให้เป็นสากล เช่น https://github.com/google/libaddressinput) - ผู้ใช้ไม่ควรแสดงองค์ประกอบ UI สำหรับการป้อนหรือแก้ไขช่องนอกประเทศที่ใช้ช่องนั้น

ดูคำแนะนำเพิ่มเติมเกี่ยวกับวิธีใช้สคีมานี้ได้ที่ 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 ของเนื้อหาในที่อยู่นี้ (หากทราบ) ซึ่งมักเป็นภาษา UI ของแบบฟอร์มอินพุตหรือคาดว่าจะตรงกับภาษาใดภาษาหนึ่งที่ใช้ในประเทศ/ภูมิภาคของที่อยู่หรือคำทับศัพท์ที่เทียบเท่า ซึ่งอาจส่งผลต่อการจัดรูปแบบในบางประเทศ แต่ไม่สำคัญต่อความถูกต้องของข้อมูล และจะไม่ส่งผลต่อการตรวจสอบความถูกต้องหรือการดำเนินการอื่นๆ ที่ไม่เกี่ยวข้องกับการจัดรูปแบบ

หากไม่ทราบค่านี้ ก็ควรละเว้น (แทนที่จะระบุค่าเริ่มต้นที่อาจไม่ถูกต้อง)

เช่น "zh-Hant", "ja", "ja-Latn", "en"

postal_code

string

ไม่บังคับ รหัสไปรษณีย์ของที่อยู่ บางประเทศอาจไม่ได้ใช้หรือกำหนดให้แสดงรหัสไปรษณีย์ แต่ประเทศที่ใช้รหัสเหล่านี้อาจทำให้มีการตรวจสอบเพิ่มเติมกับส่วนอื่นๆ ของที่อยู่ (เช่น การตรวจสอบรัฐ/รหัสไปรษณีย์ในสหรัฐอเมริกา)

sorting_code

string

ไม่บังคับ รหัสการจัดเรียงเพิ่มเติม รหัสเฉพาะประเทศ ซึ่งไม่มีใช้ในภูมิภาคส่วนใหญ่ ในจุดที่ใช้ ค่าอาจเป็นสตริง เช่น "CEDEX" ซึ่งตามด้วยตัวเลข (เช่น "CEDEX 7") หรือเพียงแค่ตัวเลขเพียงอย่างเดียว ซึ่งแทน "รหัสภาคส่วน" (จาเมกา) "ตัวบ่งชี้พื้นที่นำส่ง" (มาลาวี) หรือ "ตัวบ่งชี้ที่ทำการไปรษณีย์" (เช่น โกตดิวัวร์)

administrative_area

string

ไม่บังคับ เขตการปกครองสูงสุด ซึ่งใช้สำหรับที่อยู่ทางไปรษณีย์ของประเทศหรือภูมิภาค ตัวอย่างเช่น อาจเป็นรัฐ จังหวัด แคว้น หรือจังหวัด โดยเฉพาะอย่างยิ่งสำหรับสเปน ประเทศนี้เป็นจังหวัด ไม่ใช่ชุมชนปกครองตนเอง (เช่น "บาร์เซโลนา" ไม่ใช่ "คาตาโลเนีย") มีหลายประเทศไม่ใช้เขตบริหารในที่อยู่ทางไปรษณีย์ เช่น ในสวิตเซอร์แลนด์ ข้อมูลนี้ไม่ควรได้รับการป้อนข้อมูล

locality

string

ไม่บังคับ โดยทั่วไปหมายถึงส่วนเมืองของที่อยู่ ตัวอย่าง: เมืองในสหรัฐอเมริกา, เขตไอที, เมืองไปรษณีย์ของสหราชอาณาจักร ในภูมิภาคของโลกที่ไม่มีการกำหนดพื้นที่ไว้อย่างดีหรือไม่เหมาะสมกับโครงสร้างนี้ ให้ปล่อยย่านว่างไว้และใช้ address_lines

sublocality

string

ไม่บังคับ สถานที่ตั้งย่อยของที่อยู่ ตัวอย่างเช่น ละแวกบ้าน เขตเมือง เขตต่างๆ

address_lines[]

string

บรรทัดที่อยู่ที่ไม่มีโครงสร้างซึ่งอธิบายถึงระดับที่ต่ำกว่าของที่อยู่

เนื่องจากค่าใน address_lines นั้นไม่มีข้อมูลประเภท และบางครั้งอาจมีหลายค่าในช่องเดียว (เช่น "ออสติน, เทกซัส") ดังนั้นจึงจำเป็นที่การเรียงลำดับบรรทัดจะต้องชัดเจน ลำดับของบรรทัดที่อยู่ควรเป็น "ลำดับซองจดหมาย" สำหรับประเทศ/ภูมิภาคของที่อยู่ ในพื้นที่ที่อาจแตกต่างกันไป (เช่น ญี่ปุ่น) ระบบจะใช้ address_language เพื่อทำให้ชัดเจน (เช่น "ja" สำหรับการสั่งซื้อจากใหญ่ไปเล็ก และ "ja-Latn" หรือ "en" สำหรับเล็กไปใหญ่) วิธีนี้จะช่วยให้เลือกบรรทัดของที่อยู่ที่เจาะจงที่สุดตามภาษาได้

การแสดงโครงสร้างต่ำสุดที่ได้รับอนุญาตของที่อยู่ประกอบด้วยรหัสภูมิภาค [region_code] โดยมีข้อมูลที่เหลือทั้งหมดอยู่ใน address_lines รูปแบบที่อยู่เช่นนี้สามารถทำได้อย่างคร่าวๆ โดยไม่ต้องมีการเข้ารหัสพิกัดภูมิศาสตร์ แต่ไม่มีการให้เหตุผลเชิงความหมายเกี่ยวกับองค์ประกอบที่อยู่ใดๆ จนกว่าจะได้รับการแก้ไขบางส่วนเป็นอย่างน้อย

การสร้างที่อยู่ที่มีเพียง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 ถึง 999,999,999

TimeZone

แสดงเขตเวลาจากฐานข้อมูลเขตเวลาของ IANA

ช่อง
id

string

เขตเวลาของฐานข้อมูลเขตเวลาของ IANA เช่น "America/New_York"

version

string

ไม่บังคับ หมายเลขเวอร์ชันฐานข้อมูลเขตเวลาของ IANA เช่น "2019a"