'Mailing api "event_confirm" action is deprecated. Use the mailing_event_confirm api instead.'); } /** * Handle a reply event * * @param array $params * * @return array */ function civicrm_api3_mailing_event_reply($params) { $job = $params['job_id']; $queue = $params['event_queue_id']; $hash = $params['hash']; $replyto = $params['replyTo']; $bodyTxt = CRM_Utils_Array::value('bodyTxt', $params); $bodyHTML = CRM_Utils_Array::value('bodyHTML', $params); $fullEmail = CRM_Utils_Array::value('fullEmail', $params); $mailing = CRM_Mailing_Event_BAO_Reply::reply($job, $queue, $hash, $replyto); if (empty($mailing)) { return civicrm_api3_create_error('Queue event could not be found'); } CRM_Mailing_Event_BAO_Reply::send($queue, $mailing, $bodyTxt, $replyto, $bodyHTML, $fullEmail); return civicrm_api3_create_success($params); } /** * Adjust Metadata for event_reply action * * The metadata is used for setting defaults, documentation & validation * @param array $params array or parameters determined by getfields */ function _civicrm_api3_mailing_event_reply_spec(&$params) { $params['job_id']['api.required'] = 1; $params['job_id']['title'] = 'Job ID'; $params['event_queue_id']['api.required'] = 1; $params['event_queue_id']['title'] = 'Event Queue ID'; $params['hash']['api.required'] = 1; $params['hash']['title'] = 'Hash'; $params['replyTo']['api.required'] = 0; $params['replyTo']['title'] = 'Reply To';//doesn't really explain adequately } /** * Handle a forward event * * @param array $params * * @return array */ function civicrm_api3_mailing_event_forward($params) { $job = $params['job_id']; $queue = $params['event_queue_id']; $hash = $params['hash']; $email = $params['email']; $fromEmail = CRM_Utils_Array::value('fromEmail', $params); $params = CRM_Utils_Array::value('params', $params); $forward = CRM_Mailing_Event_BAO_Forward::forward($job, $queue, $hash, $email, $fromEmail, $params); if ($forward) { return civicrm_api3_create_success($params); } return civicrm_api3_create_error('Queue event could not be found'); } /** * Adjust Metadata for event_forward action * * The metadata is used for setting defaults, documentation & validation * @param array $params array or parameters determined by getfields */ function _civicrm_api3_mailing_event_forward_spec(&$params) { $params['job_id']['api.required'] = 1; $params['job_id']['title'] = 'Job ID'; $params['event_queue_id']['api.required'] = 1; $params['event_queue_id']['title'] = 'Event Queue ID'; $params['hash']['api.required'] = 1; $params['hash']['title'] = 'Hash'; $params['email']['api.required'] = 1; $params['email']['title'] = 'Forwarded to Email'; } /** * Handle a click event * * @param array $params * * @return array */ function civicrm_api3_mailing_event_click($params) { civicrm_api3_verify_mandatory($params, 'CRM_Mailing_Event_DAO_TrackableURLOpen', array('event_queue_id', 'url_id'), FALSE ); $url_id = $params['url_id']; $queue = $params['event_queue_id']; $url = CRM_Mailing_Event_BAO_TrackableURLOpen::track($queue, $url_id); $values = array(); $values['url'] = $url; $values['is_error'] = 0; return civicrm_api3_create_success($values); } /** * Handle an open event * * @param array $params * * @return array */ function civicrm_api3_mailing_event_open($params) { civicrm_api3_verify_mandatory($params, 'CRM_Mailing_Event_DAO_Opened', array('event_queue_id'), FALSE ); $queue = $params['event_queue_id']; $success = CRM_Mailing_Event_BAO_Opened::open($queue); if (!$success) { return civicrm_api3_create_error('mailing open event failed'); } return civicrm_api3_create_success($params); } /** * Fix the reset dates on the email record based on when a mail was last delivered * We only consider mailings that were completed and finished in the last 3 to 7 days * Both the min and max days can be set via the params */ function civicrm_api3_mailing_update_email_resetdate($params) { CRM_Mailing_Event_BAO_Delivered::updateEmailResetDate( CRM_Utils_Array::value('minDays', $params, 3), CRM_Utils_Array::value('maxDays', $params, 3) ); return civicrm_api3_create_success(); }