This guide shows how to send non-templated WhatsApp messages to WhatsApp recipients using our APIs. Follow these instructions.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Go development environment.
You can only send a non-templated WhatsApp message as a reply to a user-initiated conversation or as part of an existing ongoing conversation that started with a templated WhatsApp message.
Create a file called send_whatsapp.go
and paste into it this code.
package main
import (
""fmt""
""github.com/plivo/plivo-go/v7""
)
func main() {
client, err := plivo.NewClient(""<auth_id>"", ""<auth_token>"", &plivo.ClientOptions{})
if err != nil {
fmt.Print(""Error"", err.Error())
return
}
response, err := client.Messages.Create(
plivo.MessageCreateParams{
Src:""+14151112221"",
Dst:""+14151112222"",
Type:""whatsapp"",
Text:""Hello, this is sample text"",
MediaUrls:[]string{""https://sample-videos.com/img/Sample-png-image-1mb.png""},
URL: ""https://foo.com/sms_status/""
},
)
if err != nil {
fmt.Print(""Error"", err.Error())
return
}
fmt.Printf(""Response: %#v\n"", response)
// Prints only the message_uuid
fmt.Printf(""Response: %#v\n"", response.MessageUUID)
}
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with your phone numbers in E.164 format (for example, +12025551234). src should be a phone number registered to your WhatsApp Business Account. dst should be the recipient’s WhatsApp number.
Pass media using a hosted media URL. For details about this param, refer to our documentation.
Save the file and run it.