Ver respuesta rápida
curl --request GET \
--url https://api.wppfy.com/quick-replies/{id} \
--header 'token: <api-key>'import requests
url = "https://api.wppfy.com/quick-replies/{id}"
headers = {"token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {token: '<api-key>'}};
fetch('https://api.wppfy.com/quick-replies/{id}', 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://api.wppfy.com/quick-replies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/quick-replies/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wppfy.com/quick-replies/{id}")
.header("token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/quick-replies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"shortCut": "<string>",
"aiDescription": "<string>",
"onWhatsApp": true,
"message": {
"kind": "location",
"name": "Loja Centro",
"address": "Av. Paulista, 1000",
"latitude": -23.5614,
"longitude": -46.6559
},
"createdAt": "<string>",
"updatedAt": "<string>"
}{
"code": 401,
"message": "Token inválido.",
"data": {}
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}Respuestas Rápidas
Ver respuesta rápida
Devuelve la respuesta rápida por id.
GET
/
quick-replies
/
{id}
Ver respuesta rápida
curl --request GET \
--url https://api.wppfy.com/quick-replies/{id} \
--header 'token: <api-key>'import requests
url = "https://api.wppfy.com/quick-replies/{id}"
headers = {"token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {token: '<api-key>'}};
fetch('https://api.wppfy.com/quick-replies/{id}', 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://api.wppfy.com/quick-replies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/quick-replies/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.wppfy.com/quick-replies/{id}")
.header("token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/quick-replies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"shortCut": "<string>",
"aiDescription": "<string>",
"onWhatsApp": true,
"message": {
"kind": "location",
"name": "Loja Centro",
"address": "Av. Paulista, 1000",
"latitude": -23.5614,
"longitude": -46.6559
},
"createdAt": "<string>",
"updatedAt": "<string>"
}{
"code": 401,
"message": "Token inválido.",
"data": {}
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}{
"error": "temperature must be between 0 and 2",
"code": "validation_failed"
}Autorizaciones
Parámetros de ruta
ID de la respuesta rápida.
Respuesta
Respuesta rápida
Atajo para encontrar la respuesta (y lo que la IA usa para elegir).
Reservado para la atención automática. Vacío por defecto.
Si la respuesta también está en WhatsApp Business (solo texto).
Mensaje guardado: kind más el mismo cuerpo del envío correspondiente, sin number y sin campos de envío (replyid, mentions, delay, readchat, readmessages, async, forward, track_source, track_id).
| kind | Cuerpo igual a | Observación |
|---|---|---|
text | text | Acepta placeholders como {{name}}. |
media | /send/media: type, file, text, docName | type: image, video, document, audio, ptt o myaudio. Un file por URL se conserva tal como se envió; en base64, la API lo guarda (imagen 5 MB, audio y video 16 MB, documento 20 MB; 50 MB por instancia). |
contact | /send/contact | fullName y phoneNumber obligatorios. |
location | /send/location | latitude y longitude obligatorias. |
menu | /send/menu | type: button, button_legacy, list o poll (carrusel todavía no). El medio del botón (file) solo por URL. Las opciones deben poder enviarse, de lo contrario 400: encuesta con al menos 2, lista con al menos un elemento (la sección [...] no cuenta) y botones con al menos 1. |
pix | /send/pix-button | pixType y pixKey obligatorios. |
Show child attributes
Show child attributes
Ejemplo:
{
"kind": "location",
"name": "Loja Centro",
"address": "Av. Paulista, 1000",
"latitude": -23.5614,
"longitude": -46.6559
}
