is_active = 1; $group->id = (int)$group_id; if (!$group->find(TRUE)) { throw new API_Exception('Invalid Group id'); } $subscribe = CRM_Mailing_Event_BAO_Subscribe::subscribe($group_id, $email, $contact_id); if ($subscribe !== NULL) { /* Ask the contact for confirmation */ $subscribe->send_confirm_request($email); $values = array(); $values[$subscribe->id]['contact_id'] = $subscribe->contact_id; $values[$subscribe->id]['subscribe_id'] = $subscribe->id; $values[$subscribe->id]['hash'] = $subscribe->hash; return civicrm_api3_create_success($values); } return civicrm_api3_create_error('Subscription failed'); } /** * Adjust Metadata for Create action * * The metadata is used for setting defaults, documentation & validation * @param array $params array or parameters determined by getfields */ function _civicrm_api3_mailing_event_subscribe_create_spec(&$params) { $params['email']['api.required'] = 1; $params['group_id']['api.required'] = 1; }