Send text
Sends a plain text message, optionally with a link preview and mentions.
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"number": "5511999999999",
"text": "Hello from Pilot Status!",
"linkPreview": true,
"delay": 1200,
"quoted": {},
"everyOne": true,
"mentioned": [
"5511988888888"
]
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{instance}"
payload = {
"number": "5511999999999",
"text": "Hello from Pilot Status!",
"linkPreview": True,
"delay": 1200,
"quoted": {},
"everyOne": True,
"mentioned": ["5511988888888"]
}
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({
number: '5511999999999',
text: 'Hello from Pilot Status!',
linkPreview: true,
delay: 1200,
quoted: {},
everyOne: true,
mentioned: ['5511988888888']
})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{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/message/sendText/{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([
'number' => '5511999999999',
'text' => 'Hello from Pilot Status!',
'linkPreview' => true,
'delay' => 1200,
'quoted' => [
],
'everyOne' => true,
'mentioned' => [
'5511988888888'
]
]),
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/message/sendText/{instance}"
payload := strings.NewReader("{\n \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\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/message/sendText/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{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 \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": true,
"id": "3EB0C767D26A1D8D2E5B1A"
},
"pushName": "Você",
"status": "PENDING",
"message": {
"conversation": "Olá! Sua encomenda foi confirmada."
},
"contextInfo": null,
"messageType": "conversation",
"messageTimestamp": 1720483200,
"instanceId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"source": "web"
}{
"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
Recipient phone in E.164 without +, or a JID.
"5511999999999"
Message body text.
"Hello from Pilot Status!"
Whether to render a preview for URLs in the text.
true
Delay before sending, in milliseconds.
1200
Message to quote/reply to (key, message).
Mention everyone in the group.
Array of numeric strings to mention.
["5511988888888"]
Response
Success — provider-native response body.
Sent text message. Returns the persisted Baileys messageRaw envelope.
Message key identifying the sent message.
Show child attributes
Show child attributes
Display name of the sender ('Você' for own messages).
Delivery status.
ERROR, PENDING, SERVER_ACK, DELIVERY_ACK, READ, PLAYED Message content.
Show child attributes
Show child attributes
Baileys context info (quoted message, mentions, etc.); null when absent.
Content type, e.g. 'conversation'.
Unix timestamp (seconds).
Instance UUID that sent the message.
Origin device (web, android, ios, desktop, unknown).
Was this page helpful?
curl --request POST \
--url https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{instance} \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"number": "5511999999999",
"text": "Hello from Pilot Status!",
"linkPreview": true,
"delay": 1200,
"quoted": {},
"everyOne": true,
"mentioned": [
"5511988888888"
]
}
'import requests
url = "https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{instance}"
payload = {
"number": "5511999999999",
"text": "Hello from Pilot Status!",
"linkPreview": True,
"delay": 1200,
"quoted": {},
"everyOne": True,
"mentioned": ["5511988888888"]
}
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({
number: '5511999999999',
text: 'Hello from Pilot Status!',
linkPreview: true,
delay: 1200,
quoted: {},
everyOne: true,
mentioned: ['5511988888888']
})
};
fetch('https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{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/message/sendText/{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([
'number' => '5511999999999',
'text' => 'Hello from Pilot Status!',
'linkPreview' => true,
'delay' => 1200,
'quoted' => [
],
'everyOne' => true,
'mentioned' => [
'5511988888888'
]
]),
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/message/sendText/{instance}"
payload := strings.NewReader("{\n \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\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/message/sendText/{instance}")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/api/layer/evolution-v2/message/sendText/{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 \"number\": \"5511999999999\",\n \"text\": \"Hello from Pilot Status!\",\n \"linkPreview\": true,\n \"delay\": 1200,\n \"quoted\": {},\n \"everyOne\": true,\n \"mentioned\": [\n \"5511988888888\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"key": {
"remoteJid": "5511999999999@s.whatsapp.net",
"fromMe": true,
"id": "3EB0C767D26A1D8D2E5B1A"
},
"pushName": "Você",
"status": "PENDING",
"message": {
"conversation": "Olá! Sua encomenda foi confirmada."
},
"contextInfo": null,
"messageType": "conversation",
"messageTimestamp": 1720483200,
"instanceId": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"source": "web"
}{
"status": 400,
"error": "Bad Request",
"message": "Invalid payload"
}