WSCADUniverse Actions
Software integration with Electrical Components Web Portal
General info
With a connection to wscaduniverse.com, you position your products directly in front of almost 60 000 users from electrical engineering in over 100 countries—a target audience that selects and installs components daily. In addition, we provide the majority of our more than 2.1 million product data records in the widely used DWG format.
Our API library allows third-party developers to seamlessly integrate their solutions with our electrical components web data portal. With this API, you can programmatically access detailed ECAD parts data, making it easier to connect your applications, tools, or engineering workflows with our catalog of electrical parts. Whether you need to retrieve part specifications, manage component data, the library provides a straightforward way to extend your system with high-quality ECAD data.
WSCADUniverse Actions Library
Manufacturers can use the WSCADUniverse Actions Library to integrate electrical components web portal with their solutions seamlessly. This enables you to generate dynamic URLs that lead directly to a pre-filled bill of materials (BOM) on wscaduniverse.com, ready for import. These links can easily be integrated into digital product catalogs or online configurators.
Examples
Just add the JavaScript file to your website and call method the getInBomLink with your manufacturer ID and list of part numbers.
And this will generate for you link to wscaduniverse.com like this:
There, your customers can import the transferred items directly into the "WSCAD Software ELECTRIX AI".
Contact
If you are interested or would like to receive more information, please contact our Product Manager: Christian Rathgeber.
Overview
The WSCADUniverse Actions library provides utility functions for generating URLs to interact with the WSCADUniverse.com platform. This library enables seamless electrical components web portal integration with the BOM (Bill of Materials) functionality, allowing external applications to create links that automatically populate BOM data.
Key Features
- Generate URLs for single manufacturer BOM pages
- Create complex BOM links with multiple manufacturers and parts
- Comprehensive input validation and error handling
- Support for different electrical standards (IEC/NFPA)
- URL length validation to ensure browser compatibility
Library Structure
The library is implemented as an IIFE (Immediately Invoked Function Expression) that exposes the wsuActions object to the global window scope.
What is Electrical Components Web Portal Integration?
Electrical components web portal integration refers to the process of connecting your company's digital product catalog, which lists electrical components, directly with an engineering platform like wscaduniverse.com. This seamless connection allows electrical designers and engineers to transfer product data, such as part numbers, directly from your website into their electrical design projects.
By using the WSCADUniverse Actions library, you provide a direct bridge for your customers. This integration simplifies their workflow, reduces manual data entry errors, and ensures that your products are accurately represented in their bill of materials (BOM). Ultimately, a successful electrical components web portal integration makes it easier for customers to specify and purchase your electrical components, providing essential electrical components data for engineering software and increasing your products' visibility within the engineering community.
Installation & Usage
The WSCADUniverse Actions library can be easily integrated into your web page or application.
Before start
Please check Manufacturer ID to ensure you're using the correct identifier for your integration.
Direct Script Tag
Include the library directly in your HTML page using a script tag:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Application</title>
</head>
<body>
<!-- Your page content -->
<!-- Include WSCADUniverse Actions library -->
<script src="https://www.wscaduniverse.com/assets/files/wscaduniverse-actions.js"></script>
<!-- Your application scripts -->
<script>
// Library is now available as window.wsuActions
const bomUrl = wsuActions.getInBomLink(1, ['1SNA112345B1200']);
console.log(bomUrl);
</script>
</body>
</html>
Verification and Error Handling
Always verify that the library has loaded successfully before using it:
function isWSUActionsLoaded() {
return typeof window.wsuActions !== 'undefined' &&
typeof window.wsuActions.getInBomLink === 'function' &&
typeof window.wsuActions.getLinkForBomFromParameters === 'function';
}
// Safe usage pattern
function safelyUseWSUActions() {
if (isWSUActionsLoaded()) { // Library is loaded and ready to use
const bomUrl = wsuActions.getInBomLink(1, ['1SNA112345B1200']);
console.log('BOM URL generated:', bomUrl);
} else {
console.error('WSCADUniverse Actions library is not loaded');
// Handle fallback or show error message
}
}
// Use with DOM ready event
document.addEventListener('DOMContentLoaded', function() {
safelyUseWSUActions();
});
Important Notes
- The library adds
wsuActionsto the globalwindowobject - Make sure to load the library before using any of its functions
- The library uses strict mode and modern JavaScript features
- Always check if the library is loaded before calling its methods
Constants
The library defines the following constants for use throughout the application:
| Constant | Value | Description |
|---|---|---|
| WSU_HOST | 'https://www.wscaduniverse.com' |
Base URL for the WSCADUniverse platform |
| NORM_IEC | 0 |
Constant representing IEC electrical standard |
| NORM_NFPA | 1 |
Constant representing NFPA electrical standard |
Methods
Generates a URL for the WSCADUniverse.com BOM page for a single manufacturer and a list of part numbers.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
manufacturerId |
number | Required | Unique ID of manufacturer in WSCADUniverse.com (e.g., ABB = 1, Siemens = 77) |
partNumbers |
string[] | Required | Array of part numbers (e.g., ['1SNA112345B1200', '1SNA112345B1300']) |
Returns
string The generated URL, or undefined if validation fails
Validation Rules
manufacturerIdmust be a finite number greater than 0partNumbersmust be an array of non-empty strings- Generated URL length should not exceed 2000 characters (warning issued if exceeded)
Example Usage
console.log(url);
// Output: "https://www.wscaduniverse.com/inbom?manufacturerId=1&parts=1SNA112345B1200%2C1SNA112345B1300"
Creates a URL for the "Bill of Materials" (BOM) page with specified parts from multiple manufacturers. The parts data is serialized and URL-encoded into the 'parts' query parameter.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
parts |
BomPartFromParams[] | Required | Array of BomPartFromParams objects |
BomPartFromParams Object
| Property | Type | Required | Description |
|---|---|---|---|
mId |
number | Required | Unique ID of manufacturer in WSCADUniverse.com |
pn |
string | Required | Part number |
n |
0 | 1 | Optional | Norm value (0 = IEC, 1 = NFPA). Defaults to 0 (IEC) if not provided |
Returns
string The generated URL, or undefined if validation fails
Validation Rules
partsmust be a non-empty array- Each part must have a valid
mId(finite number > 0) - Each part must have a non-empty
pnstring - If provided,
nmust be either 0 or 1 - Generated URL length should not exceed 2000 characters (warning issued if exceeded)
Example Usage
{ mId: 1, pn: '1SNA112345B1200', n: 0 },
{ mId: 77, pn: '3RT1015-1BB41', n: 1 },
{ mId: 1, pn: '1SNA112345B1300' } // n defaults to 0 (IEC)
];
const url = wsuActions.getLinkForBomFromParameters(parts);
console.log(url);
// Output: "https://www.wscaduniverse.com/bom/new?parts=%5B%7B%22mId%22%3A1%2C%22pn%22%3A..."
Usage Examples
Basic Single Manufacturer BOM
const abbParts = ['1SNA112345B1200', '1SNA112345B1300', '1SNA112345B1400'];
const bomUrl = wsuActions.getInBomLink(1, abbParts);
if (bomUrl) { window.open(bomUrl, '_blank'); }
Multi-Manufacturer BOM with Different Standards
const mixedParts = [
{ mId: 1, pn: 'ABB_PART_001', n: 0 }, // ABB part with IEC standard
{ mId: 77, pn: 'SIEMENS_PART_001', n: 1 }, // Siemens part with NFPA standard
{ mId: 2, pn: 'SCHNEIDER_PART_001' }, // Schneider part (defaults to IEC)
{ mId: 1, pn: 'ABB_PART_002', n: 0 } // Another ABB part
];
const complexBomUrl = wsuActions.getLinkForBomFromParameters(mixedParts);
if (complexBomUrl) {
// Redirect to the BOM page
window.location.href = complexBomUrl;
}
Error Handling Example
function createBomLink(manufacturerId, partNumbers) {
const url = wsuActions.getInBomLink(manufacturerId, partNumbers);
if (!url) {
console.error('Failed to create BOM link. Check console for validation errors.');
return null;
}
return url;
}
// This will trigger validation errors
const invalidUrl1 = createBomLink('invalid', ['part1']); // Invalid manufacturer ID
const invalidUrl2 = createBomLink(1, []); // Empty parts array
const invalidUrl3 = createBomLink(1, ['']); // Empty part number
Error Handling
The library provides comprehensive error handling with descriptive console error messages. All validation errors are logged to the console, and functions return undefined when validation fails.
Common Error Scenarios
Invalid Manufacturer ID
Error: "manufacturerId must be a number" / "manufacturerId must be greater than 0"
Cause: Manufacturer ID is not a valid positive number
Invalid Part Numbers
Error: "partNumbers must be an array of strings" / "partNumber must be a non-empty string"
Cause: Part numbers array is invalid or contains empty strings
Invalid Parts Array
Error: "parts must be an array" / "parts array cannot be empty"
Cause: Parts parameter is not an array or is empty
URL Length Warning
Warning: "The generated URL might be too long for some browsers or servers"
Cause: Generated URL exceeds 2000 characters
Impact: Some browsers or servers may not handle very long URLs properly
Browser Compatibility
The WSCADUniverse Actions library is compatible with all modern browsers that support:
- ES6 Features: Arrow functions, const/let declarations
- Array Methods: Array.isArray(), Array.prototype.every(), Array.prototype.map()
- Object Methods: Object property access
- URL APIs: encodeURIComponent()
- JSON APIs: JSON.stringify()
Supported Browsers
- Chrome 51+
- Firefox 54+
- Safari 10+
- Edge 14+
URL Length Considerations
The library includes URL length validation to ensure compatibility across different browsers and servers:
- Chrome/Firefox/Safari: 8192+ character limit
- Servers: Varies by configuration (typically 2048-8192 characters)
Best Practice: Keep URLs under 2000 characters for maximum compatibility