From e1bceeea4250d2e18fa270683716c9a01256883a Mon Sep 17 00:00:00 2001 From: arys Date: Fri, 3 Apr 2026 12:38:05 +0500 Subject: [PATCH] target fix --- .../TargetingCampaignController.java | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/main/java/kz/konturai/parser/controller/TargetingCampaignController.java b/src/main/java/kz/konturai/parser/controller/TargetingCampaignController.java index 9f7f9a1..334761c 100644 --- a/src/main/java/kz/konturai/parser/controller/TargetingCampaignController.java +++ b/src/main/java/kz/konturai/parser/controller/TargetingCampaignController.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; @RestController -@RequestMapping("/api/marketing/campaigns") +@RequestMapping("/api/marketing/targeting") @RequiredArgsConstructor @Slf4j public class TargetingCampaignController { @@ -40,7 +40,7 @@ public class TargetingCampaignController { return userId; } - @PostMapping + @PostMapping("/campaigns") public ResponseEntity createCampaign( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -50,7 +50,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.createCampaign(request, userId)); } - @GetMapping + @GetMapping("/campaigns") public ResponseEntity> getUserCampaigns( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -61,7 +61,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.getUserCampaigns(userId, page, size)); } - @GetMapping("/{id}") + @GetMapping("/campaigns/{id}") public ResponseEntity getCampaign( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -71,7 +71,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.getCampaignById(id, userId)); } - @PostMapping("/{id}/pause") + @PostMapping("/campaigns/{id}/pause") public ResponseEntity pauseCampaign( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -81,7 +81,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.pauseCampaign(id, userId)); } - @PostMapping("/{id}/resume") + @PostMapping("/campaigns/{id}/resume") public ResponseEntity resumeCampaign( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -91,7 +91,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.resumeCampaign(id, userId)); } - @GetMapping("/{id}/insights") + @GetMapping("/campaigns/{id}/insights") public ResponseEntity getInsights( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -102,7 +102,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.getCampaignInsights(id, userId, datePreset)); } - @PostMapping("/{id}/sync-insights") + @PostMapping("/campaigns/{id}/sync-insights") public ResponseEntity syncInsights( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -114,7 +114,7 @@ public class TargetingCampaignController { return ResponseEntity.ok().build(); } - @GetMapping("/{id}/ab-test/evaluate") + @GetMapping("/campaigns/{id}/ab-test/evaluate") public ResponseEntity evaluateAbTest( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -125,9 +125,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(abTestingService.evaluateABTest(campaign)); } - // --- Audience tools (under /targeting) --- + // --- Audience endpoints --- - @PostMapping("/targeting/audience/segment") + @PostMapping("/audience/segment") public ResponseEntity> segmentAudience( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -138,7 +138,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(audienceService.segmentAudience(doc)); } - @PostMapping("/targeting/audience/estimate") + @PostMapping("/audience/estimate") public ResponseEntity> estimateAudience( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -148,9 +148,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(audienceService.estimateAudienceSize(profile, platform)); } - // --- Budget tools (under /targeting) --- + // --- Budget endpoint --- - @PostMapping("/targeting/budget/optimize") + @PostMapping("/budget/optimize") public ResponseEntity optimizeBudget( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -163,9 +163,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(budgetOptimizerService.optimizeBudget(campaign, doc)); } - // --- Account Selection tools (under /targeting) --- + // --- Account Selection endpoint --- - @PostMapping("/targeting/account/select") + @PostMapping("/account/select") public ResponseEntity selectAdAccount( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -180,9 +180,9 @@ public class TargetingCampaignController { return ResponseEntity.ok().build(); } - // --- Campaign Status Polling --- + // ── Polling статуса ─────────────────────────────────────────────────────── - @GetMapping("/{id}/status") + @GetMapping("/campaigns/{id}/status") public ResponseEntity> getCampaignStatus( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -197,9 +197,9 @@ public class TargetingCampaignController { )); } - // --- AI Predictions (Campaign-specific) --- + // ── AI Предсказания ─────────────────────────────────────────────────────── - @GetMapping("/{id}/prediction") + @GetMapping("/campaigns/{id}/prediction") public ResponseEntity getPrediction( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -211,7 +211,7 @@ public class TargetingCampaignController { .orElse(ResponseEntity.notFound().build()); } - @PostMapping("/{id}/predict") + @PostMapping("/campaigns/{id}/predict") public ResponseEntity triggerPrediction( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -223,9 +223,9 @@ public class TargetingCampaignController { return ResponseEntity.accepted().body(Map.of("message", "Генерация предсказания запущена")); } - // --- Insights --- + // ── Инсайты ─────────────────────────────────────────────────────────────── - @GetMapping("/{id}/insights/raw") + @GetMapping("/campaigns/{id}/insights/raw") public ResponseEntity getRawInsights( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -235,9 +235,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaign.getInsights() != null ? campaign.getInsights() : List.of()); } - // --- Retry --- + // ── Retry ───────────────────────────────────────────────────────────────── - @PostMapping("/{id}/retry") + @PostMapping("/campaigns/{id}/retry") public ResponseEntity retryCampaign( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -247,9 +247,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.retryCampaign(id, userId)); } - // --- Budget and Audience Updates --- + // ── Обновление бюджета и аудитории ─────────────────────────────────────── - @PutMapping("/{id}/budget") + @PutMapping("/campaigns/{id}/budget") public ResponseEntity updateBudget( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -261,7 +261,7 @@ public class TargetingCampaignController { body.get("totalBudget"), body.get("dailyBudget"))); } - @PutMapping("/{id}/audience") + @PutMapping("/campaigns/{id}/audience") public ResponseEntity updateAudience( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -272,9 +272,9 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.updateAudience(id, userId, audience)); } - // --- AdSets --- + // ── AdSets ─────────────────────────────────────────────────────────────── - @GetMapping("/{id}/adsets") + @GetMapping("/campaigns/{id}/adsets") public ResponseEntity> getAdSets( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader, @@ -283,7 +283,7 @@ public class TargetingCampaignController { return ResponseEntity.ok(campaignService.getAdSets(id, userId)); } - @PutMapping("/{id}/adsets/{adSetId}") + @PutMapping("/campaigns/{id}/adsets/{adSetId}") public ResponseEntity updateAdSet( @RequestHeader(value = "X-User-Id", required = false) String userIdHeader, @RequestHeader(value = "Authorization", required = false) String authHeader,