/** * Generates a properly formatted Cpteller API URL * @param {Object} options - URL configuration options * @param {string} options.apiType - 'webapi' or 'custapi' * @param {string} [options.version] - API version (e.g., '26' for webapi) * @param {Object} [options.params] - URL query parameters * @returns {string} - The formatted Cpteller URL */ const getCptellerUrl = (options) => { const domain = process.env?.NODE_ENV === "production" ? "secure" : "test"; const { apiType = "webapi", version, params = {} } = options; // Base URL construction let url = `https://${domain}.cpteller.com/api/`; // Add version if specified for webapi if (apiType === "webapi" && version) { url += `${version}/`; } // Add the API endpoint url += `${apiType}.cfc`; // Add query parameters if any exist const queryParams = new URLSearchParams(params).toString(); if (queryParams) { url += `?${queryParams}`; } return url; }; module.exports = getCptellerUrl;