Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_google_type_phone_number_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type PhoneNumber

type PhoneNumber struct {

	// Required.  Either a regular number, or a short code.  New fields may be
	// added to the oneof below in the future, so clients should ignore phone
	// numbers for which none of the fields they coded against are set.
	//
	// Types that are assignable to Kind:
	//	*PhoneNumber_E164Number
	//	*PhoneNumber_ShortCode_
	Kind isPhoneNumber_Kind `protobuf_oneof:"kind"`
	// The phone number's extension. The extension is not standardized in ITU
	// recommendations, except for being defined as a series of numbers with a
	// maximum length of 40 digits. Other than digits, some other dialing
	// characters such as ',' (indicating a wait) or '#' may be stored here.
	//
	// Note that no regions currently use extensions with short codes, so this
	// field is normally only set in conjunction with an E.164 number. It is held
	// separately from the E.164 number to allow for short code extensions in the
	// future.
	Extension string `protobuf:"bytes,3,opt,name=extension,proto3" json:"extension,omitempty"`
	// contains filtered or unexported fields
}

An object representing a phone number, suitable as an API wire format.

This representation:

- should not be used for locale-specific formatting of a phone number, such
  as "+1 (650) 253-0000 ext. 123"

- is not designed for efficient storage
- may not be suitable for dialing - specialized libraries (see references)
  should be used to parse the number for that purpose

To do something meaningful with this number, such as format it for various use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first.

For instance, in Java this would be:

  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());
  }

Reference(s):
 - https://github.com/google/libphonenumber

func (*PhoneNumber) Descriptor

func (*PhoneNumber) Descriptor() ([]byte, []int)

Deprecated: Use PhoneNumber.ProtoReflect.Descriptor instead.

func (*PhoneNumber) GetE164Number

func (x *PhoneNumber) GetE164Number() string

func (*PhoneNumber) GetExtension

func (x *PhoneNumber) GetExtension() string

func (*PhoneNumber) GetKind

func (m *PhoneNumber) GetKind() isPhoneNumber_Kind

func (*PhoneNumber) GetShortCode

func (x *PhoneNumber) GetShortCode() *PhoneNumber_ShortCode

func (*PhoneNumber) ProtoMessage

func (*PhoneNumber) ProtoMessage()

func (*PhoneNumber) ProtoReflect

func (x *PhoneNumber) ProtoReflect() protoreflect.Message

func (*PhoneNumber) Reset

func (x *PhoneNumber) Reset()

func (*PhoneNumber) String

func (x *PhoneNumber) String() string

type PhoneNumber_E164Number

type PhoneNumber_E164Number struct {
	// The phone number, represented as a leading plus sign ('+'), followed by a
	// phone number that uses a relaxed ITU E.164 format consisting of the
	// country calling code (1 to 3 digits) and the subscriber number, with no
	// additional spaces or formatting, e.g.:
	//  - correct: "+15552220123"
	//  - incorrect: "+1 (555) 222-01234 x123".
	//
	// The ITU E.164 format limits the latter to 12 digits, but in practice not
	// all countries respect that, so we relax that restriction here.
	// National-only numbers are not allowed.
	//
	// References:
	//  - 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
	E164Number string `protobuf:"bytes,1,opt,name=e164_number,json=e164Number,proto3,oneof"`
}

type PhoneNumber_ShortCode

type PhoneNumber_ShortCode struct {

	// Required. The BCP-47 region code of the location where calls to this
	// short code can be made, such as "US" and "BB".
	//
	// Reference(s):
	//  - http://www.unicode.org/reports/tr35/#unicode_region_subtag
	RegionCode string `protobuf:"bytes,1,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
	// Required. The short code digits, without a leading plus ('+') or country
	// calling code, e.g. "611".
	Number string `protobuf:"bytes,2,opt,name=number,proto3" json:"number,omitempty"`
	// contains filtered or unexported fields
}

An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (e.g. "Text 611 to see how many minutes you have remaining on your plan.").

Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (e.g. US and CA).

func (*PhoneNumber_ShortCode) Descriptor

func (*PhoneNumber_ShortCode) Descriptor() ([]byte, []int)

Deprecated: Use PhoneNumber_ShortCode.ProtoReflect.Descriptor instead.

func (*PhoneNumber_ShortCode) GetNumber

func (x *PhoneNumber_ShortCode) GetNumber() string

func (*PhoneNumber_ShortCode) GetRegionCode

func (x *PhoneNumber_ShortCode) GetRegionCode() string

func (*PhoneNumber_ShortCode) ProtoMessage

func (*PhoneNumber_ShortCode) ProtoMessage()

func (*PhoneNumber_ShortCode) ProtoReflect

func (x *PhoneNumber_ShortCode) ProtoReflect() protoreflect.Message

func (*PhoneNumber_ShortCode) Reset

func (x *PhoneNumber_ShortCode) Reset()

func (*PhoneNumber_ShortCode) String

func (x *PhoneNumber_ShortCode) String() string

type PhoneNumber_ShortCode_

type PhoneNumber_ShortCode_ struct {
	// A short code.
	//
	// Reference(s):
	//  - https://en.wikipedia.org/wiki/Short_code
	ShortCode *PhoneNumber_ShortCode `protobuf:"bytes,2,opt,name=short_code,json=shortCode,proto3,oneof"`
}