Ellipse Gradient for Header

PTC Windchill Integration Guide

PTC Windchill integrates with enterprise systems primarily through OData-based Windchill REST Services for product data, documents, CAD content, changes, and attachments.

PTC Windchill integration options at a glance

PTC Windchill’s primary integration surface is Windchill REST Services, which expose OData-based collections, navigation properties, query options, actions, and functions for parts, documents, CAD data, changes, folders, and related lifecycle objects. Applicable services may support batch processing, while content and attachment operations support selected content-holder objects. A general product-wide webhook model was not confirmed, so scheduled REST polling is the practical default for incremental synchronization. Authentication depends on deployment and may include Basic Authentication, enterprise SSO, or applicable OAuth 2.0 configuration. Martini can consume these APIs, map JSON and OData responses, orchestrate workflows, and expose controlled REST APIs for downstream systems.

Integration pointSupported by PTC Windchill?Common use casesHow Martini supports it
Windchill REST ServicesYesPrimary integration mechanism for WTPart, WTDocument, EPMDocument, change objects, folders, lifecycle data, query operations, actions, and navigation properties exposed by the installed domains.Martini can consume authenticated REST endpoints from workflows, generate reusable API integration assets from external definitions where available, transform responses, and call downstream APIs.
OData query and navigation operationsYesFilter, page, navigate, and retrieve related Windchill objects using supported OData-style query options and relationships.Martini can construct request parameters, follow returned continuation links, normalize OData JSON, and maintain checkpoints between workflow runs.
Bulk or batch APIsLimitedApplicable Windchill REST services may support OData-style batch processing, but operations, transaction behavior, payload limits, and domain coverage vary by release.Martini can orchestrate batch requests, split large workloads, throttle concurrency, and handle partial failures when the target service supports the required behavior.
File and attachment APIsYesRetrieve or add primary and secondary content associated with supported WTDocument, WTPart, EPMDocument, and other content-holder objects.Martini can stream or stage binary content, preserve filenames and MIME types, map metadata, and apply retry and deduplication controls.
Webhooks or outbound callbacksNot confirmedNo general product-wide webhook facility covering Windchill objects and lifecycle events was confirmed. Module-specific notification features require deployment verification.Martini can receive callbacks when a documented Windchill or surrounding-platform mechanism exists; otherwise it can use scheduled REST polling.
SOAP or legacy web servicesLegacyEarlier Windchill implementations and related PTC technologies may expose legacy enterprise web-service patterns, but REST Services are preferred for new integrations where available.Martini can consume SOAP services when the target deployment exposes them, while keeping the integration isolated and version-specific.
Authentication and session securityYesDeployment-dependent options may include Basic Authentication, enterprise SSO, and applicable OAuth 2.0 configuration, together with permissions, session state, and CSRF protection.Martini can store credentials, tokens, and CSRF values in environment configuration or secrets management and reuse authentication state within workflows.
Direct database accessNoDirect SQL access is not a recommended general-purpose integration mechanism because Windchill persistence, versioning, permissions, and business rules should be accessed through supported application interfaces.Martini can integrate through supported REST, reporting, export, or enterprise mechanisms instead of querying the Windchill database directly.

How PTC Windchill exposes data and business events

PTC Windchill REST APIs

Windchill REST Services are the primary integration mechanism. They expose OData-style collections, navigation properties, query options, actions, and functions for supported product, document, CAD, folder, change, and lifecycle domains. Exact entity sets and operations depend on the release, configuration, and licensed modules.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates to Windchill, invokes the required REST resource, normalizes the OData response, applies business rules, maps the result to a target model, and records identifiers and processing state. The workflow can also expose a controlled Martini REST API for callers that should not access Windchill directly.

Implementation sequence

Authenticate to the Windchill REST Services endpoint
Retrieve the applicable collection or resource
Apply filters, pagination, and context rules
Map the response to the canonical model
Apply lifecycle and validation rules
Write the result to the target system and persist the checkpoint

Windchill batch processing

Applicable Windchill REST services may support OData-style batch requests. Batch support, transaction boundaries, payload limits, and partial-failure behavior must be validated for the target release and domain.

Martini implementation pattern

Martini implementation pattern: the workflow partitions eligible objects into bounded batches, submits supported batch requests, correlates individual results, and routes failed operations for targeted retry rather than replaying successful work.

