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  }