10 REM === B2B LEAD HARVESTER === 20 PRINT "--- Kaynnistetaan Harvester ---" 30 REST INIT "http://127.0.0.1:7711" INTO VISION_API 40 REST TIMEOUT VISION_API 15000 50 REM 1. Luetaan kohteet 60 FS READ "/tmp/lead_targets.json" INTO TARGETS_STR$ 70 JSON PARSE TARGETS_STR$ INTO TARGETS 80 JSON GET "length" FROM TARGETS INTO MAX_TARGETS 90 PRINT "Ladattu " + MAX_TARGETS + " kohdetta. Aloitetaan!" 100 PRINT "Rakennetaan payloadit rajapinnan mukaisesti..." 105 DIM PAYLOAD_CLICK MAPPING 110 DIM PAYLOAD_TAB MAPPING 111 DIM PAYLOAD_COPY MAPPING 112 DIM PAYLOAD_CLOSE MAPPING 113 JSON INIT OBJECT INTO PAYLOAD_CLICK 117 JSON INIT OBJECT INTO PAYLOAD_TAB 118 JSON INIT OBJECT INTO PAYLOAD_COPY 119 JSON INIT OBJECT INTO PAYLOAD_CLOSE 120 JSON INIT ARRAY INTO STEPS_CLICK 125 JSON INIT OBJECT INTO C_STEP 130 JSON SET "action" IN C_STEP TO "hard_click" 132 JSON SET "button" IN C_STEP TO 2 134 JSON PUSH C_STEP INTO STEPS_CLICK 136 JSON SET "steps" IN PAYLOAD_CLICK TO STEPS_CLICK 140 JSON INIT ARRAY INTO STEPS_TAB 145 JSON INIT OBJECT INTO S1 150 JSON SET "action" IN S1 TO "wait" 155 JSON SET "seconds" IN S1 TO 1.0 160 JSON PUSH S1 INTO STEPS_TAB 165 JSON INIT OBJECT INTO S2 170 JSON SET "action" IN S2 TO "key" 175 JSON SET "key" IN S2 TO "ctrl+Tab" 180 JSON PUSH S2 INTO STEPS_TAB 185 JSON INIT OBJECT INTO S3 190 JSON SET "action" IN S3 TO "wait" 195 JSON SET "seconds" IN S3 TO 4.0 200 JSON PUSH S3 INTO STEPS_TAB 205 JSON SET "steps" IN PAYLOAD_TAB TO STEPS_TAB 270 JSON INIT ARRAY INTO STEPS_COPY 285 JSON INIT OBJECT INTO C1 290 JSON SET "action" IN C1 TO "key" 295 JSON SET "key" IN C1 TO "ctrl+a" 300 JSON PUSH C1 INTO STEPS_COPY 305 JSON INIT OBJECT INTO C2 310 JSON SET "action" IN C2 TO "wait" 315 JSON SET "seconds" IN C2 TO 0.5 320 JSON PUSH C2 INTO STEPS_COPY 325 JSON INIT OBJECT INTO C3 330 JSON SET "action" IN C3 TO "key" 335 JSON SET "key" IN C3 TO "ctrl+c" 340 JSON PUSH C3 INTO STEPS_COPY 345 JSON INIT OBJECT INTO C4 350 JSON SET "action" IN C4 TO "wait" 355 JSON SET "seconds" IN C4 TO 0.5 360 JSON PUSH C4 INTO STEPS_COPY 365 JSON SET "steps" IN PAYLOAD_COPY TO STEPS_COPY 370 JSON INIT ARRAY INTO STEPS_CLOSE 385 JSON INIT OBJECT INTO X1 390 JSON SET "action" IN X1 TO "key" 395 JSON SET "key" IN X1 TO "ctrl+w" 400 JSON PUSH X1 INTO STEPS_CLOSE 405 JSON INIT OBJECT INTO X2 410 JSON SET "action" IN X2 TO "wait" 415 JSON SET "seconds" IN X2 TO 1.0 420 JSON PUSH X2 INTO STEPS_CLOSE 425 JSON SET "steps" IN PAYLOAD_CLOSE TO STEPS_CLOSE 430 LET I = 0 440 REM === PCCSILMUKKA === 445 IF I >= MAX_TARGETS THEN GOTO 900 450 JSON GET I FROM TARGETS INTO CUR_TARGET 460 JSON GET "name" FROM CUR_TARGET INTO T_NAME$ 465 IF T_NAME$ == "null" THEN GOTO 900 466 IF T_NAME$ == "" THEN GOTO 900 470 JSON GET "box_x" FROM CUR_TARGET INTO T_X 480 JSON GET "box_y" FROM CUR_TARGET INTO T_Y 482 REM Offset varmistaa etta klikkaamme linkin "lihaan" 484 LET C_X = T_X + 15 486 LET C_Y = T_Y + 5 490 PRINT "------------------------------------" 500 PRINT "Kasitellaan [" + I + "]: " + T_NAME$ 510 JSON SET "steps.0.x" IN PAYLOAD_CLICK TO C_X 520 JSON SET "steps.0.y" IN PAYLOAD_CLICK TO C_Y 525 PRINT "-> Siirretaan hiiri ja avataan taustalle (Middle hard_click)..." 535 REST CALL VISION_API POST "/api/macro/meta_run" WITH PAYLOAD_CLICK INTO RES_CLICK 536 PRINT "-> Siirrytaan valilehteen ja odotetaan..." 540 REST CALL VISION_API POST "/api/macro/meta_run" WITH PAYLOAD_TAB INTO RES_TAB 541 PRINT "-> Kopioidaan sivun sisalto..." 545 REST CALL VISION_API POST "/api/macro/meta_run" WITH PAYLOAD_COPY INTO RES_COPY 550 PRINT "-> Tallennetaan data massatiedostoon..." 560 EXEC "xclip -o -selection clipboard >> /tmp/lead_data.txt; echo >> /tmp/lead_data.txt" INTO DUMMY$ 565 PRINT "-> Suljetaan valilehti..." 570 REST CALL VISION_API POST "/api/macro/meta_run" WITH PAYLOAD_CLOSE INTO RES_CLOSE 580 LET I = I + 1 590 GOTO 440 900 PRINT "------------------------------------" 910 PRINT "Harvester valmis! Kaikki kohteet imuroitu." 920 HALT