https://github.com/wyre-technology/node-iqms
Node.js / TypeScript client library for IQMS / DELMIAworks (EnterpriseIQ) — Oracle read driver and optional WebAPI write driver
https://github.com/wyre-technology/node-iqms
delmiaworks enterpriseiq erp iqms manufacturing msp oracle sdk typescript
Last synced: 2 days ago
JSON representation
Node.js / TypeScript client library for IQMS / DELMIAworks (EnterpriseIQ) — Oracle read driver and optional WebAPI write driver
- Host: GitHub
- URL: https://github.com/wyre-technology/node-iqms
- Owner: wyre-technology
- License: other
- Created: 2026-04-29T22:22:25.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-09T02:00:50.000Z (4 days ago)
- Last Synced: 2026-06-09T03:18:33.591Z (4 days ago)
- Topics: delmiaworks, enterpriseiq, erp, iqms, manufacturing, msp, oracle, sdk, typescript
- Language: TypeScript
- Size: 380 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# `@wyre-technology/node-iqms`
Node.js / TypeScript client library for **IQMS / DELMIAworks** (EnterpriseIQ),
the manufacturing ERP from Dassault Systèmes.
> **Status:** Scaffolding. Oracle queries are written from public partner
> documentation and have **not** been validated against a live EnterpriseIQ
> instance. The WebAPI driver is a stub. See [CONTRIBUTING.md](./CONTRIBUTING.md).
## Why two drivers
EnterpriseIQ has two realistic integration surfaces, and most shops need both:
| Driver | Capability | Availability |
|--------|-----------|--------------|
| **Oracle** | Read-only queries against the EIQ schema | Universal — every install has it |
| **WebAPI** | Transactional writes (create work orders, post production, inventory adjustments) | Licensed add-on; not every customer owns it |
`IqmsClient` exposes a single resource surface and routes each call to the
appropriate driver. If a write is attempted without WebAPI configured, the
client throws a clear `DriverNotConfiguredError`.
## Install
```bash
npm install @wyre-technology/node-iqms
```
Configure `.npmrc` so npm can resolve the `@wyre-technology` scope from
GitHub Packages:
```
@wyre-technology:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
```
The `oracledb` package requires the **Oracle Instant Client** to be installed
on the host running the SDK. See [Oracle's installation guide](https://node-oracledb.readthedocs.io/en/latest/user_guide/installation.html).
## Quick start
```ts
import { IqmsClient } from '@wyre-technology/node-iqms';
const client = new IqmsClient({
oracle: {
user: 'eiq_readonly',
password: process.env.IQMS_ORACLE_PASSWORD!,
connectString: 'eiq-db.example.com:1521/EIQ',
},
// Optional — omit to run in read-only mode
webapi: {
baseUrl: 'https://eiq-app.example.com/webapi',
username: 'integration-svc',
password: process.env.IQMS_WEBAPI_PASSWORD!,
},
});
const openWorkOrders = await client.workorders.list({ status: 'open', limit: 50 });
const wo = await client.workorders.get(12345);
```
## Errors
```ts
import {
IqmsError,
AuthenticationError,
NotFoundError,
DriverNotConfiguredError,
NotImplementedError,
OracleError,
} from '@wyre-technology/node-iqms';
```
## License
Apache-2.0