github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/examples/ringout/ringout.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 8 "github.com/grokify/mogo/fmt/fmtutil" 9 scu "github.com/grokify/mogo/strconv/strconvutil" 10 11 rc "github.com/grokify/go-ringcentral-client/office/v1/client" 12 "github.com/grokify/go-ringcentral-client/office/v1/examples" 13 ) 14 15 func ringoutBodyEnv() *rc.MakeRingOutRequest { 16 return &rc.MakeRingOutRequest{ 17 From: rc.MakeRingOutCallerInfoRequestFrom{ 18 PhoneNumber: os.Getenv("RINGCENTRAL_DEMO_RINGOUT_FROM"), 19 }, 20 To: rc.MakeRingOutCallerInfoRequestTo{ 21 PhoneNumber: os.Getenv("RINGCENTRAL_DEMO_RINGOUT_TO"), 22 }, 23 PlayPrompt: scu.MustParseBool(os.Getenv("RINGCENTRAL_DEMO_RINGOUT_PROMPT")), 24 } 25 } 26 27 func main() { 28 err := examples.LoadEnv() 29 if err != nil { 30 panic(err) 31 } 32 33 apiClient, err := examples.NewApiClient() 34 if err != nil { 35 panic(err) 36 } 37 38 body := ringoutBodyEnv() 39 fmtutil.PrintJSON(body) 40 41 info, resp, err := apiClient.RingOutApi.MakeRingOutCallNew( 42 context.Background(), "~", "~", *body, 43 ) 44 if err != nil { 45 panic(err) 46 } else if resp.StatusCode > 299 { 47 panic(fmt.Errorf("API Status %v", resp.StatusCode)) 48 } 49 fmtutil.PrintJSON(info) 50 fmt.Println("DONE") 51 }