Package google.type

ดัชนี

วันที่

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

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

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

ช่อง
year

int32

ปีของวันที่ ต้องอยู่ในช่วง 1 ถึง 9999 หรือ 0 เพื่อระบุวันที่โดยไม่มีปี

month

int32

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

day

int32

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

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

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

Enum
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 ก่อน

เช่น ใน 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 รวมถึงใช้สำหรับการโทรแบบย่อ (เช่น "ส่ง SMS มาที่ 611 เพื่อดูจำนวนนาทีที่เหลือในแพ็กเกจ")

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

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

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

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

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 ได้หากอนุญาตให้ใช้วินาทีของ leap

nanos

int32

เศษส่วนของวินาทีเป็นนาโนวินาที ต้องมากกว่าหรือเท่ากับ 0 และน้อยกว่าหรือเท่ากับ 999,999,999

TimeZone

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

ช่อง
id

string

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

version

string

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