Implementation sequence

Select an eligible and bounded object set
Partition objects according to Windchill request limits
Submit the supported batch request
Correlate each response with its source identifier
Retry transient item failures only
Persist successful and failed item states

Windchill content and attachments

Windchill REST operations can retrieve or add content associated with supported content-holder objects, including documents, parts, and CAD documents where the relevant REST domain provides the operation. Binary content, metadata, roles, and version selection must be handled explicitly.

Martini implementation pattern

Martini implementation pattern: the workflow retrieves authoritative metadata first, validates lifecycle and content-role rules, streams or stages the binary payload, and writes it to the target while recording checksums or source identifiers when available.

Implementation sequence

Retrieve the source object and content metadata
Select the authoritative version and content role
Validate permissions, MIME type, and file size
Transfer the binary content using staged processing
Write metadata and content to the target
Record the source version and transfer outcome

Scheduled Windchill synchronization

A general product-wide Windchill webhook model was not confirmed. Scheduled polling is therefore the practical default for incremental synchronization, using supported modification, lifecycle, revision, iteration, or context fields.

Martini implementation pattern

Martini implementation pattern: a scheduler starts a workflow, which reads the last successful checkpoint, queries Windchill for the next stable page of eligible objects, processes each object idempotently, and advances the checkpoint only after successful handling.

Implementation sequence

Start the workflow on a controlled schedule
Read the durable synchronization checkpoint
Query Windchill for changed eligible objects
Process pages in stable order
Write successful results and capture failures
Advance the checkpoint after the run completes

Common PTC Windchill integration patterns

Pattern 1: Sync released parts to an ERP

When to use this pattern

Use this pattern when manufacturing or finance systems need released Windchill parts and structures. A scheduled workflow retrieves changed WTPart objects, filters by lifecycle state, maps part numbers, revisions, units, classifications, and relationships, and sends them to an ERP such as SAP S/4HANA or Oracle ERP Cloud. Child failures are isolated from successful parent processing and transient failures are retried.

Integration direction
PTC Windchill
Martini
SAP S/4HANA
Example Mapping
PTC Windchill FieldCanonical FieldTarget Field
NumberpartNumberMaterial or item number
VersionrevisionEngineering revision
LifeCycleStatelifecycleStateRelease status
Quantity or structure relationshipcomponentQuantityBOM component quantity
Martini implementation pattern

A scheduler invokes Windchill REST Services with a modification checkpoint and stable ordering. Martini validates the lifecycle state, maps the WTPart structure, looks up or creates the target item, stores source and target identifiers, and routes authorization, validation, or temporary server failures according to their error class.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination and checkpointing
  • data mapping
  • business rules
  • idempotency
  • error handling

Pattern 2: Synchronize engineering changes

When to use this pattern

Use this pattern when approved Windchill changes must drive ERP, service, quality, or engineering work. Martini retrieves WTChangeRequest2, WTChangeOrder2, or WTChangeNotice2 objects, evaluates approval and effective-date rules, maps affected parts and responsible organizations, and sends only eligible changes downstream.

Integration direction
PTC Windchill
Martini
ServiceNow
Example Mapping
PTC Windchill FieldCanonical FieldTarget Field
NumberchangeNumberChange reference
LifeCycleStateapprovalStateApproval or workflow state
AffectedObjectsaffectedPartReferencesAffected configuration items or products
OrganizationresponsibleOrganizationAssignment group or owning organization
Martini implementation pattern

Martini polls or receives a documented surrounding event, retrieves the authoritative change object, validates lifecycle and affected-object access, transforms it to the target change model, and records the downstream reference. Failed target writes remain available for retry without duplicating the change.

Martini capabilities used
  • workflow orchestration
  • REST API consumption
  • data mapping
  • validation
  • conditional routing
  • idempotent writes
  • retry handling

Pattern 3: Publish approved documents and attachments

When to use this pattern

Use this pattern when controlled Windchill documents or CAD-related content must be delivered to a repository, service platform, customer application, or cloud storage endpoint. Publication should be limited to approved lifecycle states and explicitly selected versions, content roles, and file types.

Integration direction
PTC Windchill
Martini
Salesforce
Example Mapping
PTC Windchill FieldCanonical FieldTarget Field
DocumentNumberdocumentNumberExternal document key
VersiondocumentRevisionRevision
LifeCycleStatepublicationStatePublication status
PrimaryContent or SecondaryContentattachmentContentFile attachment
Martini implementation pattern

