JSON is used to retrieve/display the fields within the OASIS Order Transaction Set (Order TS). A JSON API performs 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, contact 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:
{ "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: A comma delimited list of any key/value pair for an OASIS quote listing works here. . . "FindObject":"<value>", "FindObject":"<value>"
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.
"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:
{ "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:
{ "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 includes:
- OrderHeader (required)
- OrderLine
- ShipmentLine
- InvoiceLine
- Specifiers
- Deltas
- ReleaseSummary
- UserTag
- Accounts
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:
-
Tag Key
-
Tag Value
Accounts
Request: "Accounts":"comma delimited list of possible fields"
Note: "Accounts":"*". Currently only “*” is supported.
Only those fields with non-blank values are listed on the response.
Response: {"OrderTS": [{"field": "value","field": "value","field": "value","Accounts": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}
Fields:
-
AccountID
-
SalesPercentage
Example of a software-based call with all available options:
{
"PONumber_fnd":"*",
"UpdateDate":"01/01/2019:09/01/2021",
"OrderHeader":"*",
"OrderLine":"*",
"InvoiceLines":"*",
"ShipmentLines":"*",
"ReleaseSummary":"*",
"Deltas":"*",
"Specifiers":"*",
"Accounts":"*",
"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=*&Specifiers=*&Accounts=*&APICallCache=#
Comments
0 comments
Please sign in to leave a comment.