Integration Builder is a powerful feature that enables Next Plus MES to report manufacturing data to an external ERP system. This integration is designed to cover the needs of Next Plus MES to report critical manufacturing events to your existing ERP system in real-time.
For the reverse direction (such as interfaces for the ERP to create work orders in Next Plus), please use our REST API.
Key Integration Types
The Integration Builder supports three types of integrations:
1. Device/Serial Integration
Reports when a user sets or changes the main serial number (the serial that is actually manufactured). This integration captures when a device's serial number is added, updated, or removed from a work order.
2. Item Attach Integration
Reports when a user attaches sub-items (sub-assemblies or raw materials) under the main serial/device. This integration captures the consumption of components during the manufacturing process.
3. Operation Integration
Reports when a user reports on a work order operation (routing). This integration captures the progress of manufacturing operations with quantities and status.
Configuration
To enable and configure the Integration Builder:
Navigate to Settings > Integrations > Integration Builder
Enable the "Custom Integration" toggle
Enter the Work Order Source identifier (must match the source of work orders you want to integrate)
Enable each desired integration type (Device/Serial, Item Attach, Operation)
For each enabled integration, provide the destination URL endpoint
Test each integration using the "Test" button
Save your configuration
Integration Payloads
All integrations use HTTP POST requests with JSON payloads. Below are the expected payloads for each integration type.
Device/Serial Integration
Endpoint: Your configured Device Integration URL
Payload Example:
{
"type": "add", // Can be "add", "remove", or "update"
"workorderNumber": "WO-12345",
"sku": "DEVICE-SKU",
"serial": "SN12345",
"oldSerial": "SN12344", // Only when type is "update"
"externalId": "ERP-ID-123", // Only when type is "remove" or "update"
// System IDs for reference
"workorderId": "550e8400-e29b-41d4-a716-446655440000",
"stockId": "550e8400-e29b-41d4-a716-446655440001",
"sessionId": "550e8400-e29b-41d4-a716-446655440002",
"workorderExternalId": "ERP-WO-123" // May be null
}
Field Descriptions:
type
: Action being performed (add/update/remove serial)workorderNumber
: Work order identifier in Next Plussku
: Product SKU/part numberserial
: New serial number being assignedoldSerial
: Previous serial number (only for updates)externalId
: External system ID reference for this deviceworkorderId
: Next Plus internal ID for the work orderstockId
: Next Plus internal ID for the stock itemsessionId
: Next Plus session ID for trackingworkorderExternalId
: External system reference ID for the work order
Item Attach Integration
Endpoint: Your configured Item Attach Integration URL
Payload Example:
{
"type": "add", // Can be "add" or "remove"
"workorderNumber": "WO-12345",
"sku": "DEVICE-SKU",
"serial": "SN12345", // Optional, only when the part is serial-managed
"externalId": "ERP-ID-123", // Parent external ID
"item": {
"sku": "COMPONENT-SKU",
"quantity": 5,
"serial": "COMP-SN-123", // Optional
"workorderNumber": "WO-SUB-123", // Optional
"externalId": "ERP-COMP-123" // Only when "remove" and only when received from attach request
},
// System IDs for reference
"workorderId": "550e8400-e29b-41d4-a716-446655440000",
"stockId": "550e8400-e29b-41d4-a716-446655440001",
"sessionId": "550e8400-e29b-41d4-a716-446655440002",
"workorderExternalId": "ERP-WO-123" // May be null
}
Field Descriptions:
type
: Action being performed (add/remove component)workorderNumber
: Work order identifier in Next Plussku
: Parent device SKU/part numberserial
: Parent device serial (if serial-managed)externalId
: External system ID reference for the parent deviceitem
: The component being attached or removedsku
: Component SKU/part numberquantity
: Number of units being attachedserial
: Component serial number (for serial-managed components)workorderNumber
: Component's work order number (if applicable)externalId
: External system reference for this component
workorderId
,stockId
,sessionId
,workorderExternalId
: System reference IDs
Operation Integration
Endpoint: Your configured Operation Integration URL
Payload Example:
{
"type": "add", // Can be "add" or "remove"
"sku": "DEVICE-SKU",
"serial": "SN12345", // Only when the part is serial-managed
"workorderNumber": "WO-12345",
"externalId": "ERP-OP-123", // String or null, only when "remove"
"actCode": "ASSY",
"workCenterCode": "WC-123",
"position": 10,
"validQty": 1,
"invalidQty": 0,
// System IDs for reference
"workorderId": "550e8400-e29b-41d4-a716-446655440000",
"stockId": "550e8400-e29b-41d4-a716-446655440001",
"sessionId": "550e8400-e29b-41d4-a716-446655440002",
"workorderExternalId": "ERP-WO-123", // May be null
"operationExternalId": "ERP-OP-123" // String or null
}
Field Descriptions:
type
: Action being performed (add/remove operation report)sku
: Product SKU/part number being processedserial
: Device serial number (if serial-managed)workorderNumber
: Work order identifier in Next PlusexternalId
: External system ID reference for this operationactCode
: Operation code/identifierworkCenterCode
: Work center where operation is performedposition
: Sequence position of operation in routingvalidQty
: Quantity reported as valid/goodinvalidQty
: Quantity reported as invalid/rejectedworkorderId
,stockId
,sessionId
,workorderExternalId
: System reference IDsoperationExternalId
: External system reference for the operation
Expected Responses
For all integration types, Next Plus expects the following response patterns:
Success Response
Any response with a status code less than 400 will be considered successful.
{
"externalId": "ERP-REFERENCE-123" // Optional, the external ID of the transaction
}
Error Response
Any response with a status code of 400 or greater will be considered a failure.
{
"message": "Error description" // Optional but recommended, this message will be shown to the user
}
Troubleshooting
If you encounter issues with the integration:
Verify all URLs are correctly formatted and accessible from the Next Plus server
Check that the work order source matches exactly
Ensure your endpoints return appropriate success/error status codes
Review the Next Plus logs for detailed error information
Verify your endpoint can properly process and respond to the JSON payloads