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"
}Name lead custom fields
Configures the labels of an instance’s 20 custom lead fields. This operation does not change the values stored in the chats and does not create aliases for placeholders.
The available fields are lead_field01 to lead_field20. Even after
setting a label, messages must use the slot’s original name. For example,
if lead_field01 is labeled empresa, the placeholder remains
{{lead_field01}}; {{empresa}} will not be replaced.
Use the labels to tell your interface what each slot means. Each
lead’s values are written by the CRM operations to the corresponding
lead_fieldXX.
Request example:
{
"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"
}
Response example:
{
"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"
}
}
}
Common errors:
- 400: Invalid fields or malformed payload
- 401: Invalid or expired token
- 404: Instance not found
- 500: Error updating fields in the database
Send the complete map. Omitted fields are received as empty and may overwrite previously configured labels.
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"
}Authorizations
Body
Custom field 01 label
255Custom field 02 label
255Custom field 03 label
255Custom field 04 label
255Custom field 05 label
255Custom field 06 label
255Custom field 07 label
255Custom field 08 label
255Custom field 09 label
255Custom field 10 label
255Custom field 11 label
255Custom field 12 label
255Custom field 13 label
255Custom field 14 label
255Custom field 15 label
255Custom field 16 label
255Custom field 17 label
255Custom field 18 label
255Custom field 19 label
255Custom field 20 label
255Response
Success
Represents a WhatsApp instance
Opaque identifier generated by the server. Do not assume UUID format.
Instance authentication token
Current connection status
disconnected, connecting, connected, hibernated Pairing code
Base64 QR Code for authentication
Instance name
WhatsApp profile name
Profile picture URL
Indicates whether it is a business account
Source platform (iOS/Android/Web)
Operating system name
Instance owner
Current presence status of the instance (non-persisted field)
available, unavailable "available"
Textual date/time of the last disconnection
Reason for the last disconnection
Admin field 01
Admin field 02
OpenAI API key
Enable automatic chatbot
Ignore group messages
Keyword to stop conversation
How long the chatbot will stay paused when using stop conversation
How long the conversation will stay paused when you send a message manually
Map of the instance's custom fields (when present)
Current time returned by the API
Creation date returned by the API. Treat the value as text; the format may vary.
Last update date returned by the API. Treat the value as text; the format may vary.
