Update backup: Chat de WhatsApp - Propuestas Ejecutadas - Versión Final
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"updatedAt": "2026-07-16T16:14:30.458Z",
|
||||
"updatedAt": "2026-07-25T17:09:23.931Z",
|
||||
"createdAt": "2026-06-24T14:10:15.435Z",
|
||||
"id": "CdosDIWBgnDMnPdr",
|
||||
"name": "Chat de WhatsApp - Propuestas Ejecutadas - Versión Final",
|
||||
@@ -42,8 +42,8 @@
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.4,
|
||||
"position": [
|
||||
15344,
|
||||
1648
|
||||
15248,
|
||||
1696
|
||||
],
|
||||
"id": "dad797ac-f70a-4550-a1bb-297d2f296dc4",
|
||||
"name": "WhatsApp - Enviar mensaje TEST"
|
||||
@@ -608,8 +608,8 @@
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
-7408,
|
||||
-656
|
||||
-7392,
|
||||
-576
|
||||
],
|
||||
"id": "99ec1dc9-7dde-42fa-8be2-9dc1b3986b12",
|
||||
"name": "Code - Resolver paso activo WhatsApp TEST"
|
||||
@@ -4150,9 +4150,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_audio }}",
|
||||
"inputType": "binary",
|
||||
@@ -4209,9 +4209,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_imagen }}",
|
||||
"inputType": "binary",
|
||||
@@ -4266,9 +4266,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_video }}",
|
||||
"inputType": "binary",
|
||||
@@ -4498,9 +4498,9 @@
|
||||
"parameters": {
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"messages": {
|
||||
"values": [
|
||||
@@ -6598,8 +6598,8 @@
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"typeVersion": 4.7,
|
||||
"position": [
|
||||
13888,
|
||||
2016
|
||||
13808,
|
||||
1872
|
||||
],
|
||||
"id": "9932dc19-3202-4354-aae7-c33677259f41",
|
||||
"name": "Sheets - Actualizar link ejecutada en banco TEST",
|
||||
@@ -6618,7 +6618,7 @@
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
14096,
|
||||
2016
|
||||
1872
|
||||
],
|
||||
"id": "b2470e42-2786-491b-8f8d-84ac5cf7f31a",
|
||||
"name": "Code - Restaurar contexto actualización banco TEST"
|
||||
@@ -8387,7 +8387,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## 🧭 ROUTER DEL REPORTE ACTIVO\n\nEste bloque decide qué hacer según la etapa actual de la sesión.\n\nEtapas:\n- ESPERANDO_AUDIO\n- ESPERANDO_IMAGENES\n- ESPERANDO_VIDEOS\n- PROCESANDO\n\nDecisiones principales:\n- Guardar audio\n- Pedir audio\n- Guardar imágenes\n- Validar FOTOS LISTAS\n- Guardar videos\n- Cerrar sin video\n- Cerrar con videos\n- Avisar procesamiento\n- Ignorar eventos no válidos\n\nRegla:\ncada mensaje se procesa según la etapa activa, no de forma aislada.",
|
||||
"height": 896,
|
||||
"height": 912,
|
||||
"width": 1024,
|
||||
"color": 2
|
||||
},
|
||||
@@ -8404,14 +8404,14 @@
|
||||
"parameters": {
|
||||
"content": "## 🎙️ PASO 1 — AUDIO OBLIGATORIO\n\nEl reporte no avanza sin nota de voz.\n\nCuando llega un audio:\n- Se guarda el evento en wa_ejecuciones_eventos.\n- Se actualiza la sesión.\n- Se incrementa audio_count.\n- La etapa cambia a ESPERANDO_IMAGENES.\n- El bot pide las imágenes obligatorias.\n\nLa nota de voz debe explicar:\n- Propuesta o referencia\n- Marca/cliente\n- País\n- Ubicación\n- Qué se ejecutó o reportó\n- Comentarios o resultados",
|
||||
"height": 640,
|
||||
"width": 2064,
|
||||
"width": 1408,
|
||||
"color": 7
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
-5568,
|
||||
-2800
|
||||
-5616,
|
||||
-2832
|
||||
],
|
||||
"id": "cf2e46cc-9bb7-469c-9335-a578a24fc23e",
|
||||
"name": "Sticky Note4"
|
||||
@@ -8484,7 +8484,7 @@
|
||||
"parameters": {
|
||||
"content": "## ✅ CIERRE FINAL DEL REPORTE\n\nEste bloque genera el resultado final del reporte.\n\nProceso:\n1. Consolida análisis multimedia.\n2. Gemini genera JSON final estructurado.\n3. Se normaliza la respuesta.\n4. Se hace match contra el Banco de Propuestas.\n5. Se verifica duplicado.\n6. Se guarda en propuestas_ejecutadas.\n7. Se crea carpeta de ejecución en Drive.\n8. Se copia la plantilla de Slides.\n9. Se insertan imágenes y se borran slides vacíos.\n10. Se actualiza el link final.\n11. Si el match es alto, se actualiza el banco original.\n12. Se envía el link final por WhatsApp.\n\nRegla:\npropuestas externas o match bajo no actualizan el banco original.",
|
||||
"height": 1024,
|
||||
"width": 10848,
|
||||
"width": 10912,
|
||||
"color": 6
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
@@ -8499,7 +8499,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## Fotos Listas\n\nActualizar a Fotos listas y preparar solicitud de videos",
|
||||
"height": 272,
|
||||
"height": 288,
|
||||
"width": 944,
|
||||
"color": 4
|
||||
},
|
||||
@@ -10097,15 +10097,19 @@
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate",
|
||||
"availableInMCP": true
|
||||
"availableInMCP": true,
|
||||
"timeSavedMode": "fixed",
|
||||
"errorWorkflow": "puF4LUczoSz3hcek",
|
||||
"callerPolicy": "workflowsFromSameOwner",
|
||||
"timezone": "America/Santo_Domingo"
|
||||
},
|
||||
"staticData": null,
|
||||
"meta": {
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"versionId": "4d721462-7812-496f-9339-30107ebe2e83",
|
||||
"activeVersionId": "4d721462-7812-496f-9339-30107ebe2e83",
|
||||
"versionCounter": 249,
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"activeVersionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"versionCounter": 298,
|
||||
"triggerCount": 1,
|
||||
"shared": [
|
||||
{
|
||||
@@ -10128,9 +10132,9 @@
|
||||
],
|
||||
"tags": [],
|
||||
"activeVersion": {
|
||||
"updatedAt": "2026-07-15T15:06:52.000Z",
|
||||
"createdAt": "2026-07-15T15:06:50.616Z",
|
||||
"versionId": "4d721462-7812-496f-9339-30107ebe2e83",
|
||||
"updatedAt": "2026-07-22T01:29:09.000Z",
|
||||
"createdAt": "2026-07-22T01:29:08.171Z",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"nodes": [
|
||||
{
|
||||
@@ -10168,8 +10172,8 @@
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.4,
|
||||
"position": [
|
||||
15344,
|
||||
1648
|
||||
15248,
|
||||
1696
|
||||
],
|
||||
"id": "dad797ac-f70a-4550-a1bb-297d2f296dc4",
|
||||
"name": "WhatsApp - Enviar mensaje TEST"
|
||||
@@ -10734,8 +10738,8 @@
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
-7408,
|
||||
-656
|
||||
-7392,
|
||||
-576
|
||||
],
|
||||
"id": "99ec1dc9-7dde-42fa-8be2-9dc1b3986b12",
|
||||
"name": "Code - Resolver paso activo WhatsApp TEST"
|
||||
@@ -14276,9 +14280,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_audio }}",
|
||||
"inputType": "binary",
|
||||
@@ -14335,9 +14339,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_imagen }}",
|
||||
"inputType": "binary",
|
||||
@@ -14392,9 +14396,9 @@
|
||||
"operation": "analyze",
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"text": "={{ $json.gemini_prompt_video }}",
|
||||
"inputType": "binary",
|
||||
@@ -14624,9 +14628,9 @@
|
||||
"parameters": {
|
||||
"modelId": {
|
||||
"__rl": true,
|
||||
"value": "models/gemini-3.1-pro-preview",
|
||||
"value": "models/gemini-2.5-pro",
|
||||
"mode": "list",
|
||||
"cachedResultName": "models/gemini-3.1-pro-preview"
|
||||
"cachedResultName": "models/gemini-2.5-pro"
|
||||
},
|
||||
"messages": {
|
||||
"values": [
|
||||
@@ -16724,8 +16728,8 @@
|
||||
"type": "n8n-nodes-base.googleSheets",
|
||||
"typeVersion": 4.7,
|
||||
"position": [
|
||||
13888,
|
||||
2016
|
||||
13808,
|
||||
1872
|
||||
],
|
||||
"id": "9932dc19-3202-4354-aae7-c33677259f41",
|
||||
"name": "Sheets - Actualizar link ejecutada en banco TEST",
|
||||
@@ -16744,7 +16748,7 @@
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
14096,
|
||||
2016
|
||||
1872
|
||||
],
|
||||
"id": "b2470e42-2786-491b-8f8d-84ac5cf7f31a",
|
||||
"name": "Code - Restaurar contexto actualización banco TEST"
|
||||
@@ -18513,7 +18517,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## 🧭 ROUTER DEL REPORTE ACTIVO\n\nEste bloque decide qué hacer según la etapa actual de la sesión.\n\nEtapas:\n- ESPERANDO_AUDIO\n- ESPERANDO_IMAGENES\n- ESPERANDO_VIDEOS\n- PROCESANDO\n\nDecisiones principales:\n- Guardar audio\n- Pedir audio\n- Guardar imágenes\n- Validar FOTOS LISTAS\n- Guardar videos\n- Cerrar sin video\n- Cerrar con videos\n- Avisar procesamiento\n- Ignorar eventos no válidos\n\nRegla:\ncada mensaje se procesa según la etapa activa, no de forma aislada.",
|
||||
"height": 896,
|
||||
"height": 912,
|
||||
"width": 1024,
|
||||
"color": 2
|
||||
},
|
||||
@@ -18530,14 +18534,14 @@
|
||||
"parameters": {
|
||||
"content": "## 🎙️ PASO 1 — AUDIO OBLIGATORIO\n\nEl reporte no avanza sin nota de voz.\n\nCuando llega un audio:\n- Se guarda el evento en wa_ejecuciones_eventos.\n- Se actualiza la sesión.\n- Se incrementa audio_count.\n- La etapa cambia a ESPERANDO_IMAGENES.\n- El bot pide las imágenes obligatorias.\n\nLa nota de voz debe explicar:\n- Propuesta o referencia\n- Marca/cliente\n- País\n- Ubicación\n- Qué se ejecutó o reportó\n- Comentarios o resultados",
|
||||
"height": 640,
|
||||
"width": 2064,
|
||||
"width": 1408,
|
||||
"color": 7
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
-5568,
|
||||
-2800
|
||||
-5616,
|
||||
-2832
|
||||
],
|
||||
"id": "cf2e46cc-9bb7-469c-9335-a578a24fc23e",
|
||||
"name": "Sticky Note4"
|
||||
@@ -18610,7 +18614,7 @@
|
||||
"parameters": {
|
||||
"content": "## ✅ CIERRE FINAL DEL REPORTE\n\nEste bloque genera el resultado final del reporte.\n\nProceso:\n1. Consolida análisis multimedia.\n2. Gemini genera JSON final estructurado.\n3. Se normaliza la respuesta.\n4. Se hace match contra el Banco de Propuestas.\n5. Se verifica duplicado.\n6. Se guarda en propuestas_ejecutadas.\n7. Se crea carpeta de ejecución en Drive.\n8. Se copia la plantilla de Slides.\n9. Se insertan imágenes y se borran slides vacíos.\n10. Se actualiza el link final.\n11. Si el match es alto, se actualiza el banco original.\n12. Se envía el link final por WhatsApp.\n\nRegla:\npropuestas externas o match bajo no actualizan el banco original.",
|
||||
"height": 1024,
|
||||
"width": 10848,
|
||||
"width": 10912,
|
||||
"color": 6
|
||||
},
|
||||
"type": "n8n-nodes-base.stickyNote",
|
||||
@@ -18625,7 +18629,7 @@
|
||||
{
|
||||
"parameters": {
|
||||
"content": "## Fotos Listas\n\nActualizar a Fotos listas y preparar solicitud de videos",
|
||||
"height": 272,
|
||||
"height": 288,
|
||||
"width": 944,
|
||||
"color": 4
|
||||
},
|
||||
@@ -20221,17 +20225,49 @@
|
||||
}
|
||||
},
|
||||
"authors": "Isaac Aracena",
|
||||
"name": "Version 4d721462",
|
||||
"name": "Version a7e79bcb",
|
||||
"description": "",
|
||||
"autosaved": false,
|
||||
"workflowPublishHistory": [
|
||||
{
|
||||
"createdAt": "2026-07-15T15:06:52.705Z",
|
||||
"id": 2961,
|
||||
"createdAt": "2026-07-22T01:29:09.390Z",
|
||||
"id": 3360,
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"versionId": "4d721462-7812-496f-9339-30107ebe2e83",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"event": "activated",
|
||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||
},
|
||||
{
|
||||
"createdAt": "2026-07-25T17:06:44.294Z",
|
||||
"id": 3418,
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"event": "activated",
|
||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||
},
|
||||
{
|
||||
"createdAt": "2026-07-25T17:09:24.556Z",
|
||||
"id": 3422,
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"event": "activated",
|
||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||
},
|
||||
{
|
||||
"createdAt": "2026-07-25T17:06:44.216Z",
|
||||
"id": 3417,
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"event": "deactivated",
|
||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||
},
|
||||
{
|
||||
"createdAt": "2026-07-25T17:09:24.386Z",
|
||||
"id": 3421,
|
||||
"workflowId": "CdosDIWBgnDMnPdr",
|
||||
"versionId": "a7e79bcb-0835-4956-ae80-795a624a6e49",
|
||||
"event": "deactivated",
|
||||
"userId": "0a88c0b1-928e-4412-896e-c5d1c99b2029"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user