curl --request PUT \
--url https://api.wppfy.com/chatwoot/config \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"enabled": true,
"url": "https://app.chatwoot.com",
"access_token": "pXXGHHHyJPYHYgWHJHYHgJjj",
"account_id": 1,
"inbox_id": 5,
"ignore_groups": false,
"sign_messages": true,
"create_new_conversation": false
}
'import requests
url = "https://api.wppfy.com/chatwoot/config"
payload = {
"enabled": True,
"url": "https://app.chatwoot.com",
"access_token": "pXXGHHHyJPYHYgWHJHYHgJjj",
"account_id": 1,
"inbox_id": 5,
"ignore_groups": False,
"sign_messages": True,
"create_new_conversation": False
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
url: 'https://app.chatwoot.com',
access_token: 'pXXGHHHyJPYHYgWHJHYHgJjj',
account_id: 1,
inbox_id: 5,
ignore_groups: false,
sign_messages: true,
create_new_conversation: false
})
};
fetch('https://api.wppfy.com/chatwoot/config', 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/chatwoot/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'url' => 'https://app.chatwoot.com',
'access_token' => 'pXXGHHHyJPYHYgWHJHYHgJjj',
'account_id' => 1,
'inbox_id' => 5,
'ignore_groups' => false,
'sign_messages' => true,
'create_new_conversation' => false
]),
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/chatwoot/config"
payload := strings.NewReader("{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.wppfy.com/chatwoot/config")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/chatwoot/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}"
response = http.request(request)
puts response.read_body{
"message": "Configuración de Chatwoot actualizada correctamente, coloque esta URL en la configuración de webhook del inbox de Chatwoot:",
"chatwoot_inbox_webhook_url": "https://sua-api.com/chatwoot/webhook/inst_abc123"
}Actualizar configuración de Chatwoot
Actualiza la configuración de la integración con Chatwoot para la instancia.
Funcionalidades:
- Configura todos los parámetros de la integración con Chatwoot
- Reinicializa automáticamente el cliente de Chatwoot cuando está habilitado
- Devuelve la URL del webhook para configurar en Chatwoot
- Sincronización bidireccional de mensajes nuevos entre WhatsApp y Chatwoot
- Sincronización automática de contactos (nombre y teléfono)
- Actualización automática LID → PN (Local ID a Phone Number)
- Sistema de nombres inteligentes con tilde (~)
Configuración en Chatwoot:
- Después de configurar mediante la API, use la URL devuelta en los webhook settings de la inbox en Chatwoot
- Configúrela como webhook URL en su inbox de Chatwoot
- La integración quedará activa y sincronizará mensajes y contactos automáticamente
🏷️ Sistema de Nombres Inteligentes:
- Nombres con tilde (~): Se actualizan automáticamente cuando el contacto modifica su nombre en WhatsApp
- Nombres específicos: Para definir un nombre fijo, quite la tilde (~) del nombre en Chatwoot
- Ejemplo: “~Juan Pérez” se actualizará automáticamente, “Juan Pérez” (sin tilde) permanecerá fijo
- Actualización LID→PN: Los contactos migran automáticamente de Local ID a Phone Number cuando está disponible
- Sin duplicación: Durante la migración LID→PN, no habrá duplicación de conversaciones
- Respuestas nativas: Todas las respuestas de los agentes aparecen de forma nativa en Chatwoot
🚧 AVISO IMPORTANTE - INTEGRACIÓN BETA:
- Fase Beta: Esta integración está en fase de desarrollo y pruebas
- Uso bajo su propio riesgo: El usuario asume total responsabilidad por el uso
- Recomendación: Pruebe en un entorno no productivo antes de usar en producción
- Soporte limitado: Las funcionalidades pueden cambiar sin previo aviso
⚠️ Limitaciones Conocidas:
- Sincronización del historial: No implementada - solo se sincronizan los mensajes nuevos
curl --request PUT \
--url https://api.wppfy.com/chatwoot/config \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"enabled": true,
"url": "https://app.chatwoot.com",
"access_token": "pXXGHHHyJPYHYgWHJHYHgJjj",
"account_id": 1,
"inbox_id": 5,
"ignore_groups": false,
"sign_messages": true,
"create_new_conversation": false
}
'import requests
url = "https://api.wppfy.com/chatwoot/config"
payload = {
"enabled": True,
"url": "https://app.chatwoot.com",
"access_token": "pXXGHHHyJPYHYgWHJHYHgJjj",
"account_id": 1,
"inbox_id": 5,
"ignore_groups": False,
"sign_messages": True,
"create_new_conversation": False
}
headers = {
"token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {token: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enabled: true,
url: 'https://app.chatwoot.com',
access_token: 'pXXGHHHyJPYHYgWHJHYHgJjj',
account_id: 1,
inbox_id: 5,
ignore_groups: false,
sign_messages: true,
create_new_conversation: false
})
};
fetch('https://api.wppfy.com/chatwoot/config', 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/chatwoot/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'enabled' => true,
'url' => 'https://app.chatwoot.com',
'access_token' => 'pXXGHHHyJPYHYgWHJHYHgJjj',
'account_id' => 1,
'inbox_id' => 5,
'ignore_groups' => false,
'sign_messages' => true,
'create_new_conversation' => false
]),
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/chatwoot/config"
payload := strings.NewReader("{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.wppfy.com/chatwoot/config")
.header("token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wppfy.com/chatwoot/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enabled\": true,\n \"url\": \"https://app.chatwoot.com\",\n \"access_token\": \"pXXGHHHyJPYHYgWHJHYHgJjj\",\n \"account_id\": 1,\n \"inbox_id\": 5,\n \"ignore_groups\": false,\n \"sign_messages\": true,\n \"create_new_conversation\": false\n}"
response = http.request(request)
puts response.read_body{
"message": "Configuración de Chatwoot actualizada correctamente, coloque esta URL en la configuración de webhook del inbox de Chatwoot:",
"chatwoot_inbox_webhook_url": "https://sua-api.com/chatwoot/webhook/inst_abc123"
}Autorizaciones
Cuerpo
Habilitar/deshabilitar la integración con Chatwoot
true
URL base de la instancia de Chatwoot (sin barra final)
"https://app.chatwoot.com"
Token de acceso de la API de Chatwoot (obtenido en Profile Settings > Access Token)
"pXXGHHHyJPYHYgWHJHYHgJjj"
ID de la cuenta en Chatwoot (visible en la URL de la cuenta)
1
ID del inbox en Chatwoot (obtenido en la configuración del inbox)
5
Ignorar mensajes de grupos de WhatsApp en la sincronización
false
Firmar los mensajes enviados a WhatsApp con la identificación del agente
true
Crear siempre una nueva conversación en lugar de reutilizar conversaciones existentes
false
Respuesta
Configuración actualizada correctamente
Mensaje de confirmación
"Configuración de Chatwoot actualizada correctamente, coloque esta URL en la configuración de webhook del inbox de Chatwoot:"
URL del webhook para configurar en la inbox de Chatwoot
"https://sua-api.com/chatwoot/webhook/inst_abc123"