The workflow retrieves document metadata before content, applies publication rules, transfers binary data using staged processing, and writes the target metadata and attachment. Martini records the source version and target identifier so interrupted transfers or repeated polling do not create duplicate files.

Martini capabilities used
  • REST API consumption
  • workflow orchestration
  • file handling
  • data transformation
  • business rules
  • duplicate detection
  • error handling

Pattern 4: Synchronize CAD metadata and content

When to use this pattern

Use this pattern when engineering, manufacturing, supplier, or cloud systems require selected EPMDocument metadata or CAD content. Because CAD data is large and highly versioned, the flow uses explicit version and iteration selection, bounded concurrency, pagination, and durable processing state.

Integration direction
PTC Windchill
Martini
Microsoft Azure services
Example Mapping
PTC Windchill FieldCanonical FieldTarget Field
NumbercadDocumentNumberEngineering asset identifier
VersioncadRevisionAsset revision
IterationcadIterationAsset iteration
ContentcadBinaryContentAzure file or object content
Martini implementation pattern

Martini retrieves EPMDocument pages, selects the authoritative version or iteration, validates permissions and content size, stages the binary transfer, and records a durable result. Rate and concurrency limits prevent a large structure from overwhelming Windchill or the target service.

Martini capabilities used
  • scheduled workflows
  • REST API consumption
  • pagination
  • binary content processing
  • mapping
  • rate control
  • checkpointing
  • retry handling

Applications commonly integrated with PTC Windchill

Windchill commonly participates in product, engineering, manufacturing, service, and enterprise data flows. The exact integration direction and object coverage depend on the Windchill release, licensed modules, deployment configuration, and the capabilities of the adjacent application.

Application Scenario Direction Martini Pattern
Creo Exchange CAD models, engineering metadata, and design data managed through Windchill. Creo → PTC Windchill → Martini → Downstream systems Martini can retrieve approved EPMDocument metadata or content through Windchill REST Services, apply version and lifecycle rules, and deliver the selected data to downstream engineering or manufacturing workflows.
PTC ThingWorx Connect product lifecycle information with service, manufacturing, IoT, or operational applications. PTC Windchill → Martini → PTC ThingWorx A Martini workflow can retrieve authorized Windchill product or document data, transform it to the target ThingWorx model, and route failures for retry or operational review. The exact PTC deployment mechanism must be confirmed.
SAP S/4HANA Transfer released parts, structures, documents, and engineering changes into ERP and manufacturing processes. PTC Windchill → Martini → SAP S/4HANA A scheduled workflow retrieves changed WTPart and change objects, preserves Windchill identifiers and revisions, applies release-state rules, and calls SAP APIs while recording source-to-target identifiers for idempotent retries.
Oracle ERP Cloud Synchronize item, revision, engineering change, and document information with Oracle business processes. PTC Windchill → Martini → Oracle ERP Cloud Martini can poll Windchill for eligible changes, map configured attributes and lifecycle states to Oracle payloads, and process acknowledgements or transient failures through workflow error handling.
Salesforce Provide sales and service teams with approved product, configuration, document, or change information. PTC Windchill → Martini → Salesforce Martini can expose a controlled API or run a scheduled synchronization that filters approved Windchill objects, transforms product and document metadata, and updates Salesforce only when stable identifiers and publication rules are satisfied.
ServiceNow Link product changes, affected configurations, documents, and service processes with service workflows. PTC Windchill → Martini → ServiceNow Martini can synchronize approved WTChangeRequest2, WTChangeOrder2, or WTChangeNotice2 data with ServiceNow, applying lifecycle and ownership rules and retaining cross-system references.
Jira Synchronize engineering work, defects, change references, and delivery status with Windchill-managed product data. PTC Windchill → Martini → Jira A bidirectional workflow can retrieve relevant Windchill changes, map them to Jira issues, and process status or reference updates with validation, duplicate detection, and retry handling.
Microsoft Azure services Use Azure storage, messaging, integration, or analytics services around Windchill data flows. PTC Windchill → Martini → Microsoft Azure services Martini can retrieve Windchill data or attachments, transform the payload, and route it to an Azure endpoint or service using the applicable API, while controlling file size, concurrency, and checkpointing.

