.png)
Dassault Systèmes 3DEXPERIENCE Integration Guide
Integrate 3DEXPERIENCE product, engineering, document, and change data through REST APIs, controlled file services, selective callbacks, and scheduled workflows.
Dassault Systèmes 3DEXPERIENCE integration options at a glance
3DEXPERIENCE provides REST-based services for reading, creating, updating, searching, and relating product lifecycle objects, with availability determined by the application, release, tenant, licensed roles, and collaborative spaces. Document and file operations are supported through relevant 3DSpace or application services. Selected applications may provide notifications or callbacks, while broad webhook coverage is not confirmed. Bulk imports, exports, and asynchronous operations may be available for specific object types. Authentication is associated with 3DPassport and may use OAuth 2.0 for supported clients. Martini can consume these APIs, process files, poll incrementally, receive confirmed callbacks, transform data, and orchestrate downstream workflows.
| Integration point | Supported by Dassault Systèmes 3DEXPERIENCE? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Search, read, create, update, and relate Products, Engineering Items, Documents, Change Actions, and other application-specific objects. | Martini can consume documented 3DEXPERIENCE REST services, paginate results, transform payloads, apply business rules, and expose controlled APIs for downstream consumers. |
| File / attachment APIs | Yes | Retrieve or upload Document content and metadata, manage revisions, and exchange authorized files through applicable 3DSpace or application services. | Martini workflows can transfer binary content and metadata, preserve filenames and content types, and route files to downstream APIs or approved file-processing steps. |
| Authentication | Yes | Authenticate through Dassault Systèmes identity services such as 3DPassport, with OAuth 2.0 available for supported API clients and deployment configurations. | Martini can store credentials securely and call the tenant’s confirmed authentication flow; scopes, token endpoints, and service-account support must be configured per deployment. |
| Webhooks / outbound callbacks | Limited | Selected applications or platform services may provide notifications or callbacks for specific events, but broad coverage across 3DEXPERIENCE objects is not confirmed. | Martini can receive confirmed callback notifications and retrieve the current object before processing; scheduled polling is used where event coverage is unavailable. |
| Bulk / async / batch APIs | Limited | Selected product areas may support imports, exports, asynchronous jobs, or application-specific bulk operations for large data loads. | Martini can orchestrate documented batch or asynchronous operations, track job state, process results in stages, and avoid assuming a universal bulk endpoint. |
| Scheduled synchronization | Yes | Incremental synchronization using modification timestamps, supported filters, pagination, and reconciliation workflows where event delivery is unavailable. | Martini can trigger workflows on a schedule, persist progress, apply bounded concurrency, and reconcile missed or failed changes. |
| GraphQL APIs | Not confirmed | A generally available vendor-wide GraphQL API was not confirmed; individual applications should be assessed separately. | Martini supports GraphQL consumption generally, but an integration should use GraphQL only if the customer’s official 3DEXPERIENCE application documentation confirms it. |
| SOAP APIs | Not confirmed | A current vendor-wide SOAP strategy was not confirmed; older or application-specific services should not be assumed to be available. | Martini can consume SOAP services generally, but SOAP should be used only when a version-specific 3DEXPERIENCE service is confirmed. |
How Dassault Systèmes 3DEXPERIENCE exposes data and business events
3DEXPERIENCE REST APIs
3DEXPERIENCE REST services are the primary integration mechanism. Depending on the enabled applications and licensed roles, they can search, read, create, update, and relate product lifecycle objects, documents, engineering items, and changes.
Martini implementation pattern
Martini implementation pattern: a workflow authenticates to the customer tenant, calls the documented resource endpoints, handles pagination and relationships, maps the response into a canonical model, applies business rules, and writes to the target system. Resource availability and permissions are validated against the deployed release.
Implementation sequence
Document and file services
Relevant 3DSpace or application services can expose Document metadata and file content operations, including downloads, uploads, and revision-related handling subject to permissions and lifecycle rules.
Martini implementation pattern
Martini implementation pattern: the workflow retrieves Document metadata first, evaluates revision and maturity requirements, transfers content only when authorized, and sends the result to the downstream repository or application. Large files, check-in/check-out, multipart transfer, and content validation are handled according to the applicable service contract.
Implementation sequence
Selected callbacks and notifications
Some 3DEXPERIENCE applications or platform services may provide event notifications or outbound callbacks, but broad coverage across Products, Documents, Engineering Items, and Change Actions is not confirmed.
Martini implementation pattern
Martini implementation pattern: where a callback is officially supported, Martini receives the notification, authenticates and validates its origin, retrieves the current resource when the payload contains only an identifier, and processes the event idempotently. For unsupported events, a scheduled incremental workflow provides the source of truth.
Implementation sequence
Bulk and asynchronous operations
Selected product areas may provide imports, exports, batch operations, or asynchronous jobs. These capabilities vary by application, object type, release, deployment, and licensed role.
Martini implementation pattern
Martini implementation pattern: Martini starts only documented bulk or asynchronous operations, stores the job identifier, polls or receives the supported status response, processes results in bounded stages, and records partial failures for reconciliation. The workflow does not assume a common bulk endpoint across the platform.
Implementation sequence
Scheduled incremental synchronization
When callback coverage is unavailable, 3DEXPERIENCE data can be synchronized by polling supported REST resources with modification filters, pagination, and periodic reconciliation.
Martini implementation pattern
Martini implementation pattern: a scheduler starts the workflow, which reads the last successful checkpoint, retrieves changed objects, follows relationships, applies idempotent target updates, and advances the checkpoint only after successful processing. A separate reconciliation pass detects missed changes or incomplete structures.
Implementation sequence
Common Dassault Systèmes 3DEXPERIENCE integration patterns
Pattern 1: Synchronize product structures and engineering items
When to use this pattern
Use this pattern when ERP, manufacturing, or another PLM environment needs current Products, Engineering Items, revisions, structures, and lifecycle information. It is suitable for scheduled incremental synchronization when universal event delivery is not available.
Integration direction
Example Mapping
| Dassault Systèmes 3DEXPERIENCE Field | Canonical Field | Target Field |
|---|---|---|
| physicalProduct.identifier | product.sourceId | Material.externalId |
| engineeringItem.revision | item.revision | MaterialRevision.version |
| product.lifecycleState | lifecycle.state | Material.status |
| relationship.quantity | structure.quantity | BillOfMaterial.componentQuantity |
Martini implementation pattern
A scheduled Martini workflow authenticates to 3DEXPERIENCE, retrieves modified Products and Engineering Items, follows paginated relationships, validates lifecycle and collaborative-space rules, and maps the structure into the target model. It uses stable source identifiers for idempotent upserts, stores checkpoints, and retries transient failures without creating duplicates.
Martini capabilities used
- workflows
- API consumption
- scheduling
- pagination and checkpointing
- data mapping
- business rules
- error handling
Pattern 2: Distribute documents and revisions
When to use this pattern
Use this pattern when controlled Documents and their authorized content must be distributed to an enterprise repository, service application, or downstream process while preserving revision and maturity information.
Integration direction
Example Mapping
| Dassault Systèmes 3DEXPERIENCE Field | Canonical Field | Target Field |
|---|---|---|
| document.id | document.sourceId | ServiceNow attachment.external_reference |
| document.revision | document.revision | ServiceNow attachment.version |
| document.maturityState | document.lifecycleState | ServiceNow attachment.status |
| document.fileName | file.name | ServiceNow attachment.file_name |
Martini implementation pattern
Martini first retrieves Document metadata, checks authorization and lifecycle rules, then transfers content only when required. The workflow preserves filenames, MIME types, checksums, and revisions, links the file to the appropriate target item, and handles large-file or transient transfer failures with bounded retries and duplicate detection.
Martini capabilities used
- workflows
- REST API consumption
- file handling
- data mapping
- validation
- business rules
- retry handling
Pattern 3: Process approved Change Actions
When to use this pattern
Use this pattern when downstream ERP, MES, service, quality, or project applications must act on approved 3DEXPERIENCE changes and the affected Products, Engineering Items, or Documents.
Integration direction
Example Mapping
| Dassault Systèmes 3DEXPERIENCE Field | Canonical Field | Target Field |
|---|---|---|
| changeAction.id | change.sourceId | ChangeOrder.externalId |
| changeAction.maturityState | change.status | ChangeOrder.approvalStatus |
| affectedEngineeringItem.identifier | affectedItem.sourceId | ChangeOrder.itemReference |
| affectedEngineeringItem.revision | affectedItem.revision | ChangeOrder.itemRevision |
Martini implementation pattern
A scheduled workflow or confirmed application callback identifies Change Actions that have reached the required maturity state. Martini retrieves related objects, applies release and completeness rules, sends a normalized change message to the target API, stores the target transaction identifier, and separates validation failures from retryable transport errors.
Martini capabilities used
- event or schedule triggers
- API consumption
- orchestration
- relationship retrieval
- data mapping
- business rules
- idempotency
- error handling
Pattern 4: Expose a controlled 3DEXPERIENCE API façade
When to use this pattern
Use this pattern when external applications need stable, business-oriented access to product, document, or change information without depending directly on 3DEXPERIENCE object models or release-specific API details.
Integration direction
Example Mapping
| Dassault Systèmes 3DEXPERIENCE Field | Canonical Field | Target Field |
|---|---|---|
| request.productIdentifier | product.sourceId | 3DEXPERIENCE Product identifier |
| request.documentIdentifier | document.sourceId | 3DEXPERIENCE Document identifier |
| response.lifecycleState | lifecycle.state | External application status |
| response.revision | object.revision | External application version |
Martini implementation pattern
Martini exposes a REST API that authenticates and authorizes callers, validates business identifiers, invokes the appropriate 3DEXPERIENCE services, and transforms responses into a stable contract. The façade centralizes access rules, hides platform-specific relationships, and provides consistent error responses while isolating consumers from API-version changes.
Martini capabilities used
- API exposure
- authentication and authorization
- workflow orchestration
- data transformation
- business rules
- validation
- error handling
Applications commonly integrated with Dassault Systèmes 3DEXPERIENCE
3DEXPERIENCE integration targets depend on the customer’s engineering, manufacturing, service, and enterprise application landscape. The following products represent common or reasonable enterprise architecture scenarios; exact objects and direction must be confirmed for the deployed applications.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| SAP S/4HANA | Synchronize material masters, engineering parts, bills of material, manufacturing data, and approved change information. | Dassault Systèmes 3DEXPERIENCE → Martini → SAP S/4HANA | Martini retrieves changed Products, Engineering Items, and Change Actions, maps revisions and lifecycle states to SAP structures, applies release rules, and performs idempotent upserts with retry handling. |
| Salesforce | Provide sales and service teams with product, configuration, document, or engineering context. | Dassault Systèmes 3DEXPERIENCE → Martini → Salesforce | A Martini workflow retrieves authorized 3DEXPERIENCE data, transforms it into Salesforce-oriented objects, and exposes or consumes REST endpoints for selected request and status flows. |
| Microsoft Dynamics 365 | Exchange product, customer, order, service, and supply-chain information with engineering lifecycle data. | Dassault Systèmes 3DEXPERIENCE → Martini → Microsoft Dynamics 365 | Martini coordinates scheduled REST retrieval and downstream API writes, normalizes identifiers and revisions, and routes validation or authorization failures separately from transient errors. |
| Siemens Teamcenter | Exchange product structures, engineering data, and lifecycle information in multi-PLM environments or migration programs. | Dassault Systèmes 3DEXPERIENCE → Martini → Siemens Teamcenter | Martini pages through product structures, maps relationships and revisions to the target model, stages large transfers, and records source identifiers for reconciliation. |
| PTC Windchill | Coordinate product data, documents, and change information across multiple PLM environments. | Dassault Systèmes 3DEXPERIENCE → Martini → PTC Windchill | A workflow extracts approved or modified objects, transforms lifecycle and ownership fields, transfers documents where authorized, and prevents duplicate creates using stable business keys. |
| ServiceNow | Create service, issue, incident, or request workflows using product and engineering context from 3DEXPERIENCE. | Dassault Systèmes 3DEXPERIENCE → Martini → ServiceNow | Martini polls or receives confirmed notifications for relevant 3DEXPERIENCE objects, enriches ServiceNow requests with product context, and writes workflow status back when required. |
| Jira | Synchronize engineering issues, development work, or delivery tasks with product and change-management records. | Dassault Systèmes 3DEXPERIENCE → Martini → Jira | Martini maps Issues and Change Actions to Jira issue fields, applies status and ownership rules, and uses source references plus bounded retries for bidirectional updates. |
| Oracle ERP Cloud | Exchange item, product, change, procurement, and manufacturing information with engineering lifecycle data. | Dassault Systèmes 3DEXPERIENCE → Martini → Oracle ERP Cloud | Martini orchestrates incremental extraction, canonical mapping, business validation, and target API updates while persisting revision and transaction identifiers for replay and reconciliation. |
How to build a Dassault Systèmes 3DEXPERIENCE integration in Martini
Objective
Establish the tenant-specific connection and authentication model before designing object flows. Confirm 3DPassport, OAuth 2.0 availability, scopes, roles, collaborative spaces, and whether a technical account is permitted.
Instructions in Martini
- Confirm the deployed 3DEXPERIENCE release and enabled applications
- Obtain the tenant-specific authentication and API details
- Store client credentials, tokens, and secrets in secure Martini configuration
- Validate access separately for each required application and object type
Objective
Select an event-driven or scheduled entry point based on the confirmed capabilities of the customer’s applications. Do not assume that all platform objects support callbacks.
Instructions in Martini
- Use a confirmed callback only for documented event types
- Use a scheduler for modified-date polling where callbacks are unavailable
- Define the initial synchronization window and checkpoint strategy
- Add reconciliation for missed or delayed changes
Objective
Call the relevant REST resources and retrieve complete business context, including pagination, revisions, lifecycle states, relationships, and authorized document content.
Instructions in Martini
- Retrieve changed Products, Engineering Items, Documents, or Change Actions
- Follow the documented pagination model
- Fetch related objects and product-structure relationships as needed
- Transfer files only after validating permissions and lifecycle constraints
Objective
Build the Martini workflow around retrieval, enrichment, routing, target writes, and checkpoint management so that each integration run is observable and restartable.
Instructions in Martini
- Separate extraction, transformation, validation, and delivery stages
- Route large or asynchronous workloads through bounded processing
- Persist source identifiers, revisions, and synchronization checkpoints
- Keep partial failures available for replay and reconciliation
Objective
Convert 3DEXPERIENCE payloads into a canonical model and then into target-specific structures while preserving source identity and version information.
Instructions in Martini
- Map identifiers, revisions, lifecycle states, owners, and collaborative spaces
- Normalize dates, enumerations, relationship structures, and file metadata
- Preserve source references on target objects
- Validate required fields before calling target APIs
Objective
Enforce enterprise rules for maturity, ownership, collaborative-space access, revision release, duplicate prevention, and permitted downstream actions.
Instructions in Martini
- Process only objects in approved or configured lifecycle states
- Use stable identifiers rather than names for deduplication
- Check whether revisions should create new target versions or update existing data
- Return validation failures without retrying them as transport errors
Common Dassault Systèmes 3DEXPERIENCE data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Engineering Items | Represent engineering-managed parts, design-related objects, and product information used in lifecycle processes. | SAP S/4HANA, Oracle ERP Cloud, Siemens Teamcenter, PTC Windchill | Martini retrieves identifiers, revisions, lifecycle states, and relationships, then maps them to canonical engineering or material models with idempotent upserts. |
| Physical Products | Represent products and assemblies used in product structures and configuration management. | SAP S/4HANA, Microsoft Dynamics 365, Oracle ERP Cloud, manufacturing applications | Martini follows pagination and parent-child relationships, maps quantities and configuration context, and processes large structures incrementally. |
| Documents | Store specifications, product files, engineering documents, and controlled document revisions. | SharePoint, ServiceNow, Salesforce, enterprise repositories | Martini synchronizes metadata and authorized content while preserving revision, maturity, MIME type, filename, checksum, and collaborative-space context. |
| Change Actions | Manage controlled changes to product, engineering, and manufacturing data. | SAP S/4HANA, Oracle ERP Cloud, ServiceNow, Jira | Martini selects changes by maturity or modification state, retrieves affected objects, applies release rules, and records downstream transaction identifiers. |
| Issues | Coordinate problems, tasks, and work required to resolve product or process matters. | Jira, ServiceNow, Salesforce | Martini maps issue identifiers, status, ownership, priority, and related product context, with duplicate prevention and selective bidirectional updates. |
| Collaborative Spaces | Control ownership, visibility, access, and collaboration context for managed content. | Identity services, downstream PLM and governance applications | Martini carries collaborative-space context through mappings and validates that the integration identity has appropriate access before reading or writing objects. |
Authentication and security considerations
Tenant-specific identity
3DEXPERIENCE access is associated with Dassault Systèmes identity services such as 3DPassport. OAuth 2.0 may be available for supported clients, but the token endpoint, scopes, grant types, and client-registration process must be confirmed for the customer’s release and tenant.
Authorization boundaries
Authentication does not automatically authorize every platform service. Platform, tenant, role, licensed application, collaborative-space, ownership, and lifecycle permissions can affect each operation.
Martini controls
- Store client credentials and tokens in protected Martini configuration and secrets.
- Use least-privilege technical users or service accounts where supported.
- Validate authorization independently for 3DSpace, 3DSearch, 3DDrive, document services, and other required applications.
- Apply separate access controls when Martini exposes a façade API to downstream callers.
Operational considerations for Dassault Systèmes 3DEXPERIENCE integrations
Pagination and scale
Assume collection endpoints require pagination unless the applicable API states otherwise. Persist page or cursor progress, avoid unbounded in-memory product structures, and use staged processing for large jobs.
Throttling and retries
Tenant- or service-level limits may apply. Use configurable pacing, bounded exponential backoff for HTTP 429 and transient 5xx responses, and queue-based or asynchronous processing for larger workloads.
Idempotency and lifecycle
Use stable Engineering Item, Product, Document-plus-revision, or Change Action identifiers. Model revisions, maturity states, collaborative spaces, ownership, and relationships explicitly rather than treating every change as a simple update.
Files and schema changes
Document integrations must account for file size, transfer timeouts, check-in/check-out, content validation, MIME types, checksums, and revision rules. Pin API versions where possible, externalize mappings, tolerate additive fields, and test against the customer’s target tenant.
Event coverage
Confirm which objects generate notifications, whether payloads contain full resources, whether events can be replayed, and how failed deliveries are handled. Use scheduled incremental synchronization and reconciliation when callback coverage is incomplete.
Why use Martini instead of scripts or point-to-point integrations?
Orchestration instead of isolated scripts
3DEXPERIENCE integrations often combine authentication, paginated REST calls, relationship traversal, file handling, lifecycle rules, and downstream writes. Martini provides a workflow structure for coordinating these stages and making the process restartable.
Reusable transformation logic
Martini separates API consumption, canonical mapping, business rules, and target delivery so the same 3DEXPERIENCE data can support ERP, PLM, service, project, and reporting processes.
Operational control
- Use schedules, triggers, checkpoints, bounded retries, and reconciliation workflows.
- Expose a controlled REST façade when external systems should not depend directly on 3DEXPERIENCE object models.
- Centralize validation, error routing, monitoring, and environment-specific configuration.
- Extend workflow behavior with custom logic when application-specific transformations require it.
Frequently asked questions
3DEXPERIENCE can be integrated primarily through application- and release-specific REST APIs for Products, Engineering Items, Documents, Change Actions, Issues, and related objects. Document services can support authorized file operations, while selected applications may provide callbacks or notifications. Where event coverage is unavailable, scheduled API polling, incremental filters, imports, exports, or documented asynchronous operations can support synchronization.
Yes. Martini can consume the documented 3DEXPERIENCE REST APIs, authenticate using the customer’s confirmed 3DPassport or OAuth 2.0 configuration, process authorized document content, receive supported callbacks, and orchestrate scheduled synchronization workflows. No native Martini 3DEXPERIENCE connector is documented in the supplied materials.
No dedicated 3DEXPERIENCE connector is required. Martini can integrate using the platform’s confirmed native mechanisms, primarily REST APIs, tenant-specific authentication, document and file services, scheduled polling, and any application-specific callbacks or asynchronous operations that the customer’s deployment supports.
Lonti does not charge an additional per-connector or per-vendor fee to integrate 3DEXPERIENCE. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from Dassault Systèmes, infrastructure providers, or other third-party systems depending on subscriptions, usage, licensing, and deployment model.
REST APIs are the primary recommended mechanism, subject to the enabled application, release, tenant, licensed roles, and permissions. Use document and file services for authorized content operations, documented bulk or asynchronous operations for supported areas, and callbacks only where the relevant application confirms them. A vendor-wide GraphQL or current SOAP strategy was not confirmed.
Some applications or platform services may provide notifications or outbound callbacks for selected events, but broad webhook coverage across Products, Documents, Engineering Items, and Change Actions was not confirmed. Martini can receive confirmed callbacks and retrieve the current resource; otherwise, scheduled polling with modification filters and reconciliation is the safer pattern.
Martini retrieves pages of changed objects, follows required relationships, and maps identifiers, revisions, lifecycle states, ownership, collaborative spaces, and file metadata into a canonical model. Workflows then apply business rules and transform the result for ERP, PLM, service, project, or other target APIs. Stable source identifiers and checkpoints support incremental, idempotent synchronization.
Martini can distinguish authentication, authorization, validation, throttling, and transient transport failures. Bounded retries with backoff are appropriate for transient failures, while validation and permission errors should be routed for correction. Stable object identifiers, document revision keys, and target references support idempotent upserts and protect against duplicates after uncertain or repeated delivery.
Related Martini documentation
Workflows
Integrate Dassault Systèmes 3DEXPERIENCE with Martini
Use Martini to build maintainable, secure integrations between 3DEXPERIENCE and the enterprise systems that depend on product, engineering, document, and change data.