'id', 'title' => E::ts('Twingle Project ID'), 'type' => CRM_Utils_Type::T_INT, 'api.required' => 0, 'description' => E::ts('The Twingle Project ID'), ]; $spec['name'] = [ 'name' => 'name', 'title' => E::ts('Twingle Campaign Name'), 'type' => CRM_Utils_Type::T_STRING, 'api.required' => 0, 'description' => E::ts('Name of the Twingle Project'), ]; $spec['title'] = [ 'name' => 'title', 'title' => E::ts('Twingle Campaign Title'), 'type' => CRM_Utils_Type::T_STRING, 'api.required' => 1, 'description' => E::ts('Title of the Twingle Campaign'), ]; $spec['parent_id'] = [ 'name' => 'parent_id', 'title' => E::ts('Parent Campaign'), 'type' => CRM_Utils_Type::T_INT, 'api.required' => 1, 'description' => E::ts('Optional parent id for this Campaign'), ]; } /** * # TwingleCampaign.Create API * * @param array $params * * @return array * API result descriptor * * @throws CiviCRM_API3_Exception * @see civicrm_api3_create_success */ function civicrm_api3_twingle_campaign_Create(array $params): array { // instantiate TwingleCampaign $campaign = new TwingleCampaign($params); // Try to create the TwingleCampaign try { $campaign->create(); return civicrm_api3_create_success( $campaign->getResponse('TwingleCampaign created'), $params, 'TwingleCampaign', 'Create' ); } catch(Exception $e){ Civi::log()->error( E::LONG_NAME . ' could not create TwingleCampaign: ' . $e->getMessage(), $campaign->getResponse() ); return civicrm_api3_create_error( 'Could not create TwingleCampaign: ' . $e->getMessage(), $campaign->getResponse() ); } }