Mensajes de solicitud de ubicación
curl --request POST \
--url https://whatsapp.heybot.cloud/api/v2/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"to": "<string>",
"type": "<string>",
"interactive": {
"type": "<string>",
"body": {
"text": "<string>"
},
"action": {
"name": "<string>"
}
}
}
'import requests
url = "https://whatsapp.heybot.cloud/api/v2/message"
payload = {
"to": "<string>",
"type": "<string>",
"interactive": {
"type": "<string>",
"body": { "text": "<string>" },
"action": { "name": "<string>" }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
to: '<string>',
type: '<string>',
interactive: {
type: '<string>',
body: JSON.stringify({text: '<string>'}),
action: {name: '<string>'}
}
})
};
fetch('https://whatsapp.heybot.cloud/api/v2/message', 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://whatsapp.heybot.cloud/api/v2/message",
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([
'to' => '<string>',
'type' => '<string>',
'interactive' => [
'type' => '<string>',
'body' => [
'text' => '<string>'
],
'action' => [
'name' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://whatsapp.heybot.cloud/api/v2/message"
payload := strings.NewReader("{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://whatsapp.heybot.cloud/api/v2/message")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whatsapp.heybot.cloud/api/v2/message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_bodyEnvío de mensajes
Mensajes de solicitud de ubicación
POST
/
api
/
v2
/
message
Mensajes de solicitud de ubicación
curl --request POST \
--url https://whatsapp.heybot.cloud/api/v2/message \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"to": "<string>",
"type": "<string>",
"interactive": {
"type": "<string>",
"body": {
"text": "<string>"
},
"action": {
"name": "<string>"
}
}
}
'import requests
url = "https://whatsapp.heybot.cloud/api/v2/message"
payload = {
"to": "<string>",
"type": "<string>",
"interactive": {
"type": "<string>",
"body": { "text": "<string>" },
"action": { "name": "<string>" }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
to: '<string>',
type: '<string>',
interactive: {
type: '<string>',
body: JSON.stringify({text: '<string>'}),
action: {name: '<string>'}
}
})
};
fetch('https://whatsapp.heybot.cloud/api/v2/message', 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://whatsapp.heybot.cloud/api/v2/message",
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([
'to' => '<string>',
'type' => '<string>',
'interactive' => [
'type' => '<string>',
'body' => [
'text' => '<string>'
],
'action' => [
'name' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://whatsapp.heybot.cloud/api/v2/message"
payload := strings.NewReader("{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://whatsapp.heybot.cloud/api/v2/message")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://whatsapp.heybot.cloud/api/v2/message")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"to\": \"<string>\",\n \"type\": \"<string>\",\n \"interactive\": {\n \"type\": \"<string>\",\n \"body\": {\n \"text\": \"<string>\"\n },\n \"action\": {\n \"name\": \"<string>\"\n }\n }\n}"
response = http.request(request)
puts response.read_bodyLos mensajes de solicitud de ubicación muestran el texto del cuerpo y un botón de envío de ubicación. Cuando un usuario de WhatsApp toca el botón, se muestra una pantalla que el usuario puede usar para compartir la ubicación.

Una vez que el usuario comparte su ubicación, se activa un webhook de mensajes que contiene los detalles de la ubicación del usuario.

string
required
The recipient’s phone number or WhatsApp ID.
string
default:"interactive"
required
The overall type of message being sent.
object
required
The interactive message payload configuration.
Hide interactive properties
Hide interactive properties
string
default:"location_request_message"
required
The specific type of interactive message you are sending.
object
required
The main content of the message.
Show body properties
Show body properties
string
required
The primary text content that explains why you are asking for their location. Supports URLs (Maximum 1024 characters).
Ejemplo
{
"to": 5219876543210,
"type": "interactive",
"interactive": {
"type": "location_request_message",
"body": {
"text": "<BODY_TEXT>"
},
"action": {
"name": "send_location"
}
}
}