{
  "info": {
    "name": "ZapZap API",
    "description": "API REST para conectar números de WhatsApp por QR y enviar, recibir y automatizar mensajes. Autentica con los encabezados `x-api-key` y `x-api-secret` (Configuración y API en el panel). El canal usa QR y no es la API oficial de Meta: WhatsApp puede restringir números que envían mensajes no deseados. Documentación: https://zapzapapi.com/es/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "x-api-key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{apiKey}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "pm.request.headers.upsert({ key: 'x-api-secret', value: pm.variables.get('apiSecret') });"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.zapzapapi.com/api/v1"
    },
    {
      "key": "apiKey",
      "value": ""
    },
    {
      "key": "apiSecret",
      "value": ""
    },
    {
      "key": "instanceId",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Cuenta e Instancias",
      "item": [
        {
          "name": "Datos de la Cuenta",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/account",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account"
              ]
            },
            "description": "Devuelve los datos de tu cuenta: nombre, email, saldo actual, día de cobro y estado."
          }
        },
        {
          "name": "Listar Instancias",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances"
              ]
            },
            "description": "Lista todas las instancias de WhatsApp de tu cuenta con estado, nombre, teléfono y configuración."
          }
        },
        {
          "name": "Crear Instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances"
              ]
            },
            "description": "Crea una nueva instancia de WhatsApp. Debita automáticamente del saldo (tarifa de activación + proporcional). El nombre debe contener solo letras, números, _ y -.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"minha-instancia\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Costo de Creación",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/cost",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "cost"
              ]
            },
            "description": "Devuelve el costo de crear una nueva instancia: tarifa de activación, proporcional y saldo necesario."
          }
        },
        {
          "name": "Eliminar Instancia",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}"
              ]
            },
            "description": "Elimina (soft delete) una instancia. WhatsApp se desconecta y se genera una exención de la tarifa de activación para la próxima creación."
          }
        },
        {
          "name": "Detalles de la Instancia",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}"
              ]
            },
            "description": "Devuelve los detalles de una instancia específica."
          }
        },
        {
          "name": "Actualizar Instancia",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}"
              ]
            },
            "description": "Actualiza webhook_url y/o metadata de una instancia. El metadata es un JSON libre para vincular la instancia a tu sistema (ej: ID del cliente, plan, etc). El metadata se incluye automáticamente en los webhooks recibidos.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Código QR de la Instancia",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}/qrcode",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}",
                "qrcode"
              ]
            },
            "description": "Devuelve el código QR para conectar WhatsApp a la instancia. Escanéalo con el celular."
          }
        },
        {
          "name": "Ver Webhook",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}/webhook",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}",
                "webhook"
              ]
            },
            "description": "Devuelve la URL de webhook configurada para la instancia. El webhook recibe eventos en tiempo real (mensajes, estado, etc).\n\n⚠️ ATENCIÓN A LA URL: el {id} ya va en la ruta: NO lo agregues dos veces.\n\n✅ Correcto:   GET /api/v1/instances/TU-INSTANCE-ID/webhook\n❌ Incorrecto: GET /api/v1/TU-INSTANCE-ID/instances/TU-INSTANCE-ID/webhook  (instanceId duplicado)"
          }
        },
        {
          "name": "Configurar Webhook",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}/webhook",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}",
                "webhook"
              ]
            },
            "description": "Define o actualiza la URL de webhook de la instancia. La URL debe ser pública y accesible por HTTPS. Eventos como mensajes recibidos, estado de entrega y cambios de conexión se enviarán por POST a esa URL.\n\n⚠️ ATENCIÓN A LA URL: el {id} ya va en la ruta: NO lo agregues dos veces.\n\n✅ Correcto:   PUT /api/v1/instances/TU-INSTANCE-ID/webhook\n❌ Incorrecto: PUT /api/v1/TU-INSTANCE-ID/instances/TU-INSTANCE-ID/webhook  (instanceId duplicado)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"webhook_url\": \"https://meusite.com/webhook\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Probar Webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}/webhook/test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}",
                "webhook",
                "test"
              ]
            },
            "description": "Envía un evento de prueba a la URL de webhook configurada. Devuelve el código de estado y el tiempo de respuesta. Útil para validar que tu servidor está recibiendo los eventos correctamente.\n\n⚠️ ATENCIÓN A LA URL: el {id} ya va en la ruta: NO lo agregues dos veces.\n\n✅ Correcto:   POST /api/v1/instances/TU-INSTANCE-ID/webhook/test\n❌ Incorrecto: POST /api/v1/TU-INSTANCE-ID/instances/TU-INSTANCE-ID/webhook/test  (instanceId duplicado)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Límites de Nuevas Conversaciones (WhatsApp)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/wa_messages_limits",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "wa_messages_limits"
              ]
            },
            "description": "Consulta el límite actual de nuevas conversaciones que WhatsApp permite iniciar desde este número (el 'tier' de la cuenta). Útil para seguir el calentamiento y evitar bloqueos por exceso de envíos."
          }
        }
      ]
    },
    {
      "name": "Enviar Mensajes",
      "item": [
        {
          "name": "Enviar Carrusel",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/carousel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "carousel"
              ]
            },
            "description": "Envía un carrusel de tarjetas con imagen y botones de acción. Cada elemento del array `carousel` representa una tarjeta con `text`, `image` y `buttons: [{type,text,id}]`.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Confira nossas opções:\",\n  \"carousel\": [\n    {\n      \"text\": \"Produto 1\",\n      \"image\": \"https://exemplo.com/img.jpg\",\n      \"buttons\": [\n        {\n          \"type\": \"REPLY\",\n          \"text\": \"Quero!\",\n          \"id\": \"quero\"\n        }\n      ]\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Contacto (vCard)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/contact",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "contact"
              ]
            },
            "description": "Envía una tarjeta de contacto (vCard) con nombre y teléfono.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"fullName\": \"João Silva\",\n  \"phoneNumber\": \"5511999999999,5511888888888\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Ubicación",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "location"
              ]
            },
            "description": "Envía una ubicación geográfica con pin en el mapa. El destinatario puede abrirla directamente en Google Maps o Apple Maps.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"latitude\": -23.5505,\n  \"longitude\": -46.6333\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Solicitar Ubicación",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/location-button",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "location-button"
              ]
            },
            "description": "Envía un mensaje con un botón que pide la ubicación del usuario. El botón de compartir ubicación se agrega automáticamente.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Compartilhe sua localização para entregarmos seu pedido:\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Multimedia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/media",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "media"
              ]
            },
            "description": "Envía un archivo multimedia a un contacto. El archivo debe estar accesible en una URL pública.\n\nTipos disponibles:\n• image: Imagen (JPG, PNG, GIF, WebP). Admite pie de foto mediante text.\n• video: Video (MP4, AVI, MOV). Admite pie de foto mediante text.\n• audio: Audio como archivo (MP3, OGG, WAV). Aparece con ícono de archivo de audio.\n• ptt: Push-to-Talk: audio que aparece como mensaje de voz (burbuja de micrófono). Ideal para humanizar automatizaciones.\n• myaudio: Audio nativo de WhatsApp (OGG/Opus). Similar a ptt, úsalo cuando ya tengas el archivo en el formato correcto.\n• ptv: Mensaje de video (nota de video redonda). Siempre llega en formato circular; el video 16:9 se recorta en el centro. Ignora el pie de foto (el campo text no aparece). Usa MP4 H.264. Acepta duraciones largas (probado de 15 a 180 s) y tamaño dentro del límite de multimedia.\n• document: Documento (PDF, DOCX, XLSX, etc.). Usa docName para definir el nombre mostrado en el chat.\n• sticker: Sticker animado o estático (WebP).\n\nLímite de tamaño (envío por URL): imagen, video y audio hasta ~190 MB; documento hasta ~500 MB. Por encima de eso WhatsApp lo rechaza (HTTP 413 / error de carga). Nota: al enviar el archivo en base64 en el cuerpo de la solicitud por la API pública (/api/v1), el límite baja a ~2 MB. Por eso, para archivos más grandes, envía siempre por URL.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"type\": \"\",\n  \"file\": \"https://...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Botones de Respuesta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/buttons",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "buttons"
              ]
            },
            "description": "Envía botones clicables (hasta 3). Cada objeto del array `buttons` se convierte en un tipo de botón distinto según el campo usado:\n\n• `text` + `id` → botón de respuesta rápida (el contacto lo toca y se envía el texto)\n• `text` + `url` → botón que abre un enlace externo\n• `text` + `phone` → botón de llamada\n• `text` + `copy` → botón que copia un código al portapapeles\n\nSin `image`, el mensaje sale solo con texto + botones (encabezado limpio). Con `image`, aparece una imagen en la parte superior. Limitación de WhatsApp: mezclar reply con url/phone/copy en el mismo mensaje puede mostrar el aviso 'Abrir en el celular'.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Como podemos ajudar?\",\n  \"buttons\": [\n    {\n      \"text\": \"Sim\",\n      \"id\": \"yes\"\n    },\n    {\n      \"text\": \"Nosso site\",\n      \"url\": \"https://exemplo.com\"\n    },\n    {\n      \"text\": \"Ligar\",\n      \"phone\": \"+5511999999999\"\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Lista de Opciones",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "list"
              ]
            },
            "description": "Envía un menú en lista con secciones y elementos seleccionables. El contacto toca el botón y elige una opción.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Escolha uma opção:\",\n  \"choices\": [\n    \"[Produtos]\",\n    \"Camiseta|p1|R$ 50\",\n    \"Calça|p2|R$ 120\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Encuesta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/poll",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "poll"
              ]
            },
            "description": "Envía una encuesta nativa de WhatsApp. Los contactos votan y el resultado llega por webhook.\n\nEncuesta (type poll): usa choices (lista de opciones) y selectableCount (cuántas puede marcar el usuario; >1 = opción múltiple). WhatsApp acepta 12+ opciones. Los votos llegan por el webhook de mensajes como PollUpdateMessage con el campo vote ya descifrado (texto de la opción); en opción múltiple llega la lista de las opciones actuales separada por comas, y un voto removido llega vacío.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Qual o melhor dia?\",\n  \"choices\": [\n    \"Segunda\",\n    \"Terça\",\n    \"Quarta\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Botón PIX",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/pix-button",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "pix-button"
              ]
            },
            "description": "Envía un botón de pago PIX nativo de WhatsApp. El contacto puede copiar la clave y pagar directamente.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"pixType\": \"EVP\",\n  \"pixKey\": \"123e4567-e89b-12d3-a456-426614174000\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Solicitar Pago",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/request-payment",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "request-payment"
              ]
            },
            "description": "Envía una solicitud de pago con el botón nativo \"Revisar y pagar\" de WhatsApp. Es obligatorio enviar al menos un método de pago: `pixKey`, `boletoCode`, `paymentLink` o `allowCards: true`. Sin eso, la API devuelve error.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"amount\": 49.9\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Estado / Story",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "status"
              ]
            },
            "description": "Publica un estado/story en WhatsApp (texto, imagen o video). Visible para todos los contactos durante 24 horas.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"type\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar Texto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/send/text",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "send",
                "text"
              ]
            },
            "description": "Envía un mensaje de texto simple a un número de WhatsApp. El número debe incluir el código de país, por ejemplo: 5511999999999.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"text\": \"Olá! Tudo bem?\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Conversaciones",
      "item": [
        {
          "name": "Archivar Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/archive",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "archive"
              ]
            },
            "description": "Archiva una conversación, ocultándola de la lista principal de WhatsApp.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999@s.whatsapp.net\",\n  \"archive\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Bloquear / Desbloquear Contacto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/block",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "block"
              ]
            },
            "description": "⚠️ ATENCIÓN: Bloquea un contacto. NO uses block: false . puede DESCONECTAR toda la instancia (bug conocido de WhatsApp). Para desbloquear, usa WhatsApp directamente.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"block\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Lista de Bloqueados",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/blocklist",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "blocklist"
              ]
            },
            "description": "Devuelve todos los contactos bloqueados por la instancia."
          }
        },
        {
          "name": "Eliminar Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/delete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "delete"
              ]
            },
            "description": "Elimina un chat completo. Puede limpiar solo en la app o también en la base de datos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Buscar Chats",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/find",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "find"
              ]
            },
            "description": "Busca chats con filtros avanzados: por nombre, label, estado, grupo y más.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Silenciar Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/mute",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "mute"
              ]
            },
            "description": "Silencia las notificaciones de una conversación por un período en milisegundos. Ejemplo: 86400000 = 24h.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999@s.whatsapp.net\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Ver Notas del Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/notes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "notes"
              ]
            },
            "description": "Devuelve las notas internas (privadas) asociadas a un chat.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Editar Notas del Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/notes/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "notes",
                "edit"
              ]
            },
            "description": "Edita las notas internas de un chat. Las notas solo son visibles para ti.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Recargar Notas",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/notes/refresh",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "notes",
                "refresh"
              ]
            },
            "description": "Recarga las notas internas de WhatsApp en la base de datos local.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Fijar / Desfijar Chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/pin",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "pin"
              ]
            },
            "description": "Fija o desfija una conversación en la parte superior de la lista de chats de WhatsApp.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999@s.whatsapp.net\",\n  \"pin\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Marcar Chat como Leído",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/read",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "read"
              ]
            },
            "description": "Marca todos los mensajes no leídos de una conversación como leídos, reiniciando el contador de no leídos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999@s.whatsapp.net\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eliminar Mensaje",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/delete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "delete"
              ]
            },
            "description": "Elimina un mensaje enviado para todos los participantes del chat. Solo es posible eliminar mensajes enviados por la propia instancia.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"ABCDEF123456\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Descargar Multimedia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/download",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "download"
              ]
            },
            "description": "Descarga un archivo multimedia recibido (imagen, video, audio, documento) a partir del ID del mensaje. El campo `id` debe venir del webhook o del endpoint `/message/find`. Nota: el parámetro transcribe es best-effort y puede no devolver la transcripción. Para una transcripción garantizada de audios, usa el módulo de IA.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"7EB0F01D7244B421048F0706368376E0\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Editar Mensaje",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "edit"
              ]
            },
            "description": "Edita el texto de un mensaje enviado previamente. Aparece con un indicador de editado para el destinatario. Solo funciona con mensajes enviados por la propia instancia.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"ABCDEF123456\",\n  \"number\": \"5511999999999\",\n  \"text\": \"Texto corrigido...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Historial de Mensajes",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/find",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "find"
              ]
            },
            "description": "Devuelve el historial de mensajes de la instancia. Filtra por `chatid` para buscar mensajes de una conversación específica. Admite paginación mediante `limit` y `offset`.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Sincronizar Historial",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/history-sync",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "history-sync"
              ]
            },
            "description": "Solicita la sincronización del historial de mensajes antiguos de un chat. Los mensajes llegan por webhook/SSE.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Marcar como Leído",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/markread",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "markread"
              ]
            },
            "description": "Marca uno o más mensajes como leídos. Envía un array de IDs.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": [\n    \"3EB0538DA65A59F6D8A251\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Indicador de Escribiendo...",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/presence",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "presence"
              ]
            },
            "description": "Muestra \"escribiendo...\" o \"grabando audio...\" al contacto. El indicador desaparece automáticamente después de unos segundos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"presence\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Reaccionar con Emoji",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/react",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "react"
              ]
            },
            "description": "Envía una reacción (emoji) a un mensaje existente. Envía un emoji vacío para QUITAR la reacción. El id debe ser el messageId aplanado en el formato OWNER:MSGID (ej: 5511999990000:2A6E2F02CE4125FDBA1B): no uses el formato Baileys concatenado con el JID, devolverá 404. El webhook de confirmación llega con messageType=ReactionMessage e incluye el atajo 'reaction' en el envelope.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"id\": \"5511999990000:2A6E2F02CE4125FDBA1B\",\n  \"emoji\": \"👍\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Mensajes Temporales (conversación privada)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/ephemeral",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "ephemeral"
              ]
            },
            "description": "Activa o desactiva los mensajes temporales (que desaparecen solos) en una conversación privada. Se aplica a los próximos mensajes de la conversación. Duración en segundos, siguiendo el estándar de WhatsApp: 0 lo desactiva, 86400 = 24 horas, 604800 = 7 días, 7776000 = 90 días.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\",\n  \"duration\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Contactos y Perfil",
      "item": [
        {
          "name": "Verificar Número",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/check",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "check"
              ]
            },
            "description": "Verifica si uno o más números están registrados en WhatsApp. Devuelve JID, nombre verificado y estado.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"numbers\": \"[\\\"5511999999999\\\", \\\"5521888888888\\\"]\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Detalles del Contacto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/details",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "details"
              ]
            },
            "description": "Devuelve los detalles completos de un contacto: nombre, foto, estado, verificación, e-commerce.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Agregar Contacto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/contact/add",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "contact",
                "add"
              ]
            },
            "description": "Agrega un nuevo contacto a la agenda del WhatsApp conectado con nombre y número.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"5511999999999\",\n  \"name\": \"João Silva\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eliminar Contacto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/contact/remove",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "contact",
                "remove"
              ]
            },
            "description": "Elimina un contacto de la agenda de WhatsApp.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar Contactos (Rápido)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "contacts"
              ]
            },
            "description": "Lista todos los contactos guardados en la agenda de WhatsApp."
          }
        },
        {
          "name": "Listar Contactos",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/contacts/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "contacts",
                "list"
              ]
            },
            "description": "Busca contactos con paginación. Usa limit y offset para navegar.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar Foto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/profile/image",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "profile",
                "image"
              ]
            },
            "description": "Cambia la imagen de perfil de tu instancia. Envía una URL, base64 o \"remove\" para quitarla.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"image\": \"https://exemplo.com/logo.jpg\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar Nombre",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/profile/name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "profile",
                "name"
              ]
            },
            "description": "Cambia el nombre del perfil de tu instancia en WhatsApp.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Minha Empresa\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Grupos",
      "item": [
        {
          "name": "Crear comunidad",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/community/create",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "community",
                "create"
              ]
            },
            "description": "Crea una Comunidad de WhatsApp, una estructura que agrupa varios grupos bajo un único canal central de anuncios. El número conectado será el propietario de la comunidad.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Comunidade da Empresa\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Gestionar grupos de la comunidad",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/community/editgroups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "community",
                "editgroups"
              ]
            },
            "description": "Agrega o elimina grupos de una comunidad existente. Usa action: add o action: remove con el array de JIDs de grupos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"community\": \"120363000000000001@g.us\",\n  \"action\": \"\",\n  \"groups\": [\n    \"120363000000000000@g.us\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Crear grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/create",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "create"
              ]
            },
            "description": "Crea un nuevo grupo de WhatsApp con los participantes indicados. El número conectado se agrega automáticamente como administrador. Nombre: mín. 1, máx. 100 caracteres. Máximo de 50 participantes.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Meu Time\",\n  \"participants\": \"[\\\"5511999990001\\\",\\\"5511999990002\\\"]\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Información del grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/info",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "info"
              ]
            },
            "description": "Devuelve los detalles completos de un grupo: nombre, descripción, participantes, administradores, fecha de creación y configuración. Usa `getInviteLink: true` para incluir el enlace de invitación en la respuesta.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Información por invitación",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/inviteInfo",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "inviteInfo"
              ]
            },
            "description": "Obtiene información de un grupo a partir del código o enlace de invitación.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"invitecode\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Unirse a un grupo por enlace",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/join",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "join"
              ]
            },
            "description": "Hace que la instancia se una a un grupo mediante un enlace de invitación de WhatsApp. Acepta la URL completa (https://chat.whatsapp.com/...) o solo el código.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"invitecode\": \"https://chat.whatsapp.com/XXXXXXXXXXXXXXXX\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Salir del grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/leave",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "leave"
              ]
            },
            "description": "Quita el número conectado del grupo especificado. El sistema no puede deshacer esta acción. También sirve para salir de comunidades.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar grupos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "list"
              ]
            },
            "description": "Lista todos los grupos de WhatsApp. Devuelve un array con el JID, el nombre y los datos de cada grupo."
          }
        },
        {
          "name": "Buscar grupos",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "list"
              ]
            },
            "description": "Lista grupos con la opción de incluir participantes. Devuelve un objeto con un array \"groups\".",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Restablecer código de invitación",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/resetInviteCode",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "resetInviteCode"
              ]
            },
            "description": "Genera un nuevo código de invitación para el grupo. El enlace anterior quedará invalidado.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Modo solo administradores",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateAnnounce",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateAnnounce"
              ]
            },
            "description": "Activa o desactiva el modo en que solo los administradores pueden enviar mensajes. Ideal para canales de comunicación unidireccional.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"announce\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar descripción del grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateDescription",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateDescription"
              ]
            },
            "description": "Cambia la descripción del grupo. No se permite una descripción vacía.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"description\": \"Descrição do grupo...\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar foto del grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateImage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateImage"
              ]
            },
            "description": "Cambia la imagen del grupo. Envía la URL de la imagen o \"remove\" para quitarla.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"image\": \"https://exemplo.com/foto.jpg ou \\\"remove\\\"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Bloquear edición del grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateLocked",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateLocked"
              ]
            },
            "description": "Cuando está activado, solo los administradores pueden cambiar el nombre, la foto y la descripción del grupo.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"locked\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Renombrar grupo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateName",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateName"
              ]
            },
            "description": "Cambia el nombre visible del grupo. Mín. 1 y máx. 25 caracteres. Requiere que el número conectado sea administrador.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"name\": \"Nome do grupo\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Gestionar participantes",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateParticipants",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateParticipants"
              ]
            },
            "description": "Gestiona los participantes del grupo. Agregar, eliminar, promover o degradar.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363000000000000@g.us\",\n  \"action\": \"\",\n  \"participants\": \"[\\\"5511999990003\\\"]\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Mensajes temporales (grupo)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/ephemeral",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "ephemeral"
              ]
            },
            "description": "Activa o desactiva los mensajes temporales en el grupo. Duración en segundos, estándar de WhatsApp: 0 desactiva, 86400 = 24 horas, 604800 = 7 días, 7776000 = 90 días.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363123456789012@g.us\",\n  \"duration\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Exigir aprobación para unirse",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateJoinApproval",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateJoinApproval"
              ]
            },
            "description": "Define si el ingreso de nuevos miembros al grupo necesita la aprobación de un administrador.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363123456789012@g.us\",\n  \"IsJoinApprovalRequired\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Quién puede agregar miembros",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/group/updateMemberAddMode",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "group",
                "updateMemberAddMode"
              ]
            },
            "description": "Define quién puede agregar nuevos miembros al grupo: solo administradores o cualquier participante.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"groupjid\": \"120363123456789012@g.us\",\n  \"MemberAddMode\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Newsletters y Canales",
      "item": [
        {
          "name": "Aceptar invitación de administrador",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/admin/accept",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "admin",
                "accept"
              ]
            },
            "description": "Acepta una invitación para ser administrador de un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Invitar administrador del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/admin/invite",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "admin",
                "invite"
              ]
            },
            "description": "Invita a un número a ser administrador de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eliminar administrador del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/admin/remove",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "admin",
                "remove"
              ]
            },
            "description": "Elimina a un administrador de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Revocar invitación de administrador",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/admin/revoke",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "admin",
                "revoke"
              ]
            },
            "description": "Revoca una invitación de administrador pendiente. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Crear canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/create",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "create"
              ]
            },
            "description": "Crea un nuevo canal (newsletter) de WhatsApp.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Canal de Promoções\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eliminar canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/delete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "delete"
              ]
            },
            "description": "Elimina un canal que administras.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar descripción del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/description",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "description"
              ]
            },
            "description": "Actualiza la descripción de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Seguir canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/follow",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "follow"
              ]
            },
            "description": "Sigue un canal para recibir sus publicaciones.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Información del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/info",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "info"
              ]
            },
            "description": "Obtiene información detallada de un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Buscar canal por enlace",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/link",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "link"
              ]
            },
            "description": "Busca información de un canal por el enlace/clave de invitación.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"key\": \"AbCdEfGhIjKlMn\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar canales",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "list"
              ]
            },
            "description": "Lista todos los canales a los que está suscrita la instancia."
          }
        },
        {
          "name": "Mensajes del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/messages",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "messages"
              ]
            },
            "description": "Obtiene los mensajes publicados en un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Eliminar mensaje del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/messages/delete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "messages",
                "delete"
              ]
            },
            "description": "Elimina un mensaje de un canal que administras.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Editar mensaje del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/messages/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "messages",
                "edit"
              ]
            },
            "description": "Edita un mensaje reciente de un canal que administras.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"Post atualizado\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Silenciar canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/mute",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "mute"
              ]
            },
            "description": "Silencia las notificaciones de un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar nombre del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "name"
              ]
            },
            "description": "Actualiza el nombre de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Canal de Promoções VIP\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Transferir propiedad del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/owner/transfer",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "owner",
                "transfer"
              ]
            },
            "description": "Transfiere la propiedad del canal a otro número.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Cambiar foto del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/picture",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "picture"
              ]
            },
            "description": "Actualiza la foto de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"picture\": \"https://example.com/newsletter.png\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Reaccionar a una publicación del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/reaction",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "reaction"
              ]
            },
            "description": "Reacciona a una publicación de un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Buscar canales",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "search"
              ]
            },
            "description": "Busca canales públicos por texto, país o categoría.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Configuración del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "settings"
              ]
            },
            "description": "Actualiza la configuración del canal (p. ej., códigos de reacción permitidos). (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"reactionCodes\": \"basic\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Suscribirse a actualizaciones del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/subscribe",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "subscribe"
              ]
            },
            "description": "Se suscribe a actualizaciones temporales de un canal para recibir notificaciones.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Dejar de seguir",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/unfollow",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "unfollow"
              ]
            },
            "description": "Deja de seguir un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Reactivar canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/unmute",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "unmute"
              ]
            },
            "description": "Reactiva las notificaciones de un canal.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Actualizaciones del canal",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/updates",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "updates"
              ]
            },
            "description": "Obtiene las actualizaciones de mensajes de un canal. (Nota: puede devolver un error GraphQL según la versión de WhatsApp)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Marcar como visto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/newsletter/viewed",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "newsletter",
                "viewed"
              ]
            },
            "description": "Marca las publicaciones del canal como vistas.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Campañas",
      "item": [
        {
          "name": "Enviar campaña en lote",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/advanced",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "advanced"
              ]
            },
            "description": "Envía mensajes en lote con contenido individualizado por destinatario. Cada elemento del array messages puede tener un número y un texto distintos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"messages\": \"[{\\\"number\\\":\\\"5511999999999\\\",\\\"text\\\":\\\"Olá!\\\"}]\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Limpiar toda la cola",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/clearall",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "clearall"
              ]
            },
            "description": "Limpia toda la cola de mensajes, incluidos los pendientes y en curso."
          }
        },
        {
          "name": "Limpiar campañas completadas",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/cleardone",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "cleardone"
              ]
            },
            "description": "Quita de la lista todas las campañas con estado completado dentro de la carpeta indicada.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"folder_id\": \"folder_abc123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Controlar campaña",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "edit"
              ]
            },
            "description": "Controla una campaña de envío masivo: pausar, reanudar o cancelar.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"folder_id\": \"folder_123\",\n  \"action\": \"stop\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar campañas",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/listfolders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "listfolders"
              ]
            },
            "description": "Lista todas las campañas/carpetas de envío masivo. Devuelve un array directo."
          }
        },
        {
          "name": "Listar mensajes de la campaña",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/listmessages",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "listmessages"
              ]
            },
            "description": "Devuelve los mensajes de una campaña específica con el estado de envío y paginación.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"folder_id\": \"folder_abc123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Enviar mensaje simple",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sender/simple",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sender",
                "simple"
              ]
            },
            "description": "Envía un mensaje a una lista de números con un retraso aleatorio entre cada envío. Devuelve un folder_id para el seguimiento.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"numbers\": \"[\\\"5511999999999\\\",\\\"5511888888888\\\"]\",\n  \"type\": \"\",\n  \"delayMin\": 1,\n  \"delayMax\": 5\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Llamadas",
      "item": [
        {
          "name": "Hacer llamada",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/call/make",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "call",
                "make"
              ]
            },
            "description": "Inicia una llamada de voz a un número de WhatsApp. La llamada suena en el destino, pero no establece comunicación de voz real.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Rechazar llamada",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/call/reject",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "call",
                "reject"
              ]
            },
            "description": "Rechaza una llamada entrante.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "WhatsApp Business",
      "item": [
        {
          "name": "Eliminar producto del catálogo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/catalog/delete",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "catalog",
                "delete"
              ]
            },
            "description": "Elimina permanentemente productos del catálogo de WhatsApp Business. Envía un array de IDs en el campo `productIds`. Atención: puede ocurrir un timeout (504) si los IDs son inválidos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"productIds\": \"[\\\"prod_abc123\\\"]\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Ocultar producto del catálogo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/catalog/hide",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "catalog",
                "hide"
              ]
            },
            "description": "Oculta un producto del catálogo público sin eliminarlo. ⚠️ Puede devolver error 501 en cuentas que no admiten esta función. Es una limitación de WhatsApp, no de la API.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"prod_abc123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Información del producto",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/catalog/info",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "catalog",
                "info"
              ]
            },
            "description": "Devuelve información detallada de un producto específico del catálogo.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jid\": \"5511999999999@s.whatsapp.net\",\n  \"id\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar catálogo de productos",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/catalog/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "catalog",
                "list"
              ]
            },
            "description": "Devuelve todos los productos registrados en el catálogo de WhatsApp Business del JID indicado.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jid\": \"5511999999999@s.whatsapp.net\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Mostrar producto en el catálogo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/catalog/show",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "catalog",
                "show"
              ]
            },
            "description": "Hace visible un producto en el catálogo público de WhatsApp Business. ⚠️ Puede devolver error 501 en cuentas que no admiten esta función. Es una limitación de WhatsApp, no de la API.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"prod_abc123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar categorías comerciales",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/get/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "get",
                "categories"
              ]
            },
            "description": "Devuelve la lista de categorías disponibles para el perfil comercial de WhatsApp Business."
          }
        },
        {
          "name": "Ver perfil comercial",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/get/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "get",
                "profile"
              ]
            },
            "description": "Devuelve los datos del perfil comercial de WhatsApp Business: descripción, dirección, correo electrónico, sitio web y categorías. Envía el `jid` con el número (sin @s.whatsapp.net). El número es obligatorio.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jid\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Actualizar perfil comercial",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/business/update/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "business",
                "update",
                "profile"
              ]
            },
            "description": "Actualiza los datos del perfil de WhatsApp Business. Es obligatorio enviar al menos uno de los campos: `description`, `address` o `email`. Atención: este endpoint puede devolver 403 forbidden si la instancia no es de tipo Business.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Configuración",
      "item": [
        {
          "name": "Aplicar etiqueta al chat",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/labels",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "labels"
              ]
            },
            "description": "Gestiona las etiquetas de un chat. Usa `labelids` para definir todas las etiquetas a la vez, `add_labelid` para agregar una etiqueta o `remove_labelid` para quitarla. Envía solo uno de estos campos por solicitud.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Conectar instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/connect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "connect"
              ]
            },
            "description": "Conecta la instancia a WhatsApp. Es necesario escanear el código QR después de esta llamada.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Desconectar instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/disconnect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "disconnect"
              ]
            },
            "description": "Desconecta la instancia de WhatsApp. Será necesario escanear el código QR nuevamente para reconectar."
          }
        },
        {
          "name": "Estado de presencia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/presence",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "presence"
              ]
            },
            "description": "Define si la instancia aparece como en línea o desconectada para los contactos.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"presence\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Ver privacidad",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/privacy",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "privacy"
              ]
            },
            "description": "Devuelve la configuración de privacidad de la cuenta: quién puede agregarte a grupos, ver la última conexión, la foto de perfil y las confirmaciones de lectura."
          }
        },
        {
          "name": "Cambiar privacidad",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/privacy",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "privacy"
              ]
            },
            "description": "Actualiza la configuración de privacidad. Todos los campos son opcionales. Envía solo lo que deseas cambiar.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Ver proxy",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/proxy",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "proxy"
              ]
            },
            "description": "Devuelve la configuración de proxy de la instancia."
          }
        },
        {
          "name": "Configurar proxy",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/proxy",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "proxy"
              ]
            },
            "description": "Configura, cambia o ELIMINA el proxy de la instancia. El campo canónico es `mode`: `custom` (proxy propio, exige proxy_url), `internal` (proxy gestionado por el servicio) o `none` (elimina el proxy, exige confirm_no_proxy=true). Para eliminar el proxy, envía mode=none y confirm_no_proxy=true.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mode\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Reiniciar instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/reset",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "reset"
              ]
            },
            "description": "Reinicia el runtime de la instancia. Si la instancia está desconectada, será necesario escanear el código QR nuevamente."
          }
        },
        {
          "name": "Información y estado de la instancia",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "status"
              ]
            },
            "description": "Devuelve los datos completos de la instancia: nombre, número de teléfono conectado, foto de perfil y estado actual de la conexión (disconnected, connecting, connected)."
          }
        },
        {
          "name": "Configurar delay",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/updateDelaySettings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "updateDelaySettings"
              ]
            },
            "description": "Configura el delay mínimo y máximo entre mensajes en la cola. Devuelve el objeto completo de la instancia.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"msg_delay_min\": 0,\n  \"msg_delay_max\": 2\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Renombrar instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/updateInstanceName",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "updateInstanceName"
              ]
            },
            "description": "Actualiza el nombre interno de la instancia. Devuelve el objeto completo de la instancia.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Minha Nova Instância 2024!@#\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Crear / Editar etiqueta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/label/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "label",
                "edit"
              ]
            },
            "description": "Crea una nueva etiqueta o edita/elimina una existente. Para crear, usa labelid \"0\" con name y color. Para editar, usa el labelid real. Color: número de 0 a 19.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"labelid\": \"0\",\n  \"name\": \"Cliente VIP\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar etiquetas",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/labels",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "labels"
              ]
            },
            "description": "Devuelve todas las etiquetas creadas en la instancia."
          }
        },
        {
          "name": "Recargar etiquetas",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/labels/refresh",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "labels",
                "refresh"
              ]
            },
            "description": "Recarga las etiquetas de WhatsApp para sincronizarlas con la base de datos local.",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Crear / Editar respuesta rápida",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/quickreply/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "quickreply",
                "edit"
              ]
            },
            "description": "Crea o actualiza un atajo de respuesta rápida. Al escribir \"/\" seguido del atajo en WhatsApp, se sugiere el mensaje completo. Para editar, envía el campo `id`.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"shortCut\": \"bom-dia\",\n  \"text\": \"Bom dia! Como posso te ajudar hoje?\",\n  \"type\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar respuestas rápidas",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/quickreply/showall",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "quickreply",
                "showall"
              ]
            },
            "description": "Devuelve todas las respuestas rápidas configuradas en la instancia."
          }
        }
      ]
    },
    {
      "name": "Webhooks y Eventos",
      "item": [
        {
          "name": "Server-Sent Events (SSE)",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/sse",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "sse"
              ]
            },
            "description": "Abre una conexión Server-Sent Events para recibir eventos en tiempo real."
          }
        },
        {
          "name": "Ver webhook de la instancia",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/webhook",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "webhook"
              ]
            },
            "description": "Devuelve la configuración de webhooks de la instancia. La respuesta es siempre un array, incluso con un único webhook."
          }
        },
        {
          "name": "Configurar webhook de la instancia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/webhook",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "webhook"
              ]
            },
            "description": "Gestiona los webhooks de la instancia. Admite modo simple (sin action) y modo multi-webhook (con action: add/update/delete). Para eliminar, envía id + action \"delete\". Los eventos vienen DESACTIVADOS por defecto. Activa solo los que vayas a consumir (evita tráfico innecesario). Los eventos de alto volumen (presence, history) actívalos solo si realmente los vas a procesar.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://example.com/webhook\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Errores del webhook",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/webhook/errors",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "webhook",
                "errors"
              ]
            },
            "description": "Lista los últimos errores de entrega del webhook."
          }
        },
        {
          "name": "Entregas recientes del webhook",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/instances/{{id}}/webhook/deliveries?limit=50",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "instances",
                "{{id}}",
                "webhook",
                "deliveries"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "50",
                  "description": "Cantidad (máx. 100)"
                }
              ]
            },
            "description": "Lista las últimas entregas de webhook de esta instancia (ventana reciente, para depurar): evento, si fue entregado, estado HTTP, latencia, número de intento y hora. Útil para comprobar si tu endpoint está recibiendo y respondiendo 2xx."
          }
        }
      ]
    },
    {
      "name": "Cola Async",
      "item": [
        {
          "name": "Limpiar cola async",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/async",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "async"
              ]
            },
            "description": "Limpia toda la cola de mensajes async."
          }
        },
        {
          "name": "Ver cola async",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/message/async",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "message",
                "async"
              ]
            },
            "description": "Consulta la cola de mensajes async pendientes."
          }
        }
      ]
    },
    {
      "name": "Chatbot e IA",
      "item": [
        {
          "name": "Crear/Editar agente de IA",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/agent/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "agent",
                "edit"
              ]
            },
            "description": "Crea, edita o elimina un agente de IA para atención automática. Envía id vacío para crear; con valor para editar; delete=true para eliminar.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"agent\": {\n    \"name\": \"Assistente\",\n    \"provider\": \"openai\",\n    \"apikey\": \"sk-...\",\n    \"model\": \"gpt-4o-mini\",\n    \"basePrompt\": \"Voce é um assistente...\",\n    \"maxTokens\": 2000,\n    \"temperature\": 70,\n    \"diversityLevel\": 50,\n    \"frequencyPenalty\": 30,\n    \"presencePenalty\": 30,\n    \"signMessages\": true,\n    \"readMessages\": true,\n    \"maxMessageLength\": 500,\n    \"typingDelay_seconds\": 3,\n    \"contextTimeWindow_hours\": 24,\n    \"contextMaxMessages\": 50,\n    \"contextMinMessages\": 3\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar agentes de IA",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/agent/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "agent",
                "list"
              ]
            },
            "description": "Lista todos los agentes de IA configurados en la instancia. Devuelve un array vacío si no existe ningún agente."
          }
        },
        {
          "name": "Crear/Editar función API",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/function/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "function",
                "edit"
              ]
            },
            "description": "Crea, edita o elimina una función de API para integración con servicios externos. Envía id vacío para crear, con valor para editar, delete=true para eliminar.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"\",\n  \"delete\": \"\",\n  \"function\": {\n    \"name\": \"minha_funcao\",\n    \"description\": \"Descricao da funcao\",\n    \"active\": false,\n    \"method\": \"GET\",\n    \"endpoint\": \"https://api.example.com/endpoint\",\n    \"headers\": {},\n    \"body\": {},\n    \"parameters\": []\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar funciones API",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/function/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "function",
                "list"
              ]
            },
            "description": "Lista todas las funciones de API configuradas. Devuelve un array vacío si no existe ninguna función."
          }
        },
        {
          "name": "Crear/Editar conocimiento",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/knowledge/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "knowledge",
                "edit"
              ]
            },
            "description": "Crea o edita una base de conocimiento para los agentes de IA. (Requiere una API key de OpenAI configurada en la instancia)",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar conocimientos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/knowledge/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "knowledge",
                "list"
              ]
            },
            "description": "Lista toda la base de conocimiento de los agentes. Devuelve un array vacío si no existe ningún conocimiento."
          }
        },
        {
          "name": "Crear/Editar trigger",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/trigger/edit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "trigger",
                "edit"
              ]
            },
            "description": "Crea, edita o elimina un trigger de chatbot. Requiere un agente existente (agent_id).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"trigger\": {\n    \"active\": true,\n    \"type\": \"agent\",\n    \"agent_id\": \"id_do_agente\",\n    \"ignoreGroups\": true,\n    \"priority\": 1,\n    \"wordsToStart\": \"ola|oi|iniciar\",\n    \"responseDelay_seconds\": 3,\n    \"lead_field\": \"\",\n    \"lead_operator\": \"\",\n    \"lead_value\": \"\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Listar triggers",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/trigger/list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "trigger",
                "list"
              ]
            },
            "description": "Lista todos los triggers de chatbot configurados. Devuelve un array vacío si no existe ningún trigger."
          }
        }
      ]
    },
    {
      "name": "CRM y Leads",
      "item": [
        {
          "name": "Editar lead",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chat/editLead",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chat",
                "editLead"
              ]
            },
            "description": "Edita los datos de lead de un contacto. El ID debe incluir @s.whatsapp.net.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": \"5511999999999@s.whatsapp.net\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Campos personalizados de lead",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/instance/updateFieldsMap",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "instance",
                "updateFieldsMap"
              ]
            },
            "description": "Define los nombres de los campos de lead. Los campos son planos (lead_field01, lead_field02, etc).",
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Integración con Chatwoot",
      "item": [
        {
          "name": "Ver configuración de Chatwoot",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chatwoot/config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chatwoot",
                "config"
              ]
            },
            "description": "Devuelve la configuración actual de la integración con Chatwoot, incluido el estado de la conexión."
          }
        },
        {
          "name": "Configurar Chatwoot",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/chatwoot/config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "chatwoot",
                "config"
              ]
            },
            "description": "Actualiza la configuración de la integración con Chatwoot. Los campos usan el prefijo chatwoot_. Integración en beta.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"chatwoot_enabled\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Flujos",
      "item": [
        {
          "name": "Listar flujos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/flows",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "flows"
              ]
            },
            "description": "Lista todos los flujos del usuario, incluido el estado (habilitado/deshabilitado) y el tipo de gatillo."
          }
        },
        {
          "name": "Disparar flujo",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/flows/{{flowId}}/trigger",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "flows",
                "{{flowId}}",
                "trigger"
              ]
            },
            "description": "Dispara un flujo para un contacto específico. El flujo debe estar habilitado y la instancia conectada. Las variables opcionales quedan disponibles dentro del flujo como {nombre_de_la_variable}. Al llegar a un bloque de webhook, todas las variables recopiladas (respuestas, clics, datos del contacto) se envían a la URL configurada.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"instance_id\": \"inst-456\",\n  \"phone\": \"5511999999999\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Seguimiento de Meta",
      "item": [
        {
          "name": "Registrar venta de un lead de anuncio",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/{{{instanceId}}}/tracking/conversion",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "{{{instanceId}}}",
                "tracking",
                "conversion"
              ]
            },
            "description": "Avisa que un lead que llegó desde un anuncio se convirtió en venta. Es lo que permite a Meta aprender quién realmente compra, en lugar de optimizar solo por quién responde mensajes. Úsalo cuando el pago se confirme en tu sistema. Llamarlo dos veces para la misma venta no la duplica.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phone\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    }
  ]
}
