{
  "updatedAt": "2025-06-15T14:48:29.804Z",
  "createdAt": "2025-06-15T14:48:29.804Z",
  "id": "AXSCtLdl0v11I3A2",
  "name": "WhatsApp Ninja | Disparo em Massa",
  "active": false,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $('Map').item.json.instance.server_url }}/message/sendText/{{ $('Map').item.json.instance.name }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "=97FEAC55E9F6-4724-9AFB-6918B3860205"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n\"number\": \"{{ $json.phone }}\",\n\"linkPreview\": false,\n\"text\": \"Fala, {{ $('Loop Over Items').item.json.name.split(' ')[0] }}!\\n\\nVi que voc\u00ea quase entrou pro time\u2026 ent\u00e3o liberei um cupom exclusivo pra voc\u00ea usar nas pr\u00f3ximas horas:\\n\\nCUPOM: NINJA10\\n\\n10% OFF no Automa\u00e7\u00e3o na Pr\u00e1tica ou no Ninja Academy \ud83d\udc47\\n\\nAutoma\u00e7\u00e3o Na Pr\u00e1tica:\\nhttps://pay.kiwify.com.br/biqZ72y?coupon=NINJA10\\n\\nNinja Academy:\\nhttps://pay.kiwify.com.br/bFzjvtu?coupon=NINJA10\\n\\nQuando o tempo acabar, o cupom expira. Se quiser ativar, s\u00f3 me responder aqui!\"\n}",
        "options": {}
      },
      "id": "77331325-5c12-42df-8cff-327ab34daa0b",
      "name": "Send Message",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        -580,
        220
      ],
      "continueOnFail": true,
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "amount": "={{ Math.floor(Math.random() * (60 - 5 + 1)) + 10 }}"
      },
      "id": "1fb74110-3cbc-42b0-9baf-c20146e9e444",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        0,
        0
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "tableId": "leads",
        "limit": 200,
        "filters": {
          "conditions": [
            {
              "keyName": "status",
              "condition": "eq",
              "keyValue": "checkout_abandonment"
            },
            {
              "keyName": "status",
              "condition": "eq",
              "keyValue": "pix_created"
            },
            {
              "keyName": "status",
              "condition": "eq",
              "keyValue": "boleto_gerado"
            },
            {
              "keyName": "status",
              "condition": "eq",
              "keyValue": "refund"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        -2000,
        40
      ],
      "id": "c0cbc71d-6bc9-4f5c-8af5-b8752683a4e1",
      "name": "Supabase"
    },
    {
      "parameters": {
        "compare": "selectedFields",
        "fieldsToCompare": "phone",
        "options": {}
      },
      "type": "n8n-nodes-base.removeDuplicates",
      "typeVersion": 2,
      "position": [
        -1740,
        40
      ],
      "id": "42221c7e-9e35-4a09-8511-37e99bad6e5a",
      "name": "Remove Duplicates"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        -1400,
        40
      ],
      "id": "f631414f-8d5e-4089-afa0-8870320e23eb",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "b2f1f6b5-292f-4695-9e41-be200c6d7053",
              "name": "instance.name",
              "value": "=Ninja",
              "type": "string"
            },
            {
              "id": "572fcce5-8a26-4e8f-a48a-ef0bee569dcd",
              "name": "instance.apikey",
              "value": "=4B7813F2E9A1-4A19-8F24-F1ECC0D12018",
              "type": "string"
            },
            {
              "id": "e90043db-657b-461c-b040-2d6089abfbdb",
              "name": "instance.server_url",
              "value": "=https://api.ninjadasautomacoes.com",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "f12dcabc-518f-4c76-8724-3a0e2f8d9195",
      "name": "Map",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -2200,
        40
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "8d6866cf-e013-403e-b8a7-cb8ae08394b0",
              "name": "phone",
              "value": "={{ (() => {\n  const raw = $json.phone?.toString().replace(/\\D/g, '');\n  if (!raw) return null;\n\n  // Se j\u00e1 come\u00e7a com 55 e tem 13 d\u00edgitos (55 + DDD + 9 d\u00edgitos)\n  if (raw.startsWith('55') && raw.length === 13) return `+${raw}`;\n\n  // Se j\u00e1 come\u00e7a com 55 e tem s\u00f3 12 d\u00edgitos (DDD + 8 d\u00edgitos), assume que falta o 9\n  if (raw.startsWith('55') && raw.length === 12) {\n    return `+55${raw.slice(2, 4)}9${raw.slice(4)}`;\n  }\n\n  // Se tem 11 d\u00edgitos (DDD + 9 d\u00edgitos), adiciona +55\n  if (raw.length === 11) return `+55${raw}`;\n\n  // Se tem 10 d\u00edgitos (DDD + 8 d\u00edgitos), adiciona o 9 no in\u00edcio do n\u00famero e +55\n  if (raw.length === 10) {\n    return `+55${raw.slice(0, 2)}9${raw.slice(2)}`;\n  }\n\n  return null;\n})() }}",
              "type": "string"
            },
            {
              "id": "a2d19e59-d92d-4390-a78d-53aab3a9934d",
              "name": "status",
              "value": "={{ $json.status }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -1120,
        20
      ],
      "id": "cb8cb79f-3f7c-42c5-824c-7728063abb19",
      "name": "Lead Data"
    },
    {
      "parameters": {
        "operation": "update",
        "tableId": "leads",
        "filters": {
          "conditions": [
            {
              "keyName": "id",
              "condition": "eq",
              "keyValue": "={{ $('Supabase').item.json.id }}"
            }
          ]
        },
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "status",
              "fieldValue": "=coupon_sent_{{ $('Remove Duplicates').item.json.status }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        360,
        0
      ],
      "id": "d8d71e1f-858b-4244-824c-09c40f3726bc",
      "name": "Update Coupon Sent"
    },
    {
      "parameters": {
        "operation": "update",
        "tableId": "leads",
        "filters": {
          "conditions": [
            {
              "keyName": "id",
              "condition": "eq",
              "keyValue": "={{ $('Supabase').item.json.id }}"
            }
          ]
        },
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "status",
              "fieldValue": "=coupon_error_{{ $('Remove Duplicates').item.json.status }}"
            }
          ]
        }
      },
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        360,
        260
      ],
      "id": "54eca53d-770e-41eb-a898-062332740da9",
      "name": "Update Coupon Error"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "daysInterval": 3,
              "triggerAtHour": 20
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -2380,
        40
      ],
      "id": "0781b881-4a44-46c2-9177-0d83890e8156",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "conditions": [
            {
              "id": "9e1b7e21-2c83-4ef5-af8b-616821ea8429",
              "leftValue": "={{ $json.status }}",
              "rightValue": "refund",
              "operator": {
                "type": "string",
                "operation": "equals",
                "name": "filter.operator.equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [
        -900,
        20
      ],
      "id": "231ee40c-a5c0-4f10-a235-23dc047c839a",
      "name": "If"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "={{ $('Map').item.json.instance.server_url }}/message/sendText/{{ $('Map').item.json.instance.name }}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apikey",
              "value": "=97FEAC55E9F6-4724-9AFB-6918B3860205"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"number\": \"{{ $json.phone }}\",\n  \"linkPreview\": false,\n  \"text\": \"Fala, {{ $('Loop Over Items').item.json.name.split(' ')[0] }}!\\n\\nVi que voc\u00ea acabou pedindo reembolso, e t\u00e1 tudo certo com isso \u2014 \u00e0s vezes \u00e9 s\u00f3 uma quest\u00e3o de momento.\\n\\nMas se quiser retomar quando estiver pronto, liberei um **cupom exclusivo** pra voc\u00ea usar nas pr\u00f3ximas horas:\\n\\nCUPOM: NINJA10\\n\\n10% OFF no Automa\u00e7\u00e3o na Pr\u00e1tica ou no Ninja Academy \ud83d\udc47\\n\\nAutoma\u00e7\u00e3o Na Pr\u00e1tica:\\nhttps://pay.kiwify.com.br/biqZ72y?coupon=NINJA10\\n\\nNinja Academy:\\nhttps://pay.kiwify.com.br/bFzjvtu?coupon=NINJA10\\n\\nO cupom expira em breve, mas se quiser aproveitar \u00e9 s\u00f3 me responder aqui. Tamo junto!\"\n}\n",
        "options": {}
      },
      "id": "f447b05d-ea09-402c-b4e3-933d567e28e6",
      "name": "Send Message Refund",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        -580,
        20
      ],
      "continueOnFail": true,
      "onError": "continueErrorOutput"
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Update Coupon Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Supabase": {
      "main": [
        [
          {
            "node": "Remove Duplicates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicates": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Lead Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map": {
      "main": [
        [
          {
            "node": "Supabase",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Message": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Coupon Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lead Data": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Coupon Sent": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Coupon Error": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Map",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Send Message Refund",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Message Refund": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Coupon Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "staticData": null,
  "meta": null,
  "versionId": "94a8550d-363b-43de-89cb-f86d40ae03b3",
  "activeVersionId": null,
  "triggerCount": 0,
  "shared": [
    {
      "updatedAt": "2025-06-15T14:48:29.804Z",
      "createdAt": "2025-06-15T14:48:29.804Z",
      "role": "workflow:owner",
      "workflowId": "AXSCtLdl0v11I3A2",
      "projectId": "o60HadikmqrvYZ9Z"
    }
  ],
  "activeVersion": null,
  "tags": [
    {
      "updatedAt": "2025-06-14T14:35:30.743Z",
      "createdAt": "2025-06-14T14:35:30.743Z",
      "id": "f7Ttu7FQN3EvRKX9",
      "name": "\ud83e\udd77\ud83c\udffc Ninja Automa\u00e7\u00f5es"
    }
  ]
}