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"
}Nomear campos personalizados de leads
Configura os rótulos dos 20 campos personalizados de leads de uma instância. Esta operação não altera os valores armazenados nos chats e não cria aliases para placeholders.
Os campos disponíveis são lead_field01 a lead_field20. Mesmo depois de
definir um rótulo, mensagens devem usar o nome original do slot. Por exemplo,
se lead_field01 for rotulado como empresa, o placeholder continua sendo
{{lead_field01}}; {{empresa}} não será substituído.
Use os rótulos para informar à sua interface o significado de cada slot. Os
valores de cada lead são gravados pelas operações de CRM no respectivo
lead_fieldXX.
Exemplo de requisição:
{
"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"
}
Exemplo de resposta:
{
"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"
}
}
}
Erros comuns:
- 400: Campos inválidos ou payload mal formatado
- 401: Token inválido ou expirado
- 404: Instância não encontrada
- 500: Erro ao atualizar campos no banco de dados
Envie o mapa completo. Campos omitidos são recebidos como vazios e podem substituir rótulos configurados 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"
}Autorizações
Corpo
Rótulo do campo personalizado 01
255Rótulo do campo personalizado 02
255Rótulo do campo personalizado 03
255Rótulo do campo personalizado 04
255Rótulo do campo personalizado 05
255Rótulo do campo personalizado 06
255Rótulo do campo personalizado 07
255Rótulo do campo personalizado 08
255Rótulo do campo personalizado 09
255Rótulo do campo personalizado 10
255Rótulo do campo personalizado 11
255Rótulo do campo personalizado 12
255Rótulo do campo personalizado 13
255Rótulo do campo personalizado 14
255Rótulo do campo personalizado 15
255Rótulo do campo personalizado 16
255Rótulo do campo personalizado 17
255Rótulo do campo personalizado 18
255Rótulo do campo personalizado 19
255Rótulo do campo personalizado 20
255Resposta
Sucesso
Representa uma instância do WhatsApp
Identificador opaco gerado pelo servidor. Não presuma formato UUID.
Token de autenticação da instância
Status atual da conexão
disconnected, connecting, connected, hibernated Código de pareamento
QR Code em base64 para autenticação
Nome da instância
Nome do perfil WhatsApp
URL da foto do perfil
Indica se é uma conta business
Plataforma de origem (iOS/Android/Web)
Nome do sistema operacional
Proprietário da instância
Status atual de presença da instância (campo não persistido)
available, unavailable "available"
Data/hora textual da última desconexão
Motivo da última desconexão
Campo administrativo 01
Campo administrativo 02
Chave da API OpenAI
Habilitar chatbot automático
Ignorar mensagens de grupos
Palavra-chave para parar conversa
Por quanto tempo ficará pausado o chatbot ao usar stop conversation
Por quanto tempo ficará pausada a conversa quando você enviar mensagem manualmente
Mapa de campos customizados da instância (quando presente)
Horário atual retornado pela API
Data de criação retornada pela API. Trate o valor como texto; o formato pode variar.
Data da última atualização retornada pela API. Trate o valor como texto; o formato pode variar.
