curl --request POST \
--url https://api.wppfy.com/instance/updateFieldsMap \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"lead_field01": "<string>",
"lead_field02": "<string>",
"lead_field03": "<string>",
"lead_field04": "<string>",
"lead_field05": "<string>",
"lead_field06": "<string>",
"lead_field07": "<string>",
"lead_field08": "<string>",
"lead_field09": "<string>",
"lead_field10": "<string>",
"lead_field11": "<string>",
"lead_field12": "<string>",
"lead_field13": "<string>",
"lead_field14": "<string>",
"lead_field15": "<string>",
"lead_field16": "<string>",
"lead_field17": "<string>",
"lead_field18": "<string>",
"lead_field19": "<string>",
"lead_field20": "<string>"
}
'import requests
url = "https://api.wppfy.com/instance/updateFieldsMap"
payload = {
"lead_field01": "<string>",
"lead_field02": "<string>",
"lead_field03": "<string>",
"lead_field04": "<string>",
"lead_field05": "<string>",
"lead_field06": "<string>",
"lead_field07": "<string>",
"lead_field08": "<string>",
"lead_field09": "<string>",
"lead_field10": "<string>",
"lead_field11": "<string>",
"lead_field12": "<string>",
"lead_field13": "<string>",
"lead_field14": "<string>",
"lead_field15": "<string>",
"lead_field16": "<string>",
"lead_field17": "<string>",
"lead_field18": "<string>",
"lead_field19": "<string>",
"lead_field20": "<string>"
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
lead_field01: '<string>',
lead_field02: '<string>',
lead_field03: '<string>',
lead_field04: '<string>',
lead_field05: '<string>',
lead_field06: '<string>',
lead_field07: '<string>',
lead_field08: '<string>',
lead_field09: '<string>',
lead_field10: '<string>',
lead_field11: '<string>',
lead_field12: '<string>',
lead_field13: '<string>',
lead_field14: '<string>',
lead_field15: '<string>',
lead_field16: '<string>',
lead_field17: '<string>',
lead_field18: '<string>',
lead_field19: '<string>',
lead_field20: '<string>'
})
};
fetch('https://api.wppfy.com/instance/updateFieldsMap', 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/instance/updateFieldsMap",
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([
'lead_field01' => '<string>',
'lead_field02' => '<string>',
'lead_field03' => '<string>',
'lead_field04' => '<string>',
'lead_field05' => '<string>',
'lead_field06' => '<string>',
'lead_field07' => '<string>',
'lead_field08' => '<string>',
'lead_field09' => '<string>',
'lead_field10' => '<string>',
'lead_field11' => '<string>',
'lead_field12' => '<string>',
'lead_field13' => '<string>',
'lead_field14' => '<string>',
'lead_field15' => '<string>',
'lead_field16' => '<string>',
'lead_field17' => '<string>',
'lead_field18' => '<string>',
'lead_field19' => '<string>',
'lead_field20' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/instance/updateFieldsMap"
payload := strings.NewReader("{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("token", "<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://api.wppfy.com/instance/updateFieldsMap")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/instance/updateFieldsMap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "i91011ijkl",
"token": "abc123xyz",
"status": "connected",
"paircode": "1234-5678",
"qrcode": "data:image/png;base64,iVBORw0KGg...",
"name": "Instância Principal",
"profileName": "Loja ABC",
"profilePicUrl": "https://example.com/profile.jpg",
"isBusiness": true,
"plataform": "Android",
"systemName": "WppFy",
"owner": "user@example.com",
"lastDisconnect": "2025-01-24T14:00:00Z",
"lastDisconnectReason": "Network error",
"adminField01": "custom_data",
"openai_apikey": "sk-...xyz",
"chatbot_enabled": true,
"chatbot_ignoreGroups": true,
"chatbot_stopConversation": "parar",
"chatbot_stopMinutes": 60,
"created": "2025-01-24T14:00:00Z",
"updated": "2025-01-24T14:30:00Z",
"currentPresence": "available"
}Nombrar campos personalizados de leads
Configura las etiquetas de los 20 campos personalizados de leads de una instancia. Esta operación no modifica los valores almacenados en los chats y no crea alias para placeholders.
Los campos disponibles son lead_field01 a lead_field20. Incluso después de
definir una etiqueta, los mensajes deben usar el nombre original del slot. Por ejemplo,
si lead_field01 se etiqueta como empresa, el placeholder sigue siendo
{{lead_field01}}; {{empresa}} no será reemplazado.
Use las etiquetas para indicar a su interfaz el significado de cada slot. Los
valores de cada lead son grabados por las operaciones de CRM en el respectivo
lead_fieldXX.
Ejemplo de solicitud:
{
"lead_field01": "nome",
"lead_field02": "email",
"lead_field03": "telefone",
"lead_field04": "cidade",
"lead_field05": "estado",
"lead_field06": "idade",
"lead_field07": "interesses",
"lead_field08": "origem",
"lead_field09": "status",
"lead_field10": "valor",
"lead_field11": "observacoes",
"lead_field12": "ultima_interacao",
"lead_field13": "proximo_contato",
"lead_field14": "vendedor",
"lead_field15": "produto_interesse",
"lead_field16": "fonte_captacao",
"lead_field17": "score",
"lead_field18": "tags",
"lead_field19": "historico",
"lead_field20": "custom"
}
Ejemplo de respuesta:
{
"success": true,
"message": "Custom fields updated successfully",
"instance": {
"id": "r183e2ef9597845",
"name": "minha-instancia",
"fieldsMap": {
"lead_field01": "nome",
"lead_field02": "email",
"lead_field03": "telefone",
"lead_field04": "cidade",
"lead_field05": "estado",
"lead_field06": "idade",
"lead_field07": "interesses",
"lead_field08": "origem",
"lead_field09": "status",
"lead_field10": "valor",
"lead_field11": "observacoes",
"lead_field12": "ultima_interacao",
"lead_field13": "proximo_contato",
"lead_field14": "vendedor",
"lead_field15": "produto_interesse",
"lead_field16": "fonte_captacao",
"lead_field17": "score",
"lead_field18": "tags",
"lead_field19": "historico",
"lead_field20": "custom"
}
}
}
Errores comunes:
- 400: Campos inválidos o payload mal formado
- 401: Token inválido o expirado
- 404: Instancia no encontrada
- 500: Error al actualizar los campos en la base de datos
Envíe el mapa completo. Los campos omitidos se reciben como vacíos y pueden reemplazar etiquetas configuradas anteriormente.
curl --request POST \
--url https://api.wppfy.com/instance/updateFieldsMap \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"lead_field01": "<string>",
"lead_field02": "<string>",
"lead_field03": "<string>",
"lead_field04": "<string>",
"lead_field05": "<string>",
"lead_field06": "<string>",
"lead_field07": "<string>",
"lead_field08": "<string>",
"lead_field09": "<string>",
"lead_field10": "<string>",
"lead_field11": "<string>",
"lead_field12": "<string>",
"lead_field13": "<string>",
"lead_field14": "<string>",
"lead_field15": "<string>",
"lead_field16": "<string>",
"lead_field17": "<string>",
"lead_field18": "<string>",
"lead_field19": "<string>",
"lead_field20": "<string>"
}
'import requests
url = "https://api.wppfy.com/instance/updateFieldsMap"
payload = {
"lead_field01": "<string>",
"lead_field02": "<string>",
"lead_field03": "<string>",
"lead_field04": "<string>",
"lead_field05": "<string>",
"lead_field06": "<string>",
"lead_field07": "<string>",
"lead_field08": "<string>",
"lead_field09": "<string>",
"lead_field10": "<string>",
"lead_field11": "<string>",
"lead_field12": "<string>",
"lead_field13": "<string>",
"lead_field14": "<string>",
"lead_field15": "<string>",
"lead_field16": "<string>",
"lead_field17": "<string>",
"lead_field18": "<string>",
"lead_field19": "<string>",
"lead_field20": "<string>"
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
lead_field01: '<string>',
lead_field02: '<string>',
lead_field03: '<string>',
lead_field04: '<string>',
lead_field05: '<string>',
lead_field06: '<string>',
lead_field07: '<string>',
lead_field08: '<string>',
lead_field09: '<string>',
lead_field10: '<string>',
lead_field11: '<string>',
lead_field12: '<string>',
lead_field13: '<string>',
lead_field14: '<string>',
lead_field15: '<string>',
lead_field16: '<string>',
lead_field17: '<string>',
lead_field18: '<string>',
lead_field19: '<string>',
lead_field20: '<string>'
})
};
fetch('https://api.wppfy.com/instance/updateFieldsMap', 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/instance/updateFieldsMap",
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([
'lead_field01' => '<string>',
'lead_field02' => '<string>',
'lead_field03' => '<string>',
'lead_field04' => '<string>',
'lead_field05' => '<string>',
'lead_field06' => '<string>',
'lead_field07' => '<string>',
'lead_field08' => '<string>',
'lead_field09' => '<string>',
'lead_field10' => '<string>',
'lead_field11' => '<string>',
'lead_field12' => '<string>',
'lead_field13' => '<string>',
'lead_field14' => '<string>',
'lead_field15' => '<string>',
'lead_field16' => '<string>',
'lead_field17' => '<string>',
'lead_field18' => '<string>',
'lead_field19' => '<string>',
'lead_field20' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wppfy.com/instance/updateFieldsMap"
payload := strings.NewReader("{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("token", "<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://api.wppfy.com/instance/updateFieldsMap")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/instance/updateFieldsMap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"lead_field01\": \"<string>\",\n \"lead_field02\": \"<string>\",\n \"lead_field03\": \"<string>\",\n \"lead_field04\": \"<string>\",\n \"lead_field05\": \"<string>\",\n \"lead_field06\": \"<string>\",\n \"lead_field07\": \"<string>\",\n \"lead_field08\": \"<string>\",\n \"lead_field09\": \"<string>\",\n \"lead_field10\": \"<string>\",\n \"lead_field11\": \"<string>\",\n \"lead_field12\": \"<string>\",\n \"lead_field13\": \"<string>\",\n \"lead_field14\": \"<string>\",\n \"lead_field15\": \"<string>\",\n \"lead_field16\": \"<string>\",\n \"lead_field17\": \"<string>\",\n \"lead_field18\": \"<string>\",\n \"lead_field19\": \"<string>\",\n \"lead_field20\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "i91011ijkl",
"token": "abc123xyz",
"status": "connected",
"paircode": "1234-5678",
"qrcode": "data:image/png;base64,iVBORw0KGg...",
"name": "Instância Principal",
"profileName": "Loja ABC",
"profilePicUrl": "https://example.com/profile.jpg",
"isBusiness": true,
"plataform": "Android",
"systemName": "WppFy",
"owner": "user@example.com",
"lastDisconnect": "2025-01-24T14:00:00Z",
"lastDisconnectReason": "Network error",
"adminField01": "custom_data",
"openai_apikey": "sk-...xyz",
"chatbot_enabled": true,
"chatbot_ignoreGroups": true,
"chatbot_stopConversation": "parar",
"chatbot_stopMinutes": 60,
"created": "2025-01-24T14:00:00Z",
"updated": "2025-01-24T14:30:00Z",
"currentPresence": "available"
}Autorizaciones
Cuerpo
Etiqueta del campo personalizado 01
255Etiqueta del campo personalizado 02
255Etiqueta del campo personalizado 03
255Etiqueta del campo personalizado 04
255Etiqueta del campo personalizado 05
255Etiqueta del campo personalizado 06
255Etiqueta del campo personalizado 07
255Etiqueta del campo personalizado 08
255Etiqueta del campo personalizado 09
255Etiqueta del campo personalizado 10
255Etiqueta del campo personalizado 11
255Etiqueta del campo personalizado 12
255Etiqueta del campo personalizado 13
255Etiqueta del campo personalizado 14
255Etiqueta del campo personalizado 15
255Etiqueta del campo personalizado 16
255Etiqueta del campo personalizado 17
255Etiqueta del campo personalizado 18
255Etiqueta del campo personalizado 19
255Etiqueta del campo personalizado 20
255Respuesta
Éxito
Representa una instancia de WhatsApp
Identificador opaco generado por el servidor. No asuma formato UUID.
Token de autenticación de la instancia
Estado actual de la conexión
disconnected, connecting, connected, hibernated Código de vinculación
Código QR en base64 para autenticación
Nombre de la instancia
Nombre del perfil de WhatsApp
URL de la foto de perfil
Indica si es una cuenta business
Plataforma de origen (iOS/Android/Web)
Nombre del sistema operativo
Propietario de la instancia
Estado actual de presencia de la instancia (campo no persistido)
available, unavailable "available"
Fecha/hora textual de la última desconexión
Motivo de la última desconexión
Campo administrativo 01
Campo administrativo 02
Clave de la API de OpenAI
Habilitar chatbot automático
Ignorar mensajes de grupos
Palabra clave para detener la conversación
Durante cuánto tiempo permanecerá pausado el chatbot al usar stop conversation
Durante cuánto tiempo permanecerá pausada la conversación al enviar un mensaje manualmente
Mapa de campos personalizados de la instancia (cuando esté presente)
Hora actual devuelta por la API
Fecha de creación devuelta por la API. Trate el valor como texto; el formato puede variar.
Fecha de la última actualización devuelta por la API. Trate el valor como texto; el formato puede variar.
