import('tplParams', ['sm_art_stuff' => 123]); * * @param string $format * Ex: 'tplParams', 'tokenContext', 'modelProps', 'envelope' * @param array $values * * @return $this * @see \Civi\WorkflowMessage\Traits\ReflectiveWorkflowTrait::import() */ public function import(string $format, array $values); /** * Determine if the data for this workflow message is complete/well-formed. * * @return array * A list of errors and warnings. Each record defines * - severity: string, 'error' or 'warning' * - fields: string[], list of fields implicated in the error * - name: string, symbolic name of the error/warning * - message: string, printable message describing the problem */ public function validate(): array; // These additional methods are sugar-coating - they're part of the interface to // make it easier to work with, but implementers should not differentiate themselves // using this methods. Instead, use FinalHelperTrait as a thin implementation. /** * Assert that the current message data is valid/sufficient. * * TIP: Do not implement directly. Use FinalHelperTrait. * * @param bool $strict * If TRUE, then warnings will raise exceptions. * If FALSE, then only errors will raise exceptions. * @return $this * @throws \CRM_Core_Exception */ public function assertValid($strict = FALSE); /** * Render a message template. * * TIP: Do not implement directly. Use FinalHelperTrait. * * @param array $params * Options for loading the message template. * If none given, the default for this workflow will be loaded. * Ex: ['messageTemplate' => ['msg_subject' => 'Hello {contact.first_name}']] * Ex: ['messageTemplateID' => 123] * @return array * Rendered message, consistent of 'subject', 'text', 'html' * Ex: ['subject' => 'Hello Bob', 'text' => 'It\'s been so long since we sent you an automated notification!'] * @see \CRM_Core_BAO_MessageTemplate::renderTemplate() */ public function renderTemplate(array $params = []): array; /** * Send an email using a message template. * * TIP: Do not implement directly. Use FinalHelperTrait. * * @param array $params * List of extra parameters to pass to `sendTemplate()`. Ex: * - from * - toName * - toEmail * - cc * - bcc * - replyTo * - isTest * * @return array * Array of four parameters: a boolean whether the email was sent, and the subject, text and HTML templates * @see \CRM_Core_BAO_MessageTemplate::sendTemplate() */ public function sendTemplate(array $params = []): array; }