- Go & Gin
- Go & Martini
Get Started with Go Using Gin Web Framework
Start by signing up for a free trial account that you can use to experiment with and learn about our services. The free trial account comes with free credits, and you can add more as you go along. You can also add a phone number to your account to start testing the full range of our voice and SMS features. A page in our support portal walks you through the signup process.You can start making and receiving calls either by using our PHLO visual workflow builder or our APIs and XML documents. Follow the instructions in one of the tabs below.- Using XML
Install Go, Gin, and the Plivo Go SDK
You must set up and install Go, Gin, and Plivo’s Go SDK before you make your first call.Install Go
Download and install Go from its official site.Install Gin and the Plivo Go SDK
Create a projects directory and change into it.go command.GOPATH.Once you’ve set up your development environment, you can start making and receiving calls using our APIs and XML documents. Here are three common use cases to get you started.Make your first outbound call

Code
Create a file calledMakeCall.go and paste into it this code.Note:
We recommend that you store your credentials in the
auth_id and auth_token environment variables to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and Plivo will automatically fetch the values from the environment variables. You can use os.Setenv and os.Getenv functions to store environment variables and fetch them when initializing the client.Test
Save the file and run it.Receive your first inbound call

Set up a Go Gin server to handle incoming calls
Create a file calledreceive_call.go and paste into it this code.Expose your local server to the internet
To receive incoming calls, your local server must connect with Plivo API services. For that, we recommend using ngrok, which exposes local servers running behind NATs and firewalls to the public internet over secure tunnels. Using ngrok, you can set webhooks that can talk to the Plivo server.

Create a Plivo application to receive calls
Associate the controller you created with Plivo by creating a Plivo application. Visit Voice > Applications and click Add New Application. You can also use Plivo’s Application API.Give your application a name — we called oursReceive_call. Enter the server URL you want to use (for example https://<yourdomain>.com/receivecall/) in the Primary Answer URL field and set the method to POST. Click Create Application to save your application.
Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Receive Call (the name we gave the application).Click Update Number to save.
Test
Make a call to your Plivo number using any phone.Forward an incoming call

Set up a Go Gin server to forward calls
Create a file calledforward_call.go and paste into it this code.Create a Plivo application to forward calls
Associate the Go application you created with Plivo by creating a Plivo application. Visit Voice > Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API.Give your application a name — we called oursForward Call. Enter the server URL you want to use (for example https://<yourdomain>.com/forward_call/) in the Answer URL field and set the method to POST. Click Create Application to save your application.Assign a Plivo number to your application
Navigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, selectXML Application.From the Plivo Application drop-down, select Forward Call (the name we gave the application).Click Update Number to save.