How to build a PTC Windchill integration in Martini

Objective

Establish a deployment-specific Windchill authentication and session strategy before building business logic.

Instructions in Martini

  • Confirm the Windchill REST Services version, domains, permissions, and context requirements.
  • Configure Basic Authentication, enterprise SSO, or applicable OAuth settings as supported by the deployment.
  • Store credentials, tokens, cookies, and CSRF values in Martini environment configuration or secrets management.

Objective

Select a trigger based on the confirmed Windchill event surface and synchronization requirement.

Instructions in Martini

  • Use a scheduler for incremental polling when no documented Windchill webhook is available.
  • Use a documented callback or surrounding event platform only after its coverage is verified.
  • Define the initial and subsequent synchronization checkpoints.

Objective

Call Windchill REST Services to retrieve authoritative objects, relationships, and content.

Instructions in Martini

  • Use supported OData filters, stable ordering, pagination, and navigation properties.
  • Retrieve metadata before binary attachments or CAD content.
  • Select product, library, organization, version, iteration, and lifecycle context explicitly.

Objective

Build the Martini workflow that coordinates retrieval, transformation, business decisions, target writes, and state management.

Instructions in Martini

  • Separate object retrieval, child-structure processing, content transfer, and target acknowledgement where useful.
  • Use conditional routing for lifecycle, approval, and object-type rules.
  • Persist source identifiers, target identifiers, checkpoints, and processing outcomes.

Objective

Convert Windchill OData and JSON structures into the target application’s canonical and transport models.

Instructions in Martini

  • Map part numbers, document numbers, revisions, iterations, lifecycle states, containers, and relationships explicitly.
  • Handle optional configured attributes, soft types, classifications, and customer-specific extensions.
  • Preserve MIME types, filenames, content roles, and source references for attachments.

Objective

Ensure that only valid and authorized Windchill data is written downstream.

Instructions in Martini

  • Filter by lifecycle state, approval status, effective date, product or library context, and content role.
  • Validate required fields and reject unsupported versions or conflicting target state.
  • Use stable object identifiers and business keys to prevent duplicate writes.

Common PTC Windchill data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
WTPartSynchronize product parts, part numbers, revisions, units, classifications, lifecycle states, and product structures.SAP S/4HANA, Oracle ERP Cloud, PTC ThingWorx, SalesforceMartini retrieves changed or released parts through REST, maps stable identifiers and structure relationships, and applies idempotent upsert and child-processing rules.
WTDocumentExchange controlled product documentation, document metadata, lifecycle state, versions, and associated content.SAP S/4HANA, Oracle ERP Cloud, Salesforce, ServiceNowMartini selects authoritative versions, filters by lifecycle state, transfers metadata and supported attachments, and preserves content roles and cross-system references.
EPMDocumentExchange CAD documents, engineering design metadata, versions, iterations, and supported CAD content.Creo, PTC ThingWorx, SAP S/4HANA, Microsoft Azure servicesMartini uses explicit version and iteration rules, paginates large results, and stages binary content to avoid unnecessary memory use.
WTChangeRequest2Synchronize requests that initiate or describe proposed product changes.SAP S/4HANA, ServiceNow, JiraMartini applies change-type, approval, organization, and lifecycle rules before mapping identifiers, affected objects, and status to the target model.
WTChangeOrder2Coordinate approved engineering or product change execution.SAP S/4HANA, ServiceNow, JiraMartini retrieves eligible orders, maps effective dates and affected parts, records target acknowledgements, and retries only transient failures.
WTChangeNotice2Exchange formal change notices and their relationship to affected product data.SAP S/4HANA, ServiceNow, JiraMartini synchronizes stable change numbers, lifecycle states, affected parts, and responsible organizations while preventing duplicate downstream changes.

Authentication and security considerations

Deployment-specific authentication

Windchill authentication depends on the release and deployment. Basic Authentication, enterprise SSO, and applicable OAuth 2.0 configurations may be available and must be confirmed for the target environment.

Permissions and context

Windchill permissions, product or library context, lifecycle state, organization, and action authorization determine which objects and operations an identity can access.

Session and CSRF protection

