- Node
- Ruby
- Python
- PHP
- .NET
- Java
- Go
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp numbers. Templated messages are a crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversation with their customers using templated messages.WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp message using our APIs. Follow the instructions below.Prerequisites
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 Node.js development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA and have a template in an approved state.If your phone number is inconnected state and a template is in approved state, you can send your first message.Create send WhatsApp application
Create a file calledsend_whatsapp.js and paste into it this code.Copy
Ask AI
var plivo = require('plivo');
var client = new plivo.Client("<auth_id>", "<auth_token>");
const template = {
"name": "sample_purchase_feedback",
"language": "en_US",
"components": [
{
"type": "header",
"parameters": [
{
"type": "media",
"media": "https:'//'plivo.com/s3/img1.jpg"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "John Doe"
}
]
},
{
"type": "button",
"sub_type":"quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Payload sent in inbound webhook response"}]
},
{
"type": "button",
"sub_type":"url",
"index": "1",
"parameters": [
{
"type": "text",
"text": "replacement text which will append to url"}]
}
]
}
client.messages.create(
{
src:"+14151112221",
dst:"+14151112222",
type:"whatsapp",
template:template,
url: "https:'//'foo.com/sms_status/"
}
).then(function (response) {
console.log(response);
});
src should be your phone number registered against your WhatsApp Business Account. dst should be the destination WhatsApp number that you want to receive the message. 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 process.env to store environment variables and fetch them when initializing the client.Test
Save the file and run it.Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp number. Templated messages are crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversations using templated messages. WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp messages using our APIs. Follow these instructions.Prerequisites
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 Ruby development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA, and have a template in an approved state.If you phone number is inconnected state and template is in approved state, you can send your first message.Create the send WhatsApp application
Create a file calledWhatsappMessageCreate.rb and paste into it this code.Copy
Ask AI
require "plivo"
include Plivo
api = RestClient.new("<auth_id>","<auth_token>")
template={
"name": "sample_purchase_feedback",
"language": "en_US",
"components": [
{
"type": "header",
"parameters": [
{
"type": "media",
"media": "https://plivo.com/s3/img1.jpg"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "John Doe"
}
]
},
{
"type": "button",
"sub_type":"quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Payload sent in inbound webhook response"
}
]
},
{
"type": "button",
"sub_type":"url",
"index": "1",
"parameters": [
{
"type": "text",
"text": "replacement text which will append to url"
}
]
}
]
}
response = api.messages.create(
src: "+14151112221",
dst:"+14151112222",
type:"whatsapp",
template:template,
url: "https://<yourdomain>.com/sms status/")
puts response #Prints only the message_uuid puts response.message_uuid"
#Prints only the message_uuid
puts response.message_uuid
src would be your phone number registered against your WhatsApp business account. dst would be the destination WhatsApp number that would receive the message. 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 process.env to store environment variables and fetch them when initializing the client.Test
Save the file and run it.Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp numbers. Templated messages are a crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversation with their customers using templated messages. WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp messages using our APIs. Follow the instructions below.Prerequisites
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 Python development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA and have a template in approved state.If you phone number is inconnected state and template is in approved state, you can send your first message.Create send WhatsApp application
Create a file calledsend_whatsapp.py and paste into it this code.Copy
Ask AI
import plivo from plivo.utils.template import Template
client = plivo.RestClient('<auth_id>','<auth_token>')
template=Template(**{
"name": "sample_purchase_feedback",
"language": "en_US",
"components": [
{
"type": "header",
"parameters": [
{
"type": "media",
"media": "https://plivo.com/s3/img1.jpg"
}
]
},
{
"type": "body",
"parameters": [
{
"type"": "text",
"text"": "John Doe"
}
]
},
{
"type": "button",
"sub_type":"quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Payload sent in inbound webhook response"
}
]
},
{
"type": "button",
"sub_type":"url",
"index": "1",
"parameters": [
{
"type": "text",
"text": "replacement text which will append to url"
}
]
}
]
}
)
response = client.messages.create(
src="+14151112221",
dst="+14151112222",
type="whatsapp",
template=template,
url="https://foo.com/sms_status/" )
print(response) #prints only the message_uuid print(response.message_uuid)
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 process.env to store environment variables and fetch them when initializing the client.
Test
Save the file and run it.Note: If you’re using a Plivo Trial account, you can make calls only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp number. Templated messages are crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversations using templated messages. WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp messages using our APIs. Follow these instructions.Prerequisites
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 PHP development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA, and have a template in an approved state.If you phone number is inconnected state and template is in approved state, you can send your first message.Create the send WhatsApp application
Create a file calledsend_whatsapp.php and paste into it this code.Copy
Ask AI
<?php
require 'vendor/autoload.php';
use Plivo\RestClient;
$client = new RestClient("<auth_id>","<auth_token>");
$template = '{
"name": "sample_purchase_feedback",
"language": "en_US",
"components": [
{
"type": "header",
"parameters": [
{
"type": "media",
"media": "https://plivo.com/s3/img1.jpg"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "John Doe"
}
]
},
{
"type": "button",
"sub_type":"quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Payload sent in inbound webhook response"
}
]
},
{
"type": "button",
"sub_type":"url",
"index": "1",
"parameters": [
{
"type": "text",
"text": "replacement text which will append to url"
}
]
},
]
}';
$response = $client->messages->create(
[
"src" => "+14151112221",
"dst" => "+14151112222",
"type"=>"whatsapp",
"template" =>$template,
"url"=>"https://foo.com/sms_status/"
]
);
print_r($response);
// Prints only the message_uuid
print_r($response->getmessageUuid(0));
?>
src would be your phone number registered against your WhatsApp business account. dst would be the destination WhatsApp number that would receive the message. 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 process.env to store environment variables and fetch them when initializing the client.Test
Save the file and run it.Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp number. Templated messages are crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversations using templated messages. You can start sending templated WhatsApp messages using our APIs. Follow these instructions.Prerequisites
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 .NET development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA, and have a template in an approved state.If your phone number is in connected state and a template is in approved state, you can send your first message.Create the send WhatsApp application
Create a file called WhatsappMessageCreate.NET and paste into it this code.Copy
Ask AI
"using System;
using System.Collections.Generic;
using Plivo;
using Plivo.Resource.Message;
namespace PlivoExamples
{
internal class Program
{
public static void Main(string[] args)
{
var api = new PlivoApi("<auth_id>","<auth_token>");
var template = new Template
{
Name = "sample_purchase_feedback",
Language = "en_US",
Components = new List<Component>
{
new Component
{
Type = "header",
Parameters = new List<Parameter>
{
new Parameter
{
Type = "media",
Media = "https://plivo.com/s3/img1.jpg"
}
}
},
new Component
{
Type = "body",
Parameters = new List<Parameter>
{
new Parameter
{
Type = "text",
Text = "Livpure Water Purifierr"
}
}
}
}
};
var response = api.Message.Create(
src: "+14151112221",
dst: "+14151112222",
type: "whatsapp",
template: template,
url: "https://<yourdomain>.com/sms_status/"
);
Console.WriteLine(response);
// Prints the message_uuid
Console.WriteLine(response.MessageUuid[0]);
}
}
}"
Test
Save the file and run it.Copy
Ask AI
$ WhatsappMessageCreate.NET
Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp number. Templated messages are crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversations using templated messages. WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp messages using our APIs. Follow these instructions.Prerequisites
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 Java development environment.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA, and have a template in an approved state.If you phone number is inconnected state and template is in approved state, you can send your first message.Create the send WhatsApp application
Create a file calledWhatsappMessageCreate.java and paste into it this code.Copy
Ask AI
import java.io.IOException;
import java.net.URL;
import java.util.Collections;
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.message.Message;
import com.plivo.api.models.message.MessageCreateResponse;
import com.plivo.api.models.message.MessageType;
import com.fasterxml.jackson.databind.ObjectMapper;
class MessageCreate
{
public static void main(String [] args)
{
Plivo.init('<auth_id>','<auth_token>');
try
{
String templateJson = "{
"\name\": "\sample_purchase_feedback\",
"\language\": "\en_US\",
"\components\": [
{
"\type\": "\header\",
"\parameters\": [
{
"\type\": "\media\",
"\text\": "\https://plivo.com/s3/img1.jpg\"
}
]
},
{
"\type\": "\body\",
"\parameters\": [
{
"\type\": "\text\",
"\text\": "\John Doe\"
}
]
},
{
"\type\": "\button\",
"\sub_type\": "\quick_reply\",
"\index\": "\0\",
"\parameters\": [
{
"\type\": "\payload\",
"\payload\": "\Payload sent in inbound webhook response\"
}
]
},
{
"\type\": "\button\",
"\sub_type\": "\url\",
"\index\": "\1\",
"\parameters\": [
{
"\type\": "\text\",
"\text\": "\replacement text which will append to url\"
}
]
}
]
}";
MessageCreateResponse response = Message.creator("+14151112221","14151112222")
.template_json_string(templateJson)
.type(MessageType.WHATSAPP)
.url(new URL("https://<yourdomain>.com/sms_status/") )
.create();
ObjectMapper ow = new ObjectMapper();
String output = ow.writeValueAsString(response);
System.out.println(output);
}
catch (PlivoRestException | IOException e)
{
e.printStackTrace();
}
}
}
src would be your phone number registered against your WhatsApp business account. dst would be the destination WhatsApp number that would receive the message. 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 process.env to store environment variables and fetch them when initializing the client.Test
Save the file and run it.Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.
Overview
This guide shows how to send a templated WhatsApp message to any destination WhatsApp numbers. Templated messages are a crucial to your WhatsApp messaging experience, as businesses can only initiate WhatsApp conversation with their customers using templated messages. WhatsApp templates support 4 components:header , body, footer and button. At the point of sending messages, the template object you see in the code acts as a way to pass the dynamic values within these components. header can accomodate text or media (images, video, documents) content. body can accomodate text content. button can support dynamic values in a url button or to specify a developer-defined payload which will be returned when the WhatsApp user clicks on the quick_reply button. footer cannot have any dynamic variables.You can start sending templated WhatsApp message messages using our APIs. Follow the instructions below.Prerequisites
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.Once you have a Plivo account, follow our WhatsApp guide to onboard your WhatsApp account, register a number against your WABA and have a template in approved state.If you phone number is inconnected state and template is in approved state, you can send your first message.Create the send WhatsApp application
Create a file calledSendWhatsApp.go and paste into it this code.Copy
Ask AI
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
}
template, err := plivo.CreateWhatsappTemplate(`{
"name": "sample_purchase_feedback",
"language": "en_US",
"components": [
{
"type": "header",
"parameters": [
{
"type": "media",
"media": "https://plivo.com/i1.jpg"
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "John Doe"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Payload sent in inbound webhook response"
}
]
},
{
"type": "button",
"sub_type": "url",
"index": "1",
"parameters": [
{
"type": "text",
"text": "replacement text which will append to url"
}
]
}
]
}`)
if err != nil {
fmt.Print("Error", err.Error())
return
}
response, err := client.Messages.Create(
plivo.MessageCreateParams{
Src:"+14151112221",
Dst:"+14151112222",
Type:"whatsapp",
Template:&template,
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)
}
src would be your phone number registered against your WhatsApp business account. dst would be the destination WhatsApp number that would receive the message. 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.Note: If you’re using a Plivo Trial account, you can send messages only to phone numbers that have been verified with Plivo. You can verify (sandbox) a number by going to the console’s Phone Numbers > Sandbox Numbers page.