Integrating With MobileDOCK
MobileDOCK are the preferred partners for dock management systems and there is a standard connection to their platform in ERPGate.
Note: ERPGATE1 must be used for all of these connections due to firewall considerations.

Note: MobileDOCK Documents is a paid addon to the standard product. It is preferred as it allows us to send RCP data to them (on RCP_CREATE) to which they can respond with the same data to allow us to properly marry it all through. It is possible to use without the Documents mode, but there is no validation that the correct information is flowing.
Tip: If the customer is not using Documents, go to the next section.
-
Go to the MobileDOCK Organisations page.
-
Make sure you are in the correct organisation.
-
Note down the GUID that is at the end of the URL.
-
Click Integrations.
-
Make sure that you are still in the correct organisation by viewing the top right-hand corner.
Sometimes the program does not remember.
-
Got to Tokens, then Create New Token.
-
Set Name = .wms
-
The Document Management and Document Observations permissions must be enabled.
-
-
Note down the token that you receive.
-
Create a new credential record in ERPGate.
Field
Enter
CredentialName
{{Customer}} {{Test/Prod}} - MobileDOCK
CredentialDriver
Generic
BaseURL
https://staging.mobiledock.com for test mode
or
https://mobiledock.com for prod
Username
The Organisation ID from step 3.
Password
The access token from step 6.
Leave all other fields null.
-
Create a new connection record in ERPGate.
Field
Enter
ConnectionName
{{Customer}} {{TEST/PROD}} - MobileDOCK Create Document
ConnectionGroup
{{CUSTOMER}}_{{TEST/PROD}}_MOBILEDOCK
ConnectionDriver
MobileDOCK Create Document
ErrorAlertEmails
As needed
CredentialID
From step 8
PushAPIKey
Create one for each standard policy
Leave all other fields as the defaults.
-
Create a new EXP1 in the core instance.
Field
Enter
InstanceID
As needed
TriggerAfter
RCP_CREATE
You may also want RCP_UPDATE depending on implementation specifics.
ExportFileTypeName
MobileDOCK Document Notification
ExportFileTypeFormat
JSON
ExportFileTypeFunction
GenericSQL
ExportFileSQL
SELECT ShipmentNumber as HEADER_ShipmentNumber FROM RCP
where
InstanceID = :InstanceID AND
ReceiptID = :DocumentKey
ExportFileDocumentNumberSQL
SELECT ShipmentNumber as HEADER_ShipmentNumber FROM RCP
where
InstanceID = :InstanceID AND
ReceiptID = :DocumentKey
Leave all other fields as the defaults.
-
Create a new EXP, HTTP Push to the ERPGate record defined above.
-
Create a new RCP.
-
Verify that it goes to ERPGate and to MobileDOCK without any error.
-

-
Create a new connection record in ERPGate.
Field
Enter
ConnectionName
{{Customer}} {{TEST/PROD}} - MobileDOCK Booking Notification
ConnectionGroup
{{CUSTOMER}}_{{TEST/PROD}}_MOBILEDOCK
ConnectionDriver
MobileDOCK Booking Update
ErrorAlertEmails
As needed
DWMSCluster
As appropriate DWMSDefaultWarehouse
As appropriate DWMSDefaultTenant
As appropriate DWMSAPIKey
As appropriate
PushAPIKey
Create one for each standard policy
Leave all other fields as the defaults.
-
Create a PGE in core.
Field
Enter
InstanceID
As needed
PageName
Update MobileDOCK fields.
PageGroup
Receipting
PageDefinition
Copy{
"Platforms":["API"],
"Parameters": [{
"Name": "ShipmentReference",
"Type": "Text"
},
{
"Name": "MobileDOCKBookingID",
"Type": "Text"
},
{
"Name": "MobileDOCKCarrier",
"Type": "Text"
},
{
"Name": "MobileDOCKSpace",
"Type": "Text"
},
{
"Name": "MobileDOCKBookedTime",
"Type": "Text"
},
{
"Name": "MobileDOCKBookingDuration",
"Type": "Text"
},
{
"Name": "MobileDOCKVehicleType",
"Type": "Text"
},
{
"Name": "MobileDOCKStatus",
"Type": "Text"
}
],
"Steps": [
{
"Type": "GetMultiple",
"Name": "Get ReceiptID",
"SQL": "SELECT ReceiptID, TenantID, WarehouseID FROM RCP WHERE (RCP.ShipmentNumber = :ShipmentReference OR RCP.Additional06 <=> :ShipmentReference) AND InstanceID = :InstanceID AND RCP.Status IN ('Pending','In Progress','Received At Dock')",
"SaveTo": "ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKBookingID",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "MobileDOCKBookingID",
"AttributeValueParameter": "MobileDOCKBookingID",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKCarrier",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "BookedCarrier",
"AttributeValueParameter": "MobileDOCKCarrier",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKSpace",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "DockSpace",
"AttributeValueParameter": "MobileDOCKSpace",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKBookedTime",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "DockBookingTime",
"AttributeValueParameter": "MobileDOCKBookedTime",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKBookingDuration",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "DockBookingDuration",
"AttributeValueParameter": "MobileDOCKBookingDuration",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKVehicleType",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "BookedVehicleType",
"AttributeValueParameter": "MobileDOCKVehicleType",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Function_UpsertGenericAttributeForRecord",
"Name": "Save MobileDOCKStatus",
"ReferenceIDParameter": "ReceiptID",
"ReferenceType": "RCP",
"AttributeName": "BookingStatus",
"AttributeValueParameter": "MobileDOCKStatus",
"IterateOnList":"ReceiptsList"
},
{
"Type": "Trigger",
"Trigger":"RCP_STATUS",
"KeyParameter":"ReceiptID",
"TenantIDParameter":"TenantID",
"WarehouseIDParameter":"WarehouseID",
"IterateOnList":"ReceiptsList"
}
]
} -
Create a new settings record in ERPGate.
Field
Enter
ConnectionID
From step 1 above
SettingName
MobileDOCK.PageID
SettingValue
PGE PageID from core from step 2.
-
From the MobileDOCK integration setup panel, go into Webhooks, then Create New Webhook.
Field
Enter
Name
.wms
Webhook URL
https://erpgate1.dotwms.com/api/mobiledock/?ConnectionID={{Connection ConnectionID}}&ConnectionKey={{Connection PushAPIKey}}
Booking Events
BookingCreated
FlowStatus
ExceptionStatus
FieldDataUpdate
SpaceAssignment
RequestedTimeUpdate
TasksChange
Leave all other fields at the defaults.
-
Create a test booking and validate that all the fields flow into a core receipt.