Skip to main content
Technical Preview

Overview

DELMIA Apriso is Dassault Systemes’ manufacturing operations platform (MES, quality, warehouse, maintenance). Its Web API lets an external system call the Standard Operations you publish as REST web services, and its Business Integrator accepts inbound XML messages. This connector lets plant logic on MQTT declare production, push machine status, record quality results and read orders in Apriso without custom code.
  • DelmiaAprisoApi (DelmiaAprisoRestApi.lot) is a client connector on https://YOUR_APRISO_SERVER with 16 events.
  • DelmiaAprisoWebhookReceiver (mes_delmia-apriso_webhook.lot, optional) is a server connector on port 9008 that receives calls from Apriso.
Dassault Systemes does not publish an OpenAPI file for Apriso. Each server generates its own Web API Reference at /Apriso/HttpServices/help, and the help center needs a 3DS login. These events come from the public DELMIA Apriso 2021 Technical Guides Web API and Business Integrator: Integration Planning. Check the endpoints and scopes against your server’s Web API Reference (the GetApiHelp event returns it) before you rely on them.

Server host

Apriso is installed per customer on IIS. Replace YOUR_APRISO_SERVER in BASE_ADDRESS with your Apriso web server, with no trailing slash. The endpoints already include the /Apriso application path: the Web API lives under /Apriso/HttpServices and the Secure Token Service (STS) at /Apriso/Portal/sts/2.0/token. On a lab server without TLS, use http:// and set USE_SSL to "false".

Authentication

API keys, client secrets and access tokens act as an Apriso client application. Keep them in Hub secrets, map them in with GET SECRET, and never publish them on a topic other clients can read.
  1. Register Coreflux as a client application in ClientApplications.xml (in the server’s CentralConfiguration folder) with a ClientId, and an ApiKey and/or a ClientSecret, the Scopes it may request (standard_operations, message_processing, …) and the ClientCredentials grant. Restart the Apriso services.
  2. Pick a flow. Every Web API event takes "authorization" and "client_id" in its MQTT payload and sends them as Authorization and X-Client-Application.
    • API key: "authorization": "ApiKey <ApiKey>", "client_id": "<ClientId>". Check it with HelloApiKey.
    • Access token: publish GetToken (client credentials) with client_id, client_secret and scope, then send "authorization": "Bearer <access_token>". Check it with HelloToken. GetUserToken (password grant, login_type standard or ldap) and RefreshToken are there too.
  3. Publish the Standard Operations you want to call in Process Builder > Web Services Manager, with security level API Key or Access Token.
Suggested secrets: APRISO_CLIENT_ID, APRISO_API_KEY and APRISO_CLIENT_SECRET. Wrong or missing credentials return 401 Unauthorized. A token only reaches the endpoints of the scopes it was issued for.

Payload conventions

  • Standard Operations. DescribeOperation returns the operation’s Inputs, Outputs and a sample ExecutionParameters body. The run events send "body" unchanged: {"Inputs": {...}, "ExecutionMode": 1, "JobPool": "", "Retries": 1, "SleepTime": 1000, "SynchronuousQueue": "", "Timeout": 5000}. Only Inputs is required. ExecutionMode is 0 (in the IIS process), 1 (synchronous through Job Executor, the default) or 2 (queued asynchronously). The response carries Outputs.
  • Revisions. Calls use the operation’s default revision. The ...Revision events take a revision such as REV.001.001.
  • Presets. DeclareProduction, ReportMachineStatus, PostQualityInspectionResult and GetOrder use the same contract on their own topics, so each plant use case gets a clean topic. Their operation codes and Inputs are examples: send the codes and Inputs of the operations you published.
  • Business Integrator. ProcessMessageAsync sends "body" as an XML string with Content-Type: application/xml for the message_name of your external system, and needs a token with the message_processing scope.
  • Formats. Apriso answers JSON by default. Token requests are form-encoded, so keep the values in client_secret, password and scope free of & and =.

Tokens and auth checks

Standard Operations

Plant presets

Business Integrator and discovery

Receiving calls from Apriso (optional)

Deploy mes_delmia-apriso_webhook.lot to let Apriso call the broker. It runs in server mode on port 9008 and republishes each request body unchanged. For the Business Integrator REST Adapter, set the REST Client URL to http(s)://<broker>:9008 and RELATIVEURI to /delmia-apriso/outbound/message. The connector has no authentication, so keep the port on the plant network or behind a reverse proxy with TLS.

Examples

Get a token (client credentials):
Run a published operation with an API key:
Declare production against a WIP order:
Queue a Business Integrator message:
Keep a token fresh and forward a good-part count from the UNS (from docs-helper-actions.lot):

Writes

Write events: RunOperation, RunOperationRevision, DeclareProduction, ReportMachineStatus, PostQualityInspectionResult, ProcessMessageAsync. They change data in Apriso through the operations you published or through Business Integrator. GetOrder posts too, but only runs the read-only operation you point it at. No event deletes anything.

Not packaged

The SOAP web services (IFlexNetMessageProcessor), the Implicit and Authorization Code browser flows (they need a user in the Apriso Portal), the cache, personalization and data paging controllers (their endpoints are only in each server’s Web API Reference), 3DPassport authentication, and any DELETE.

Status

Technical preview, blocked on a live test. There is no public Apriso server or sandbox. A local mock built from the Technical Guides passes every event and the auth, scope, unknown-operation and bad-input controls (111/111 checks, 2026-10-06 04:07 WEST). It still needs a run against a real Apriso server with a registered client application.
Last modified on October 21, 2026