{
  "name": "Sites",
  "nodes": [
    {
      "parameters": {
        "triggerTimes": {
          "item": [
            {
              "hour": 8
            }
          ]
        }
      },
      "name": "Cron",
      "type": "n8n-nodes-base.cron",
      "typeVersion": 1,
      "position": [
        -760,
        -300
      ],
      "id": "c18ce4ad-9edb-493c-af10-835e6e3f91c4"
    },
    {
      "parameters": {
        "functionCode": "// Transforma cada item da planilha em um objeto com campo `url`\nreturn items.map(item => {\n  return {\n    json: {\n      url: item.json.Sites,\n      ID: item.json.IDJob\n    }\n  };\n});\n"
      },
      "name": "Parse URLs",
      "type": "n8n-nodes-base.function",
      "typeVersion": 1,
      "position": [
        0,
        -300
      ],
      "id": "c6989284-c0e5-40ec-b43d-d22843304273",
      "alwaysOutputData": false
    },
    {
      "parameters": {
        "url": "=https://{{ $json.url }}",
        "responseFormat": "string",
        "options": {
          "fullResponse": true
        }
      },
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        180,
        -300
      ],
      "id": "d3b29928-79d2-415d-9ca8-354a64aeaa9a",
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ $json.error.code }}",
              "operation": "notEqual",
              "value2": 200
            }
          ],
          "string": [
            {
              "operation": "isNotEmpty"
            }
          ]
        },
        "combineOperation": "any"
      },
      "name": "Check Status",
      "type": "n8n-nodes-base.if",
      "typeVersion": 1,
      "position": [
        460,
        -280
      ],
      "id": "ad418f0e-9c04-447a-b8b9-09e9e9c6d82f"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "fa523cd8-fbc1-4617-8ef1-43466fad9ddb",
              "name": "telegram_chat_id",
              "value": "-4887884761",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -560,
        -300
      ],
      "id": "dcf40ca1-1a87-4df0-b229-7b4e24b3c628",
      "name": "Config"
    },
    {
      "parameters": {
        "chatId": "=-4887884761",
        "text": "=teste",
        "additionalFields": {}
      },
      "name": "Send Telegram 2",
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1,
      "position": [
        1020,
        -220
      ],
      "id": "90c0be8e-f27e-42c2-b82b-e2c0e75856ad",
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "3d990d2c-b919-453a-8763-c1d89efc9bfd",
              "name": "url",
              "value": "={{$json.url}}",
              "type": "string"
            },
            {
              "id": "06da7d23-d47d-4373-89ad-c24b420fd3c5",
              "name": "status",
              "value": "={{$json.statusCode || $json.error.code || \"Indispon\u00edvel\"}}",
              "type": "string"
            },
            {
              "id": "0e82a024-5294-4f61-936e-44afcb4a33c5",
              "name": "mensagem",
              "value": "={{$json.error.message || \"Sem detalhes adicionais\"}}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        740,
        -300
      ],
      "id": "ee1a3f37-ce96-4582-9840-f1685d272094",
      "name": "Edit Fields1"
    },
    {
      "parameters": {
        "resource": "worksheet",
        "operation": "readRows",
        "workbook": {
          "__rl": true,
          "value": "01NYVUAY2YBZEM76ZORRGIOZVPWFET2RSW",
          "mode": "list",
          "cachedResultName": "Sites",
          "cachedResultUrl": "https://madwebserv-my.sharepoint.com/personal/alex_madnezz_com_br/_layouts/15/Doc.aspx?sourcedoc=%7BCF480E58-2EFB-4C8C-8766-AFB1493D4656%7D&file=Sites.xlsx&action=default&mobileredirect=true&DefaultItemOpen=1"
        },
        "worksheet": {
          "__rl": true,
          "value": "{00000000-0001-0000-0000-000000000000}",
          "mode": "list",
          "cachedResultName": "Sites",
          "cachedResultUrl": "https://madwebserv-my.sharepoint.com/personal/alex_madnezz_com_br/_layouts/15/Doc.aspx?sourcedoc=%7BCF480E58-2EFB-4C8C-8766-AFB1493D4656%7D&file=Sites.xlsx&action=default&mobileredirect=true&DefaultItemOpen=1&activeCell=Sites!A1"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.microsoftExcel",
      "typeVersion": 2.1,
      "position": [
        -200,
        -300
      ],
      "id": "bb7e50dd-8ed1-4aae-9fb3-d0a4fe0a51a4",
      "name": "Get rows from sheet",
      "credentials": {
        "microsoftExcelOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Mapeia os dados vindos do node anterior para o formato esperado\nreturn $input.all().map(item => {\n  const siteUrl = item.json.url || ''; // URL vinda do fluxo\n  const status = item.json.status || 'DESCONHECIDO';\n  const mensagem = item.json.mensagem || '';\n\n  // Extrai apenas o nome do site para exibir no card (sem protocolo e sem caminhos)\n  const siteName = siteUrl\n    .replace(/^https?:\\/\\//, '') // remove http/https\n    .replace(/\\/.*$/, ''); // remove qualquer caminho ap\u00f3s o dom\u00ednio\n\n  return {\n    json: {\n      site: siteName, // Nome do shopping\n      url: siteUrl,   // URL completa\n      status: status, // Status retornado pelo Check Status\n      mensagem: mensagem // Mensagem de erro ou resposta\n    }\n  };\n});\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1020,
        -460
      ],
      "id": "268b6bba-f294-41e7-b817-e6a210f1f0b6",
      "name": "Code"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://v3.madnezz.com.br/systems/integration-react/api/request.php?type=Job&do=setTable",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer  {{ $('HTTP Request2').all()[0].json.token }}"
            }
          ]
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "db_type",
              "value": "sql_server"
            },
            {
              "name": "tables[0][table]",
              "value": "status"
            },
            {
              "name": "tables[0][filter][mensagem]",
              "value": "=Site OK"
            },
            {
              "name": "tables[0][filter][id_job]",
              "value": "={{ $json.id_job }}"
            },
            {
              "name": "tables[0][filter][id_job_status]",
              "value": "={{ $json.id_job_status }}"
            },
            {
              "name": "tables[0][filter][id_job_apl]",
              "value": "={{ $json.id_job_apl }}"
            },
            {
              "name": "tables[0][filter][status]",
              "value": "=1"
            },
            {
              "name": "tables[0][filter][acao_fase]",
              "value": "next"
            },
            {
              "name": "tables[0][filter][mp]",
              "value": "0"
            },
            {
              "name": "tables[0][filter][prioridade]",
              "value": "0"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        760,
        -620
      ],
      "id": "784cc015-cef3-4fc4-8f69-0acc0a45687e",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://backend.madnezz.com.br/api/auth/login",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "client",
              "value": "madnezz"
            },
            {
              "name": "device",
              "value": "web"
            },
            {
              "name": "login",
              "value": "ia.madnezz"
            },
            {
              "name": "password",
              "value": "mudar123@"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -400,
        -300
      ],
      "id": "6537c89a-6870-4e12-8dfc-809453fad3d6",
      "name": "HTTP Request2"
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "SELECT j.ID as id_job, js.[ID] id_job_status, ja.ID as id_job_apl\n  from [systems_jobs].[dbo].[Job_status] as js\n  JOIN [systems_jobs].[dbo].[Job_apl] as ja ON ja.ID_job = (SELECT [ID] FROM [systems_jobs].[dbo].[Job]WHERE ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n  JOIN [systems_jobs].[dbo].[Job] as j ON j.ID = (SELECT j.[ID] FROM [systems_jobs].[dbo].[Job] as j WHERE j.ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n  WHERE js.ID_job in (SELECT [ID] FROM [systems_jobs].[dbo].[Job] WHERE ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n   AND Data = FORMAT(GETDATE(), 'yyyy-MM-dd');"
      },
      "type": "n8n-nodes-base.microsoftSql",
      "typeVersion": 1.1,
      "position": [
        480,
        -620
      ],
      "id": "ca3386a7-9d66-400c-bcdd-dfe5798f502b",
      "name": "Microsoft SQL",
      "credentials": {
        "microsoftSql": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://v3.madnezz.com.br/systems/integration-react/api/request.php?type=Job&do=setTable",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer  {{ $('HTTP Request2').all()[0].json.token }}"
            }
          ]
        },
        "sendBody": true,
        "contentType": "form-urlencoded",
        "bodyParameters": {
          "parameters": [
            {
              "name": "db_type",
              "value": "sql_server"
            },
            {
              "name": "tables[0][table]",
              "value": "status"
            },
            {
              "name": "tables[0][filter][mensagem]",
              "value": "={{ $('Code').item.json.mensagem }}"
            },
            {
              "name": "tables[0][filter][id_job]",
              "value": "={{ $json.id_job }}"
            },
            {
              "name": "tables[0][filter][id_job_status]",
              "value": "={{ $json.id_job_status }}"
            },
            {
              "name": "tables[0][filter][id_job_apl]",
              "value": "={{ $json.id_job_apl }}"
            },
            {
              "name": "tables[0][filter][status]",
              "value": "=2"
            },
            {
              "name": "tables[0][filter][acao_fase]",
              "value": "next"
            },
            {
              "name": "tables[0][filter][mp]",
              "value": "0"
            },
            {
              "name": "tables[0][filter][prioridade]",
              "value": "0"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1580,
        -460
      ],
      "id": "c0a44ba5-60a3-4cdb-b585-3d007fc4cca6",
      "name": "HTTP Request3"
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "SELECT j.ID as id_job, js.[ID] id_job_status, ja.ID as id_job_apl\n  from [systems_jobs].[dbo].[Job_status] as js\n  JOIN [systems_jobs].[dbo].[Job_apl] as ja ON ja.ID_job = (SELECT [ID] FROM [systems_jobs].[dbo].[Job]WHERE ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n  JOIN [systems_jobs].[dbo].[Job] as j ON j.ID = (SELECT j.[ID] FROM [systems_jobs].[dbo].[Job] as j WHERE j.ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n  WHERE js.ID_job in (SELECT [ID] FROM [systems_jobs].[dbo].[Job] WHERE ID_api = {{ $('Get rows from sheet').item.json.IDJob }})\n   AND Data = FORMAT(GETDATE(), 'yyyy-MM-dd');"
      },
      "type": "n8n-nodes-base.microsoftSql",
      "typeVersion": 1.1,
      "position": [
        1300,
        -460
      ],
      "id": "85173d6a-c00d-4f18-b4c6-716ede9eeb6c",
      "name": "Microsoft SQL1",
      "credentials": {
        "microsoftSql": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Cron": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse URLs": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Microsoft SQL",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Check Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Status": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config": {
      "main": [
        [
          {
            "node": "HTTP Request2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Telegram 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get rows from sheet": {
      "main": [
        [
          {
            "node": "Parse URLs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Microsoft SQL1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request2": {
      "main": [
        [
          {
            "node": "Get rows from sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Microsoft SQL": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Microsoft SQL1": {
      "main": [
        [
          {
            "node": "HTTP Request3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a8d4f035-0cd5-4da7-94e2-a1a4ab7ddada",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "l3QFXvtB0U8jZlGU",
  "tags": []
}