Actualizar conexión WhatsApp
const url = 'https://api.matiasimpulso.com/whatsapp/1';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","session":"example","qrcode":"example","status":"CONNECTING","battery":"example","plugged":true,"retries":1,"number":"example","greetingMessage":"example","greetingMediaAttachment":"example","farewellMessage":"example","complationMessage":"example","outOfHoursMessage":"example","provider":"baileys","isDefault":true,"allowGroup":true,"token":"example","facebookUserId":"example","facebookUserToken":"example","facebookPageUserId":"example","tokenMeta":"example","channel":"whatsapp","maxUseBotQueues":1,"timeUseBotQueues":"example","expiresTicket":1,"timeSendQueue":1,"sendIdQueue":1,"timeInactiveMessage":"example","inactiveMessage":"example","ratingMessage":"example","maxUseBotQueuesNPS":1,"expiresTicketNPS":"example","whenExpiresTicket":"example","expiresInactiveMessage":"example","groupAsTicket":"enabled","importOldMessages":"example","importRecentMessages":"example","statusImportMessages":"example","closedTicketsPostImported":true,"importOldMessagesGroups":true,"timeCreateNewTicket":1,"integrationId":1,"schedules":[{"id":1,"dayOfWeek":1,"startTime":"example","endTime":"example","isActive":true}],"promptId":1,"collectiveVacationMessage":"example","collectiveVacationStart":"example","collectiveVacationEnd":"example","queueIdImportMessages":1,"flowIdNotPhrase":1,"flowIdWelcome":1,"queueIds":[1],"color":"brand","icon":"ti-message-2","category":"general","handlerConfigs":[{"handlerId":1,"priority":1,"executionOrder":1,"isActive":true,"config":{},"queueId":1,"integrationId":1,"integrationType":"typebot","webhookUrl":"example","secret":"example","timeoutMs":1,"pauseAi":true,"maxMessagesPerSession":50,"maxSessionDuration":1800,"rateLimitPerMinute":10,"costLimitPerSession":1,"maxTokensPerMessage":2000,"maxRetries":3,"id":1,"whatsappId":1,"handlerType":"ai_agent","triggerType":"on_message_received"}],"messageTemplates":[{"templateType":"greeting","message":"example","mediaPath":"example","mediaType":"example","isActive":true,"id":1,"whatsappId":1}],"scheduleConfig":{"schedules":{"monday":{"enabled":true,"ranges":[{"start":"09:00","end":"18:00"}]},"saturday":{"enabled":false,"ranges":[]}},"holidays":["2026-12-25","2027-01-01"],"outOfHoursEnabled":true,"outOfHoursAiPolicy":"only_without_ai","outOfHoursMessage":"example","afterHoursHandlerType":"example","collectiveVacationEnabled":true,"collectiveVacationStart":"example","collectiveVacationEnd":"example","collectiveVacationMessage":"example","timezone":"example","id":1,"whatsappId":1,"afterHoursMessage":"example","createdAt":{},"updatedAt":{}},"behaviorConfig":{"allowGroup":false,"groupAsTicket":"disabled","expiresTicket":0,"whenExpiresTicket":"","expiresInactiveMessage":"example","timeInactiveMessage":"","timeCreateNewTicket":1,"maxUseBotQueues":1,"maxUseBotQueuesNPS":1,"timeUseBotQueues":"0","timeSendQueue":1,"sendIdQueue":1,"flowIdWelcome":1,"flowIdNotPhrase":1,"maxConcurrentChats":5,"messageRateLimit":30,"messageRateWindow":60,"enableAutoReply":false,"autoReplyDelay":0,"enableReadReceipts":true,"enableTypingIndicator":true,"typingDuration":3000,"maxRetries":3,"retryDelay":5000,"id":1,"whatsappId":1},"importConfig":{"importRecentMessages":"example","importOldMessagesGroups":false,"statusImportMessages":"example","closedTicketsPostImported":false,"queueIdImportMessages":1,"daysLimitImportMessages":30,"createContactsOnImport":true,"createTicketsOnImport":false,"id":1,"whatsappId":1,"importOldMessages":"example"},"automationConfig":{"id":{},"whatsappId":{},"createdAt":{},"updatedAt":{},"inactivityEnabledAt":{},"welcomeMedia":{},"welcomeMediaFile":{},"welcomeMediaMime":{},"welcomeMediaName":{},"welcomeMediaSize":{},"welcomeMediaHash":{},"welcomeEnabled":true,"welcomeMessage":"example","welcomeAiPolicy":"skip_if_ai","welcomeCooldownHours":1,"acceptGreetingEnabled":true,"acceptGreetingMessage":"example","farewellEnabled":true,"farewellMessage":"example","npsEnabled":true,"npsMessage":"example","npsThanksMessage":"example","npsExpiryMinutes":1,"closingOnAutoClose":true,"inactivityEnabled":true,"inactivityScope":"bot","inactivityWarningMinutes":1,"inactivityWarningMessage":"example","inactivityCloseMinutes":1}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.matiasimpulso.com/whatsapp/1 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "session": "example", "qrcode": "example", "status": "CONNECTING", "battery": "example", "plugged": true, "retries": 1, "number": "example", "greetingMessage": "example", "greetingMediaAttachment": "example", "farewellMessage": "example", "complationMessage": "example", "outOfHoursMessage": "example", "provider": "baileys", "isDefault": true, "allowGroup": true, "token": "example", "facebookUserId": "example", "facebookUserToken": "example", "facebookPageUserId": "example", "tokenMeta": "example", "channel": "whatsapp", "maxUseBotQueues": 1, "timeUseBotQueues": "example", "expiresTicket": 1, "timeSendQueue": 1, "sendIdQueue": 1, "timeInactiveMessage": "example", "inactiveMessage": "example", "ratingMessage": "example", "maxUseBotQueuesNPS": 1, "expiresTicketNPS": "example", "whenExpiresTicket": "example", "expiresInactiveMessage": "example", "groupAsTicket": "enabled", "importOldMessages": "example", "importRecentMessages": "example", "statusImportMessages": "example", "closedTicketsPostImported": true, "importOldMessagesGroups": true, "timeCreateNewTicket": 1, "integrationId": 1, "schedules": [ { "id": 1, "dayOfWeek": 1, "startTime": "example", "endTime": "example", "isActive": true } ], "promptId": 1, "collectiveVacationMessage": "example", "collectiveVacationStart": "example", "collectiveVacationEnd": "example", "queueIdImportMessages": 1, "flowIdNotPhrase": 1, "flowIdWelcome": 1, "queueIds": [ 1 ], "color": "brand", "icon": "ti-message-2", "category": "general", "handlerConfigs": [ { "handlerId": 1, "priority": 1, "executionOrder": 1, "isActive": true, "config": {}, "queueId": 1, "integrationId": 1, "integrationType": "typebot", "webhookUrl": "example", "secret": "example", "timeoutMs": 1, "pauseAi": true, "maxMessagesPerSession": 50, "maxSessionDuration": 1800, "rateLimitPerMinute": 10, "costLimitPerSession": 1, "maxTokensPerMessage": 2000, "maxRetries": 3, "id": 1, "whatsappId": 1, "handlerType": "ai_agent", "triggerType": "on_message_received" } ], "messageTemplates": [ { "templateType": "greeting", "message": "example", "mediaPath": "example", "mediaType": "example", "isActive": true, "id": 1, "whatsappId": 1 } ], "scheduleConfig": { "schedules": { "monday": { "enabled": true, "ranges": [ { "start": "09:00", "end": "18:00" } ] }, "saturday": { "enabled": false, "ranges": [] } }, "holidays": [ "2026-12-25", "2027-01-01" ], "outOfHoursEnabled": true, "outOfHoursAiPolicy": "only_without_ai", "outOfHoursMessage": "example", "afterHoursHandlerType": "example", "collectiveVacationEnabled": true, "collectiveVacationStart": "example", "collectiveVacationEnd": "example", "collectiveVacationMessage": "example", "timezone": "example", "id": 1, "whatsappId": 1, "afterHoursMessage": "example", "createdAt": {}, "updatedAt": {} }, "behaviorConfig": { "allowGroup": false, "groupAsTicket": "disabled", "expiresTicket": 0, "whenExpiresTicket": "", "expiresInactiveMessage": "example", "timeInactiveMessage": "", "timeCreateNewTicket": 1, "maxUseBotQueues": 1, "maxUseBotQueuesNPS": 1, "timeUseBotQueues": "0", "timeSendQueue": 1, "sendIdQueue": 1, "flowIdWelcome": 1, "flowIdNotPhrase": 1, "maxConcurrentChats": 5, "messageRateLimit": 30, "messageRateWindow": 60, "enableAutoReply": false, "autoReplyDelay": 0, "enableReadReceipts": true, "enableTypingIndicator": true, "typingDuration": 3000, "maxRetries": 3, "retryDelay": 5000, "id": 1, "whatsappId": 1 }, "importConfig": { "importRecentMessages": "example", "importOldMessagesGroups": false, "statusImportMessages": "example", "closedTicketsPostImported": false, "queueIdImportMessages": 1, "daysLimitImportMessages": 30, "createContactsOnImport": true, "createTicketsOnImport": false, "id": 1, "whatsappId": 1, "importOldMessages": "example" }, "automationConfig": { "id": {}, "whatsappId": {}, "createdAt": {}, "updatedAt": {}, "inactivityEnabledAt": {}, "welcomeMedia": {}, "welcomeMediaFile": {}, "welcomeMediaMime": {}, "welcomeMediaName": {}, "welcomeMediaSize": {}, "welcomeMediaHash": {}, "welcomeEnabled": true, "welcomeMessage": "example", "welcomeAiPolicy": "skip_if_ai", "welcomeCooldownHours": 1, "acceptGreetingEnabled": true, "acceptGreetingMessage": "example", "farewellEnabled": true, "farewellMessage": "example", "npsEnabled": true, "npsMessage": "example", "npsThanksMessage": "example", "npsExpiryMinutes": 1, "closingOnAutoClose": true, "inactivityEnabled": true, "inactivityScope": "bot", "inactivityWarningMinutes": 1, "inactivityWarningMessage": "example", "inactivityCloseMinutes": 1 } }'Actualiza la configuración de una conexión WhatsApp existente
Authorizations
Sección titulada « Authorizations »Parameters
Sección titulada « Parameters »Path Parameters
Sección titulada « Path Parameters »ID de la conexión WhatsApp
Request Bodyrequired
Sección titulada « Request Bodyrequired »object
object
ID del horario existente; null o ausente si es nuevo
object
ID del handler específico (agentId, flowId, etc.)
Prioridad de ejecución (1 = primero)
Orden de ejecución dentro de misma prioridad
Handler activo
Configuración personalizada del handler (JSON)
object
ID de cola (si handlerType = queue)
ID de integración (si handlerType = integration)
Tipo de integración externa (si handlerType = integration)
URL HTTPS del webhook externo (si handlerType = integration)
Secreto de firma HMAC write-only (si handlerType = integration)
Timeout en milisegundos para la integración externa
Pausar IA mientras responde la integración externa
Máximo de mensajes por sesión antes de escalar
Duración máxima de sesión en segundos (30 min default)
Máximo de mensajes por minuto por usuario
Límite de costo en USD por sesión (para IA)
Máximo de tokens por mensaje (para IA)
Máximo de reintentos ante error
ID del handler existente (solo al editar)
Ignorado: la conexión sale del path (PUT) o del registro recién creado (POST)
Tipo de handler. Acepta también los alias de wchat (AI_AGENT, AI_ROUTER, FLOW, INTEGRATION)
Trigger. Acepta también el alias de wchat NEW_MESSAGE
object
Tipo de plantilla
Contenido del mensaje
Ruta del archivo de media
Tipo de media (image, video, audio, document)
Plantilla activa
ID de la plantilla existente (solo al editar)
Ignorado: la conexión sale del path (PUT) o del registro recién creado (POST)
object
Horarios por día: hasta 4 tramos HH:MM con fin posterior al inicio (sin cruzar la medianoche)
object
Example
{ "monday": { "enabled": true, "ranges": [ { "start": "09:00", "end": "18:00" } ] }, "saturday": { "enabled": false, "ranges": [] }}Días festivos (YYYY-MM-DD, máximo 60)
Example
[ "2026-12-25", "2027-01-01"]Responder fuera de horario (apagado por defecto)
Qué hacer si atiende un agente IA
Mensaje fuera de horario (variables de chat)
Ignorado (campo heredado de wchat)
Vacaciones colectivas activas
Inicio de vacaciones colectivas (YYYY-MM-DD)
Fin de vacaciones colectivas (YYYY-MM-DD)
Mensaje durante vacaciones colectivas
Zona horaria IANA. Al crear sin ella se usa la del país de la empresa
Ignorado: la configuración es 1:1 con la conexión
Ignorado: la conexión sale del path (PUT) o del registro recién creado (POST)
Alias de wchat de outOfHoursMessage (se guarda en outOfHoursMessage)
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
object
Permitir grupos
Modo de manejo de grupos
Tiempo de expiración de ticket en minutos
Qué hacer cuando expira el ticket
Mensaje de expiración por inactividad
Tiempo para mensaje de inactividad
Minutos tras los que un mensaje ya no reabre la conversación cerrada (0-10080, 7 días)
Máximo uso de bot en colas
Máximo uso de bot en colas NPS
Tiempo de uso de bot en colas
Tiempo para enviar a cola
ID de cola para envío
ID de flow de bienvenida
ID de flow cuando no hay frase reconocida
Máximo de chats concurrentes
Límite de mensajes por ventana de tiempo
Ventana de tiempo para límite de mensajes (segundos)
Habilitar respuesta automática
Retraso para respuesta automática (ms)
Habilitar confirmaciones de lectura
Habilitar indicador de escritura
Duración del indicador de escritura (ms)
Máximo de reintentos ante error
Retraso entre reintentos (ms)
Ignorado: la configuración es 1:1 con la conexión
Ignorado: la conexión sale del path (PUT) o del registro recién creado (POST)
object
Importar mensajes recientes
Importar mensajes antiguos de grupos
Estado de importación de mensajes
Cerrar tickets después de importar
ID de cola para mensajes importados
Límite de días para importar mensajes antiguos
Crear contactos automáticamente durante la importación
Crear tickets automáticamente durante la importación
Ignorado: la configuración es 1:1 con la conexión
Ignorado: la conexión sale del path (PUT) o del registro recién creado (POST)
Importar mensajes antiguos: ‘enabled’ o boolean (true → ‘enabled’, false → desactivado)
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor al activar la inactividad
object
Ignorado: se sube con POST /whatsapp/:id/automation/welcome-media
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Ignorado: lo fija el servidor
object
Bienvenida en cada conversación nueva del cliente
Texto de bienvenida (variables de chat)
Despedida y NPS también en los cierres automáticos
Null = cerrar sin aviso
Responses
Sección titulada « Responses »Conexión actualizada exitosamente
Conexión no encontrada