The purpose of this document is to cover "OrderTS" using JSON. JSON is used to retrieve/display the fields within the OASIS "Order Transaction Set". A JSON API perform the OASIS function of searching in the OASIS Orders application using the "Find" feature and displaying the information in a logical, easily parsed format. The following areas will be covered:
- Find Options
- Content Listings
- Request Structure
- Response Structure
Requirements:
- Users must have O4. To learn more about moving forward with O4, email OASIS Sales at sales@oasissalessoftware.com or 501-843-6750.
- Users must create bearer tokens in O4 to authorize the call in their external API software.
Call
Software-based call
URL: <WebDatabaseURL>/API?ajax=OrderTS
JSON POST method
Request:
"Find":{"DBID":"<value>","POID":"<value>"},
"OrderHeader":"*",
"OrderLine":"*"
}
Browser-based call
URL: <WebDatabaseURL>/API?&ajax=OrderTS
Request: DBID=<value>&POID=<value>&OrderHeader=*&OrderLine=*
Find
Software-based call
Multiple Orders
Define the OASIS Orders to use for data extraction.
Format: "Find":{comma delimited list… any key/value pair for an OASIS Order Header listing works here}.
Multiple Orders can be specified by the find criteria. But the Find criteria should be used to narrow the response content if many fields are being extracted.
"Find":" {"DBID":"Test","UpdateDate":"01/01/2020:06/01/2020"} – Any/Every Order with a Database ID of Test and an update date between 01/01/2020 and 06/01/2020
Example:
"Find": {"DBID":"Test","UpdateDate":"01/01/2020:06/01/2020"},
"OrderHeader":"*",
"OrderLine":"*"
}
Single Order
A single Order can be designated by including "POID":"<value>" in the listing.
"Find":" {"DBID":"Test","POID":"1234"} – An Order with a Database ID of Test and a Purchase Order ID of 1234 (not PoNumber!)
Example:
"Find":{"DBID":"Test","POID":"1234"},
"OrderHeader":"*",
"OrderLine":"*"
}
Browser-based call
Multiple Orders
Define the OASIS Orders to use for data extraction.
Format: &Key=Value… any key/value pair for an OASIS Order listing works here
Multiple Orders can be specified by the find criteria. But the criteria should be used to narrow the response content if many fields are being extracted.
Example:
<WebDatabaseURL>/OASIS/API?&ajax=OrderTS<value>&DBID=Test&UpdateDate=01/01/2020:06/01/2020&OrderHeader=*&OrderLine=*
Single Order
A single Order can be designated by including &POID=value in the listing.
Example:
<WebDatabaseURL>/OASIS/API?&ajax=OrderTS<value>&DBID=Test&POID=1234&OrderHeader=*&OrderLine=*
Overall response for Browser or Software based calls:
{"OrderTS": [{"field": "value","field": "value","field": "value","OrderLines": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Content
The available data that can be extracted consists of this possible content:
- OrderHeader – required!
- OrderLine
- ShipmentLine
- InvoiceLine
- Specifiers
- Deltas
- ReleaseSummary
- UserTag
Request
Format: "content name – i.e. "OrderHeader":"comma delimited list of possible fields"
Response
All values are returned as Ordered character data: "abc123"
Numeric values are formatted as appropriate:
- Numbers – "0" or "0.0"
- Currency – "$0.00"
Order Header (required)
Request: "OrderHeader":"comma delimited list of possible fields"
Note: "OrderHeader":"*" is supported.
Only those fields with non-blank values are listed on the response.
Response: "OrderTS": [{"field”: “value","field": "value"}, {"field”: “value",“field”: “value”}]
Fields:
- "DBID",
- "POID",
- "DistributorID",
- "PONumber",
- "EndCustomerPONumber",
- "ManufacturerID",
- "BSID",
- "BuySell",
- "BillNow",
- "ResellPONumber",
- "ASO",
- "AccountNumber",
- "AgentOrder",
- "MFGOrder",
- "Project",
- "BidName",
- "MFGContactDBID",
- "MFGContactID",
- "DSTContactDBID",
- "DSTContactID",
- "DSTSalesContactDBID",
- "DSTSalesContactID",
- "FreightType",
- "FreightAccount",
- "Stamp",
- "EntryDate",
- "TransmitDate",
- "ActionStartDate",
- "TransmitUserID",
- "EstimatedDate",
- "DoNotShipBefore",
- "RequiredOnSite",
- "SoldName",
- "SoldCO",
- "SoldLine1",
- "SoldLine2",
- "SoldCity",
- "SoldState",
- "SoldZip",
- "SoldCounty",
- "SoldCountry",
- "ShipName",
- "ShipCO",
- "ShipLine1",
- "ShipLine2",
- "ShipCity",
- "ShipState",
- "ShipZip",
- "ShipCounty",
- "ShipCountry",
- "ShipMark",
- "ShipCallAhead",
- "AltName",
- "AltCO",
- "AltLine1",
- "AltLine2",
- "AltCity",
- "AltState",
- "AltZip",
- "AltCounty",
- "AltCountry",
- "AltWhenToUse",
- "BillName",
- "BillLine1",
- "BillLine2",
- "BillCity",
- "BillState",
- "BillZip",
- "BillCounty",
- "BillCountry",
- "ReleaseStatus",
- "CloseInvoicing",
- "CloseCommissions",
- "Status",
- "OrderType",
- "LotPriceOrder",
- "ShipTogether",
- "PaymentTerms",
- "OrderrUserID",
- "CSRUserID",
- "RMAUserID",
- "CreateTerritoryID",
- "CreateUserID",
- "CreateDate",
- "UpdateUserID",
- "UpdateDate",
- "InternalNotes",
- "Remarks",
- "PONotes",
- "DeltaNotes",
- "ShippingInstructions",
- "FreightAllowed",
- "ParentType",
- "ParentDBID",
- "ParentID",
- "AgencySalesPercentage",
- "AgencyCommissionPercentage",
- "AgencyOveragePercentage",
- "AgencyTotalPrice",
- "AgencyTotalCommission",
- "AgencyTotalOverage",
- "AgencyTotalMarkup",
- "EstimatedRelease",
Order Line
Request: "OrderLine":"comma delimited list of possible fields"
Note: "OrderLine":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","OrderLines": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "Code",
- "Quantity",
- "Type",
- "ManufacturerID",
- "Catalog",
- "Description",
- "Note",
- "INote",
- "Cost",
- "CommissionPercent",
- "Overage",
- "OveragePercent",
- "NetPrice",
- "SellPrice",
- "Profit",
** Split lines will show under OrderLines
** OrderLines required for shipment and invoice lines
Shipment Line
Request: "ShipmentLine":"comma delimited list of possible fields"
Note: "ShipmentLine":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","ShipmentLines": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "DateType",
- "SO",
- "Catalog",
- "Quantity",
- "Date",
- "Warehouse",
- "SCAC",
- "Tracking",
Invoice Line
Request: "InvoiceLine":"comma delimited list of possible fields"
Note: "InvoiceLine":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","InvoiceLines": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "InvoiceDate",
- "InvoiceNumber",
- "DBID",
- "InvoiceID",
- "InvoiceKind",
- "InvoiceSell",
- "Quantity",
Specifiers
Request: "Specifiers":"comma delimited list of possible fields"
Note: "Specifiers":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","Specifiers": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "CompanyName"
- "CustomerID",
- "FreeForm",
- "Role",
- "Influence",
- "SalesUserID",
ReleaseSummary
Request: "ReleaseSummary":"comma delimited list of possible fields"
Note: "ReleaseSummary":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","ReleaseSummary": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "NetPrice",
- "ManufacturerID",
- "Overage",
- "Commission",
- "SellPrice",
- "Markup",
- "OverageSplit",
- "Date",
Deltas
Request: "Deltas":"comma delimited list of possible fields"
Note: "Deltas":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","Deltas": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
- "DeltaHoldTerritoryCommission",
- "DeltaReleaseTerritoryOverageSplit",
- "DeltaHoldTerritorySellPrice",
- "DeltaReleaseOverageSplit",
- "DeltaReleaseTerritoryNetPrice",
- "DeltaReleaseCommission",
- "DeltaHoldOverage",
- "DeltaReleaseNetPrice",
- "DeltaHoldMarkup",
- "DeltaReleaseTerritorySellPrice",
- "DeltaReleaseTerritoryCommission",
- "DeltaReleaseTerritoryOverage",
- "DeltaHoldTerritoryOverage",
- "DeltaHoldBuyPrice",
- "Date",
- "DeltaReleaseOverage",
- "DeltaHoldCommission",
- "DeltaReleaseMarkup",
- "DeltaReleaseBuyPrice",
- "DeltaHoldTerritoryNetPrice",
- "DeltaHoldOverageSplit",
- "DeltaHoldNetPrice",
- "DeltaHoldTerritoryOverageSplit",
- "DeltaReleaseSellPrice",
- "DeltaHoldSellPrice",
UserTag
Request: "UserTag":"comma delimited list of possible fields"
Note: "UserTag":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","UserTags": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
Fields are unique per database.
Example of a software-based call with all available options:
{
"Find":{"PONumber_fnd":"*","UpdateDate":"01/01/2019:09/01/2021"},
"OrderHeader":"*",
"OrderLine":"*",
"InvoiceLines":"*",
"ShipmentLines":"*",
"ReleaseSummary":"*",
"Deltas":"*",
"Specifiers":"*",
"UserTags":"*"
}
Example of a Browser-based call with all available options:
<WebDatabaseURL>/API?ajax=OrderTS&DBID=<value>&POID=<value>&OrderHeader=*&OrderLine=*&InvoiceLines=*&ShipmentLines=*&ReleaseSummary=*&Deltas=*&UserTags=*&APICallCache=#
Comments
0 comments
Please sign in to leave a comment.