CrmController

@RestController
@RequestMapping(value = ["/api/v2/flow"])
class CrmController(contactService: ContactService, schedulingService: SchedulingService, pipelineService: PipelineService, campaignService: CampaignService, groupService: GroupService, policyGuard: PolicyGuard)(source)

Constructors

Link copied to clipboard
constructor(contactService: ContactService, schedulingService: SchedulingService, pipelineService: PipelineService, campaignService: CampaignService, groupService: GroupService, policyGuard: PolicyGuard)

Functions

Link copied to clipboard
@PostMapping(value = ["/groups/{id}/contacts"])
fun addContactsToGroup(@PathVariable id: String, @RequestBody request: GroupContactsRequest): GroupResponse
Link copied to clipboard
@PostMapping(value = ["/campaigns/{id}/cancel"])
fun cancelCampaign(@PathVariable id: String): CampaignResponse
Link copied to clipboard
@PostMapping(value = ["/campaigns"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createCampaign(@Valid @RequestBody request: CreateCampaignRequest): CampaignResponse
Link copied to clipboard
@PostMapping(value = ["/contacts"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createContact(@Valid @RequestBody request: CreateContactRequest): ContactResponse
Link copied to clipboard
@PostMapping(value = ["/deals"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createDeal(@Valid @RequestBody request: CreateDealRequest): DealResponse
Link copied to clipboard
@PostMapping(value = ["/groups"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createGroup(@Valid @RequestBody request: CreateGroupRequest): GroupResponse
Link copied to clipboard
@PostMapping(value = ["/pipelines"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createPipeline(@Valid @RequestBody request: CreatePipelineRequest): PipelineResponse
Link copied to clipboard
@PostMapping(value = ["/schedules"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createSchedule(@Valid @RequestBody request: CreateScheduleRequest): ScheduleResponse
Link copied to clipboard
@PostMapping(value = ["/pipelines/{id}/stages"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createStage(@PathVariable id: String, @Valid @RequestBody request: CreateStageRequest): StageResponse
Link copied to clipboard
@PostMapping(value = ["/tags"])
@ResponseStatus(value = HttpStatus.CREATED)
fun createTag(@Valid @RequestBody request: CreateTagRequest): TagResponse
Link copied to clipboard
@DeleteMapping(value = ["/campaigns/{id}"])
@ResponseStatus(value = HttpStatus.NO_CONTENT)
fun deleteCampaign(@PathVariable id: String)
Link copied to clipboard
@DeleteMapping(value = ["/contacts/{id}"])
@ResponseStatus(value = HttpStatus.NO_CONTENT)
fun deleteContact(@PathVariable id: String)
Link copied to clipboard
@DeleteMapping(value = ["/groups/{id}"])
@ResponseStatus(value = HttpStatus.NO_CONTENT)
fun deleteGroup(@PathVariable id: String)
Link copied to clipboard
@GetMapping(value = ["/campaigns/{id}"])
fun getCampaign(@PathVariable id: String): CampaignResponse
Link copied to clipboard
@GetMapping(value = ["/campaigns/stats"])
fun getCampaignStats(): CampaignStatsResponse
Link copied to clipboard
@GetMapping(value = ["/contacts/{id}"])
fun getContact(@PathVariable id: String): ContactResponse
Link copied to clipboard
@GetMapping(value = ["/groups/{id}"])
fun getGroup(@PathVariable id: String): GroupResponse
Link copied to clipboard
@PostMapping(value = ["/contacts/import"], consumes = ["multipart/form-data"])
fun importContacts(@RequestParam(value = "file") file: MultipartFile, @RequestParam(value = "tagId", required = false) tagId: String?): ImportResult
Link copied to clipboard
@GetMapping(value = ["/campaigns"])
fun listCampaigns(pageable: Pageable): Page<CampaignResponse>
Link copied to clipboard
@GetMapping(value = ["/contacts"])
fun listContacts(@RequestParam(required = false) search: String?, pageable: Pageable): Page<ContactResponse>
Link copied to clipboard
@GetMapping(value = ["/groups/{id}/contacts"])
fun listGroupContacts(@PathVariable id: String): List<ContactResponse>
Link copied to clipboard
@GetMapping(value = ["/groups"])
fun listGroups(): List<GroupResponse>
Link copied to clipboard
@GetMapping(value = ["/pipelines"])
fun listPipelines(): List<PipelineResponse>
Link copied to clipboard
@GetMapping(value = ["/schedules"])
fun listSchedules(pageable: Pageable): Page<ScheduleResponse>
Link copied to clipboard
@GetMapping(value = ["/tags"])
fun listTags(): List<TagResponse>
Link copied to clipboard
@DeleteMapping(value = ["/groups/{id}/contacts"])
fun removeContactsFromGroup(@PathVariable id: String, @RequestBody request: GroupContactsRequest): GroupResponse
Link copied to clipboard
@PostMapping(value = ["/campaigns/{id}/retry"])
fun retryCampaign(@PathVariable id: String): CampaignResponse
Link copied to clipboard
@PostMapping(value = ["/campaigns/{id}/send"])
fun sendCampaign(@PathVariable id: String): CampaignResponse
Link copied to clipboard
@PutMapping(value = ["/campaigns/{id}"])
fun updateCampaign(@PathVariable id: String, @Valid @RequestBody request: UpdateCampaignRequest): CampaignResponse
Link copied to clipboard
@PutMapping(value = ["/contacts/{id}"])
fun updateContact(@PathVariable id: String, @RequestBody request: UpdateContactRequest): ContactResponse
Link copied to clipboard
@PutMapping(value = ["/deals/{id}/stage"])
fun updateDealStage(@PathVariable id: String, @Valid @RequestBody request: UpdateDealStageRequest): DealResponse
Link copied to clipboard
@PutMapping(value = ["/groups/{id}"])
fun updateGroup(@PathVariable id: String, @Valid @RequestBody request: UpdateGroupRequest): GroupResponse