Evolution V2
Edit template
Updates an existing template identified by its Meta template ID.
POST
/
template
/
edit
/
{instance}
Edit template
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"templateId": "1234567890123456",
"category": "UTILITY",
"allowCategoryChange": false,
"ttl": 600,
"components": [
{
"type": "BODY",
"text": "Ola {{1}}, seu pedido {{2}} esta a caminho."
}
]
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}"
payload = {
"templateId": "1234567890123456",
"category": "UTILITY",
"allowCategoryChange": False,
"ttl": 600,
"components": [
{
"type": "BODY",
"text": "Ola {{1}}, seu pedido {{2}} esta a caminho."
}
]
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
templateId: '1234567890123456',
category: 'UTILITY',
allowCategoryChange: false,
ttl: 600,
components: [{type: 'BODY', text: 'Ola {{1}}, seu pedido {{2}} esta a caminho.'}]
})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'templateId' => '1234567890123456',
'category' => 'UTILITY',
'allowCategoryChange' => false,
'ttl' => 600,
'components' => [
[
'type' => 'BODY',
'text' => 'Ola {{1}}, seu pedido {{2}} esta a caminho.'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}"
payload := strings.NewReader("{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}Authorizations
Your Pilot Status API key (ps_...). Evolution GO also accepts Authorization: Bearer <key>.
Path Parameters
The number's display name in the Pilot Status dashboard.
Body
application/json
Meta template ID to edit.
Example:
"1234567890123456"
New category: AUTHENTICATION, MARKETING, or UTILITY.
Example:
"UTILITY"
Allow Meta to reassign the category during review.
Example:
false
Time-to-live for authentication templates, in seconds.
Example:
600
Replacement template component objects.
Example:
[
{
"type": "BODY",
"text": "Ola {{1}}, seu pedido {{2}} esta a caminho."
}
]
Response
Success — provider-native response body.
Native response from the WhatsApp Business (Meta) API when editing an existing message template.
Whether the template edit was accepted by the WhatsApp Business API.
Was this page helpful?
⌘I
Edit template
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"templateId": "1234567890123456",
"category": "UTILITY",
"allowCategoryChange": false,
"ttl": 600,
"components": [
{
"type": "BODY",
"text": "Ola {{1}}, seu pedido {{2}} esta a caminho."
}
]
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}"
payload = {
"templateId": "1234567890123456",
"category": "UTILITY",
"allowCategoryChange": False,
"ttl": 600,
"components": [
{
"type": "BODY",
"text": "Ola {{1}}, seu pedido {{2}} esta a caminho."
}
]
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
templateId: '1234567890123456',
category: 'UTILITY',
allowCategoryChange: false,
ttl: 600,
components: [{type: 'BODY', text: 'Ola {{1}}, seu pedido {{2}} esta a caminho.'}]
})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'templateId' => '1234567890123456',
'category' => 'UTILITY',
'allowCategoryChange' => false,
'ttl' => 600,
'components' => [
[
'type' => 'BODY',
'text' => 'Ola {{1}}, seu pedido {{2}} esta a caminho.'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}"
payload := strings.NewReader("{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/template/edit/{instance}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"templateId\": \"1234567890123456\",\n \"category\": \"UTILITY\",\n \"allowCategoryChange\": false,\n \"ttl\": 600,\n \"components\": [\n {\n \"type\": \"BODY\",\n \"text\": \"Ola {{1}}, seu pedido {{2}} esta a caminho.\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}