Class CommunicationsController
- Namespace
- KadicErp.WebApi.Controllers.Academy
- Assembly
- KadicErp.WebApi.dll
US#10 (#8490) — Comunicaciones WhatsApp (plantillas + envío). Reusa la infraestructura
de WhatsApp ya existente (IModuleNotificationDispatcher) — no se agrega ningún cliente HTTP.
[ApiController]
[Route("api/academies/communications")]
[Authorize]
[RequireModule("ACADEMY")]
public class CommunicationsController : ControllerBase
- Inheritance
-
objectControllerBaseCommunicationsController
Constructors
CommunicationsController(IMediator, ICurrentUser)
public CommunicationsController(IMediator mediator, ICurrentUser currentUser)
Parameters
mediatorIMediatorcurrentUserICurrentUser
Methods
CreateTemplate(TemplateBody, CancellationToken)
[HttpPost("templates")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_TEMPLATE_CREATE")]
public Task<IActionResult> CreateTemplate(TemplateBody body, CancellationToken cancellationToken)
Parameters
bodyTemplateBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetBatchDetail(Guid, CancellationToken)
[HttpGet("history/{batchId:guid}")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_HISTORY_VIEW")]
public Task<IActionResult> GetBatchDetail(Guid batchId, CancellationToken cancellationToken)
Parameters
batchIdGuidcancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetHistory(CancellationToken)
[HttpGet("history")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_HISTORY_VIEW")]
public Task<IActionResult> GetHistory(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetKpis(CancellationToken)
[HttpGet("kpis")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_VIEW")]
public Task<IActionResult> GetKpis(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
- Task<IActionResult>
GetTemplates(bool?, CancellationToken)
[HttpGet("templates")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_VIEW")]
public Task<IActionResult> GetTemplates(bool? activeOnly, CancellationToken cancellationToken)
Parameters
activeOnlybool?cancellationTokenCancellationToken
Returns
- Task<IActionResult>
Send(SendBody, CancellationToken)
[HttpPost("send")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_SEND")]
public Task<IActionResult> Send(SendBody body, CancellationToken cancellationToken)
Parameters
bodySendBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
ToggleTemplate(Guid, ToggleTemplateBody, CancellationToken)
[HttpPatch("templates/{id:guid}")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_TEMPLATE_TOGGLE")]
public Task<IActionResult> ToggleTemplate(Guid id, ToggleTemplateBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyToggleTemplateBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>
UpdateTemplate(Guid, TemplateBody, CancellationToken)
[HttpPut("templates/{id:guid}")]
[Authorize(Policy = "ACADEMY_COMMUNICATIONS_TEMPLATE_EDIT")]
public Task<IActionResult> UpdateTemplate(Guid id, TemplateBody body, CancellationToken cancellationToken)
Parameters
idGuidbodyTemplateBodycancellationTokenCancellationToken
Returns
- Task<IActionResult>