gophonenumbers

package module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2021 License: MIT Imports: 9 Imported by: 3

README

GoPhoneNumbers

Build Status Go Report Card Docs License

This library provides phone number information functionality including ability to access number look up APIs. It includes a Go client and CLI app for the Numverify API, and Twilio API.

https://numverify.com/documentation

Installation

Install Command
SDK only $ go get github.com/grokify/gophonenumbers
CLI only $ go get github.com/grokify/gophonenumbers/apps/numverify
SDK and CLI $ go get github.com/grokify/gophonenumbers/...

Usage

CLI App
Options Long Short Example
.env File --env -e -e=/path/to/.env
Access Token --token -t -t=<myToken>
Validate Number --number -n -n=<number>
List Countries --countries -c -c
Example Commands
$ numverify -e=/path/to/.env -n=+16505550100
$ numverify -t=<myToken> -n=+16505550100
$ numverify -e=/path/to/.env -c
$ numverify -t=<myToken> -c
SDK
Validate Number
import(
	nv "github.com/grokify/gophonenumbers/numverify"
)

func main() {
	client := nv.NumverifyClient{AccessKey: "myAccessKey"}

	apiSuccessInfo, apiErrorInfo, resp, err := client.Validate(
		nv.NumverifyParams{Number: number})

	[...]
}
Get Countries
import(
	nv "github.com/grokify/gophonenumbers/numverify"
)

func main() {
	client := nv.NumverifyClient{AccessKey: "myAccessKey"}

	countries, apiErrorInfo, resp, err := client.Countries()

	[...]
}

Documentation

Index

Constants

View Source
const (
	CarrierATT     = "att"
	CarrierSprint  = "sprint"
	CarrierTMobile = "tmobile"
	CarrierVerizon = "verizon"

	LineTypeLocal    = "local"
	LineTypeMobile   = "mobile"
	LineTypeTollFree = "tollfree"

	SourceEkata     = "ekata"
	SourceNumverify = "numverify"
	SourcePlivo     = "plivo"
	SourceTwilio    = "twilio"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CarrierNumberInfo added in v0.2.0

type CarrierNumberInfo struct {
	E164Number        string `json:"e164Number"`
	MobileCountryCode string `json:"mobileCountryCode,omitempty"`
	MobileNetworkCode string `json:"mobileNetworkCode,omitempty"`
	Name              string `json:"name,omitempty"`
	LineType          string `json:"lineType,omitempty"`
	ErrorCode         string `json:"errorCode,omitempty"`
}

type Components

type Components struct {
	E164Number       string
	E164NumberUint   uint
	RegionCode       string
	CountryCode      uint
	NANPAreaCode     uint // NPA - Numbering plan area code
	NANPExchangeCode uint // NXX - Central office (exchange) code
	NANPLineNumber   uint // xxxx - Line number or subscriber number
}

type Lookup added in v0.2.0

type Lookup struct {
	CarrierNumberInfo CarrierNumberInfo      `json:"carrierNumberInfo"`
	LookupSource      string                 `json:"lookupSource"`
	LookupTime        time.Time              `json:"lookupTime"`
	LookupResponse    map[string]interface{} `json:"lookupResponse"`
}

type LookupSet added in v0.2.0

type LookupSet struct {
	LookupMap map[string]Lookup `json:"lookupMap"`
}

func NewLookupSet added in v0.2.0

func NewLookupSet() LookupSet

func (LookupSet) Add added in v0.2.0

func (set LookupSet) Add(lookup Lookup)

func (LookupSet) Latest added in v0.2.0

func (set LookupSet) Latest(source string) (Lookup, error)

func (LookupSet) Validate added in v0.2.0

func (set LookupSet) Validate()

type MapStringString added in v0.2.0

type MapStringString map[string]string

type Number added in v0.2.0

type Number struct {
	E164Number        string            `json:"e164Number"`
	CountryCode       string            `json:"countryCode"`
	CarrierNumberInfo CarrierNumberInfo `json:"carrier"`
	Lookups           LookupSet         `json:"lookups"`
}

func NewNumber added in v0.2.0

func NewNumber() Number

func (*Number) NANPComponents added in v0.2.0

func (num *Number) NANPComponents() (Components, error)

func (*Number) SetLatest added in v0.2.0

func (num *Number) SetLatest(source string) error

type NumberSet added in v0.2.0

type NumberSet struct {
	Numbers map[string]Number `json:"numbers"`
}

func NewNumberSet added in v0.2.0

func NewNumberSet() NumberSet

func (*NumberSet) Add added in v0.2.0

func (set *NumberSet) Add(num Number) error

func (*NumberSet) MapNumberCarrierName added in v0.2.0

func (set *NumberSet) MapNumberCarrierName() map[string]string

func (*NumberSet) MapNumberLineType added in v0.2.0

func (set *NumberSet) MapNumberLineType() map[string]string

func (*NumberSet) WriteFileJSON added in v0.2.0

func (set *NumberSet) WriteFileJSON(filename, prefix, indent string, perm fs.FileMode) error

Directories

Path Synopsis
apps

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL