Custom Development / Part Synergy Custom Integration / Part Synergy Dorman Custom Integration

Part Synergy Dorman Custom Integration

Version Date Name Applied changes
v1.0 Hristiyan First Publish

In order to incorporate the custom integration for each warehouse we want to build a centralized structure where we gonna add all the authorization and setup details which will connect to the relevant location. In order to achieve this we will need to have a new structure with the following details:

Part Synergy Warehouse Integration (Please note this is should be added in the menu under Custom section only for Part Synergy instance)

Field Name Type Require Default Comment
Active checkbox No false
Name varchar Yes
API Type dropdown Yes List with all available custom API integration we have for PartSynergy warehouses
API URL varchar No
API Username varchar No
API Password varchar No
API Access Token varchar No
API Account varchar No
Create Order checkbox No false
Get Shipment checkbox No false
Get Stock checkbox No false
Get Price checkbox No false
Location dropdown Yes List with all locations

Integration Documentation:

IPO User Guide For Customers 1.xlsx

Sandbox Endpoint http://qaipo.dormanproducts.com/ipo.aspx
Production Endpoint https://ipo.dormanproducts.com/ipo.aspx
Part Synergy SAP ID 3000336

Our IPs need to be whitelisted in order to access the IPO endpoint in production

The API Type for Dorman will be - “Dorman”

Create Order

When we are creating order via API we will have to take into consideration that we will also pick order item for export to FTP and both should work together. The trigger for order creation should be:

Part Synergy Warehouse Integration > Active = Yes Part Synergy Warehouse Integration > Create Order = Yes

Product in Order > Exported = No

Product in Order > Custom Filter = It should match the Location ID. For example, if the custom filter value is set to 2, and we’ve selected Part Synergy warehouse integration > Location (which also has an ID of 2), then the order should be picked.

Order > Status = “Ready for Shipping”

In order to push and order to the warehouse we have to generate an XML request :

Example Request body :

<?xml version="1.0" encoding="UTF-8" ?>
<aaia:ProcessPurchaseOrder xmlns:aaia="http://www.aftermarket.org/oagis"
    xmlns="http://www.openapplications.org/oagis"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:cmn="http://www.aaiasoa.net/IPOv2/Common" cmn:environment="Production" lang="en-US" revision="1.21" xsi:schemaLocation="http://www.aftermarket.org/oagis ../OAGIS8.0/AAIA/Runtime/ProcessPurchaseOrder.xsd">
    <ApplicationArea>
        <Sender>
            <ReferenceId>ORD-030724-234210-87942</ReferenceId>
            <Confirmation>0</Confirmation>
        </Sender>
        <CreationDateTime>2024-03-07T23:42:10-0600</CreationDateTime>
        <BODId>2</BODId>
    </ApplicationArea>
    <DataArea>
        <Process confirm="Always" acknowledge="Always"/>
        <PurchaseOrder>
            <aaia:Header>
                <DocumentIds>
                    <CustomerDocumentId>
                        <Id>RA-266860914</Id>
                    </CustomerDocumentId>
                </DocumentIds>
                <DocumentReferences>
                    <QuoteDocumentReference>
                        <DocumentIds>
                            <SupplierDocumentId>
                                <Id>ORD-030724-234210-87943</Id>
                            </SupplierDocumentId>
                        </DocumentIds>
                    </QuoteDocumentReference>
                </DocumentReferences>
                <RFQDocumentReference/>
                <DocumentIds>
                    <CustomerDocumentId>
                        <Id>ORD-030724-234210-87942</Id>
                    </CustomerDocumentId>
                </DocumentIds>
                <DocumentDateTime>2024-03-07T23:42:10-0600</DocumentDateTime>
                <ShipPriorToDueDateInd>1</ShipPriorToDueDateInd>
                <DropShipInd>1</DropShipInd>
                <ReasonCode>Special</ReasonCode>
                <TransportationTerm>
                    <TermCode issuingAgency="none"/>
                    <FreightTerms>UPS-REG</FreightTerms>
                    <AccountNumber></AccountNumber>
                </TransportationTerm>
                <Parties>
                    <BillToParty>
                        <PartyId>
                            <Id>1001052</Id>
                        </PartyId>
                        <Name></Name>
                        <TaxExemptInd></TaxExemptInd>
                        <TaxId></TaxId>
                        <Addresses>
                            <Address>
                                <AddressLine></AddressLine>
                                <City></City>
                                <StateOrProvince></StateOrProvince>
                                <Country></Country>
                                <PostalCode></PostalCode>
                            </Address>
                        </Addresses>
                    </BillToParty>
                    <ShipToParty>
                        <PartyId>
                            <Id>5000001</Id>
                        </PartyId>
                        <Name>Calixto Morales</Name>
                        <TaxExemptInd></TaxExemptInd>
                        <TaxId></TaxId>
                        <Addresses>
                            <Address>
                                <AddressLine>223 S Patterson</AddressLine>
                                <City>Springfield</City>
                                <StateOrProvince>MO</StateOrProvince>
                                <PostalCode>65802</PostalCode>
                                <Country>US</Country>
                            </Address>
                        </Addresses>
                    </ShipToParty>
                    <aaia:HostParty>
                        <PartyId>
                            <Id>zzdormanipo</Id>
                        </PartyId>
                    </aaia:HostParty>
                </Parties>
            </aaia:Header>
            <aaia:Line>
                <LineNumber>1</LineNumber>
                <aaia:OrderItem>
                    <aaia:ItemIds>
                        <aaia:SupplierItemId>
                            <Id>00051</Id>
                        </aaia:SupplierItemId>
                        <aaia:SupplierCode>KKZ</aaia:SupplierCode>
                        <aaia:ManufacturerCode>KKZ</aaia:ManufacturerCode>
                    </aaia:ItemIds>
                </aaia:OrderItem>
                <OrderQuantity uom="EA">2</OrderQuantity>
                <Parties>
                    <ShipFromParty>
                        <PartyId>
                            <Id>3300</Id>
                        </PartyId>
                        <Addresses>
                            <Address>
                                <AddressLine></AddressLine>
                                <City></City>
                                <StateOrProvince></StateOrProvince>
                                <Country></Country>
                                <PostalCode></PostalCode>
                            </Address>
                        </Addresses>
                    </ShipFromParty>
                </Parties>
            </aaia:Line>
        </PurchaseOrder>
    </DataArea>
</aaia:ProcessPurchaseOrder>

Request Mapping :

Dorman Field MCPro Field Notes
ApplicationArea
Sender
ReferenceId ??
Confirmation ??
CreationDateTime We need to submit the current date/time of creation. Format is “2019-09-10T14:42:46.1948348+00:00”
BODId This must be a unique value in order to successfully send the Purchase Order request. I suggest we use the Orders > ID + current unix timestamp at the time of creating the order. In a format of “id-timestamp”
DataArea
Process Hardcoded as confirm="Always" acknowledge="Always”
PurchaseOrder
DocumentIds
CustomerDocumentId
Id Orders > ID
Revision ??
DocumentReferences
QuoteDocumentReference
DocumentIds
SupplierDocumentId
Id ??
DropShipInd ??
BackOrderedInd ??
ReasonCode ??
TransportationTerm
TermCode Hardcoded as issuingAgency="None" 
FreightTerms ??
Parties
ShipFromParty
PartyId
Id ??
Name Hardcoded as “Dorman Products, Inc.”
Addresses
Address
AddressLine Hardcoded as “3150 Barry Drive”
City Hardcoded as “Portland”
StateOrProvince Hardcoded as “TN”
Country Hardcoded as “US”
PostalCode Hardcoded as “37148”
BillToParty
PartyId
Id ??
Name ??
TaxExemptInd ??
Addresses
Address
AddressLine
City
StateOrProvince
Country
PostalCode
ShipToParty
PartyId
Id Hardoded as “5000001”
Name
Addresses
Address
AddressLine
City
StateOrProvince
Country
PostalCode
aaia:HostParty
PartyId
Id
aaia:Line
LineNumber
aaia:OrderItem
aaia:ItemIds
aaia:SupplierItemId
Id
aaia:SupplierCode
aaia:ManufacturerCode
OrderQuantity uom="EA”
UnitPrice
Amount currency="USD”
PerQuantity uom="PE”
NeedDeliveryDate
BackOrderedInd
SubstitutionAllowedInd
Parties
ShipFromParty
PartyId
Id
Name
Addresses
Address
AddressLine
City
StateOrProvince
Country
PostalCode
Is this article helpful?
0 0 0