Mutating requests may require a CSRF nonce or equivalent anti-forgery value, and clients may need to preserve session cookies or authentication state. Martini should store credentials, tokens, cookies, and CSRF values in protected environment configuration or secrets management.

  • Use a narrowly scoped integration identity.
  • Keep secrets out of workflow definitions and logs.
  • Test permissions in every relevant product, library, and organization context.

Operational considerations for PTC Windchill integrations

Version and schema differences

Windchill REST Services vary by release, installed modules, licensed capabilities, and configuration. Validate domains, entity sets, properties, actions, navigation, content operations, and batch behavior against the target installation.

Pagination and versioning

Use stable ordering, explicit page sizes, continuation handling, and durable checkpoints. Define whether the integration processes the latest iteration, latest released revision, all versions, or a selected lifecycle state.

Retries and idempotency

Differentiate authentication, CSRF, validation, missing-object, lifecycle-conflict, rate-limit, and temporary server failures. Retry only transient failures and use stable Windchill identifiers, business keys, and source-to-target references to prevent duplicates.

Content and testing

Large documents and CAD files may require streaming or staged processing. Test interrupted transfers, duplicate files, content-version mismatches, partial batch failures, optional attributes, soft types, and schema changes before production rollout.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrate more than an API call

Windchill integrations often combine authentication, context selection, pagination, lifecycle rules, related objects, attachments, downstream writes, and durable checkpoints. Martini represents this behavior as maintainable workflows rather than isolated scripts.

Centralize mapping and policy

Martini can transform Windchill OData and JSON structures, apply validation and business rules, and expose reusable APIs for downstream consumers. This keeps Windchill-specific details separate from target-system models.

Improve operational control

Workflows can classify errors, retry transient failures, isolate partial batch results, preserve correlation data, and provide monitoring and logging around scheduled synchronization and content transfers.

  • Use scheduled, API-led, or documented event-driven execution.
  • Keep environment-specific authentication and endpoints configurable.
  • Reuse integration assets across ERP, service, engineering, and cloud data flows.

Frequently asked questions

How can PTC Windchill be integrated with enterprise systems?

PTC Windchill is primarily integrated through Windchill REST Services, which provide OData-based access to parts, documents, CAD data, change objects, folders, lifecycle information, and supported content. Scheduled REST polling is the practical default for incremental synchronization because a universal Windchill webhook model was not confirmed. Legacy SOAP or web-service options may exist in some deployments.

Can Martini integrate with PTC Windchill?

Yes. Martini can consume Windchill REST Services, authenticate according to the deployment, orchestrate scheduled or API-led workflows, map Windchill JSON and OData responses, process supported attachments, and expose a controlled REST API façade. Windchill-specific event or callback availability must be verified rather than assumed.

Do I need a connector to integrate PTC Windchill with Martini?

No. A dedicated PTC Windchill connector is not required. Martini can integrate using Windchill’s confirmed REST Services, deployment-specific authentication, supported batch or attachment operations, and documented callbacks or surrounding event mechanisms where available.

Is there any extra Lonti cost to integrate PTC Windchill with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate PTC Windchill. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from PTC, cloud infrastructure providers, or other third-party systems depending on subscriptions, API usage, and deployment choices.

Which PTC Windchill integration methods should be used for new projects?

Windchill REST Services are the primary starting point for new integrations. Confirm the required OData domain, entity set, properties, actions, navigation properties, content operations, and batch behavior against the target release and licensed modules. SOAP or related web services should generally be treated as legacy or version-specific.

Does PTC Windchill provide webhooks or event notifications?

A general product-wide Windchill webhook facility was not confirmed. Specific modules or surrounding PTC products may provide notification or subscription features, but coverage must be verified. Martini can use scheduled polling or consume a documented callback or enterprise event that retrieves the authoritative Windchill object through REST.

How does synchronization and data mapping work between Windchill and another system?

A Martini workflow can retrieve objects changed since a durable checkpoint, follow pagination, and map stable identifiers, object numbers, revisions, iterations, lifecycle states, containers, relationships, and configured attributes. Business rules determine which versions and lifecycle states are eligible, while source-to-target identifiers support idempotent updates.

Can Martini expose an API façade for PTC Windchill?

Yes. Martini can expose a controlled REST API that hides Windchill-specific authentication, context, object models, and lifecycle rules from consumers. The façade can validate requests, invoke Windchill REST Services, transform responses, enforce access policies, and provide consistent error handling without requiring callers to access Windchill directly.