Quote TS JSON API

Have more questions? Submit a request

JSON is used to retrieve/display the fields within the OASIS Quote Transaction Set (QuoteTS). A JSON API performs the OASIS function of searching in the OASIS Quotes 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=QuoteTS

JSON POST method

Request:

 {           "DBID":"<value>",

             "QuoteID":"<value>",

             "QuoteHeader":"*",

             "QuoteLine":"*"

}

 

Browser-based call

URL: <WebDatabaseURL>/API?&ajax=QuoteTS

Request: Project=Test*&QuoteHeader=*&QuoteLine=*

 

Find

Software-based call

Multiple Quotes

Define the OASIS quotes 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 quotes 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.

"Project":"Test" – Every quote with a project name that starts with Test

Example:

 {          "Project":"Test",

            "QuoteHeader":"*",

            "QuoteLine":"*"

}

 

Single Quote

A single quote can be designated by including “DBID”:”value”,”QuoteID”:”value” in the listing.

"DBID":"Test", "QuoteID":"1234" – A Quote with a Database ID of Test and a Quote ID of 1234 (not Quote Number!)

Example:

 {           "DBID":"<value>",

             "QuoteID":"<value>",

             "QuoteHeader":"*",

             "QuoteLine":"*"

}

 

 

Browser-based call

Multiple Quotes

Define the OASIS quotes to use for data extraction.

Format: &Key=Value… any key/value pair for an OASIS quote listing works here

Multiple quotes 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=QuoteTS<value>&DBID=Test&UpdateDate=01/01/2020:06/01/2020&QuoteHeader=*&QuoteLine=*

 

Single Quote

A single quote can be designated by including &DBID=value&QuoteID=value in the listing.

Example:

<WebDatabaseURL>/OASIS/API?&ajax=QuoteTS<value>&DBID=Test&QuoteID=1234&QuoteHeader=*&QuoteLine=*

 

Overall response for Browser or Software based calls:

{"QuoteTS": [{"field": "value","field": "value","field": "value","OrderLines": [{"field": "value","field": "value"}], "field": "value","field": "value"}]}

 

Content

The available data that can be extracted includes:

  • QuoteHeader
  • PhaseHeader
  • QuoteLine
  • Manufacturers
  • Customers
  • CustomerContact (included as a JSON element of Customer entry)
  • Specifiers
  • SpecifierContact (included as a JSON element of Specifiers entry)
  • UserTag

Request

Format: “content name – i.e. QuoteHeader”:”comma delimited list  of possible fields”

Response

All values are returned as quoted character data: “abc123”

Numeric values are formatted as appropriate:

  • Numbers – “0” or “0.0”
  • Currency – “$0.00”

 

Quote Header (required)

Request: “QuoteHeader”:”comma delimited list of possible fields”

Note: “QuoteHeader”:”*” is supported.

Only those fields with non-blank values are listed on the response.

Response: “field”:”value”,”field”:”value”,etc.

 

Fields

  • DBID
  • QuoteID
  • FullQuoteNumber
  • QuoteYear
  • QuoteType
  • Project
  • BidName
  • Location
  • LocationState
  • DistributorID
  • BSID
  • SpecRegistration
  • NationalAccount
  • VerticalMarket
  • BidBoard
  • Status
  • InternalNotes
  • Remarks
  • QuoteNotes
  • PORemarks
  • PONotes
  • ShippingInstructions
  • DoNotShipBefore
  • RequiredOnSite
  • LotPriceOrder
  • Stamp
  • FreightType
  • QuoteTax
  • TaxExemptionNumber
  • EffectiveTaxZip
  • BidDate
  • RADate
  • ExpirationDate
  • ShipName
  • ShipCO
  • ShipLine1
  • ShipLine2
  • ShipCity
  • ShipState
  • ShipZip
  • ShipCounty
  • ShipCountry
  • ShipMark
  • ShipCallAhead
  • AltName
  • AltCO
  • AltLine1
  • AltLine2
  • AltCity
  • AltState
  • AltZip
  • AltCounty
  • AltCountry
  • AltWhenToUse
  • ContractorPO
  • FreightAccount
  • BillName
  • BillLine1
  • BillLine2
  • BillCity
  • BillState
  • BillZip
  • BillCounty
  • BillCountry
  • CSRUserID
  • QuoterUserID
  • CreateTerritoryID
  • CreateDate
  • CreateUser
  • UpdateDate
  • UpdateUser
  • ParentType
  • ParentDBID
  • ParentID
  • ParentSubID
  • NextLineUID
  • LostTo
  • LineUID
  • TotalSellPrice
  • TotalSellNetPrice
  • TotalSellCommission
  • TotalSellOverageSplit
  • TotalSellOverage
  • TotalSellMarkup
  • TotalSellEarnings
  • TotalSellPrice
  • TotalLevel1NetPrice
  • TotalLevel1Commission
  • TotalLevel1OverageSplit
  • TotalLevel1Overage
  • TotalLevel1Markup
  • TotalLevel1Earnings
  • TotalLevel2Price
  • TotalLevel2NetPrice
  • TotalLevel2Commission
  • TotalLevel2OverageSplit
  • TotalLevel2Overage
  • TotalLevel2Markup
  • TotalLevel2Earnings
  • TotalLevel3Price
  • TotalLevel3NetPrice
  • TotalLevel3Commission
  • TotalLevel3OverageSplit
  • TotalLevel3Overage
  • TotalLevel3Markup
  • TotalLevel3Earnings

Example:

"QuoteNumber":"31011",”Project”:”Test Project – Test Phase4”

 

Phase Header

Request: “PhaseHeader”:”comma delimited list of possible fields”

Note: “PhaseHeader”:”*” is supported. 

Only those fields with non-blank values are listed on the response.

Response: “Phase”:{“field”:”value”,”field”:”value”,etc.}

Fields

  • DBID
  • ProjectID
  • PackageID
  • PackageName
  • Owner
  • Active
  • StartDate
  • CompletionDate
  • Valuation
  • SquareFootage
  • ValuationLighting
  • ValuationControls
  • SpecifiedProject
  • ImportantProject
  • PSpecified
  • PApproved
  • GCAwarded
  • GCFullText
  • GCDistributorID
  • GCContactDBID
  • GCContactID
  • ECAwarded
  • ECFullText
  • ECDistributorID
  • ECContactDBID
  • ECContactID
  • LowDistributorAwarded
  • LowDistributorID
  • LowDistContactDBID
  • LowDistContactID
  • ExternalProjectNubmer
  • ProjectRank

Example:

"Phase":{"PSpecified":"0.00","PackageName":"Initial Phase","Valuation":"0.00","PApproved":"0.00","DBID":"GENERAL TEST","SpecifiedProject":"N","ProjectRank":"0","ProjectID":"9739","GCContactID":"0","LowDistContactID":"0","SquareFootage":"0","StartDate":"2014-03-20","ECContactID":"0","Active":"Y","PackageID":"9740","CompletionDate":"2014-03-20"}

 

Quote Lines

Request: “QuoteLine”:”comma delimited list of possible fields”

Note: “QuoteLine”:”*” is supported.  Only those fields with non-blank values are listed on the response.

Response: “QuoteLines”:{{“field”:”value”,”field”:”value”,etc.}]

Fields:

  • Code
  • Quantity
  • Type
  • ManufacturerID
  • Catalog
  • Description
  • Note
  • INote
  • Cost
  • Sell
  • Level1
  • Level2
  • Level3

Example:

"QuoteLines": [{"Description":"","ManufacturerID":"","Quantity":"null","Code":"N","Cost":"","Catalog":"TESTPART","Type":"TESTNOTE","INote":"","Sell":"","Note":"","Level2":"","Level3":"","Level1":""},{"Description":"","ManufacturerID":"","Quantity":"1.00","Code":"","Cost":"","Catalog":"4567","Type":"TEST","INote":"","Sell":"$12.00","Note":"TEST","Level2":"","Level3":"","Level1":"$12.00"}

 

Manufacturers

(could be multiple per quote)

Request: “Manufacturer”:”comma delimited list of possible fields”

Note: “Manufacturer”:”*” is supported.

Response: “Manufacturer”:{{“field”:”value”,”field”:”value”,etc.}]

Fields:

  • Freight Is
  • MFG Quote
  • PO Notes
  • Overage
  • Spec/Prd/Dest
  • Commission
  • Cost
  • Base
  • PO Number
  • MFG WWW
  • PO Earnings
  • Landed
  • MFG Notes (Will retain Formatting)
  • TotalPrice
  • Manufacturer
  • Profit
  • PO Total
  • $Freight Allowed
  • PO Numbers
  • PO AgencyTotalEarnings
  • Earnings
  • Net

Example:

"Manufacturers": [{"Freight Is": "Auto Calculate","MFG Quote": "","PO Notes": "","Overage": "$0.00","Spec/Ord/Dest": "Split","Commission": "$9.00","Cost": "$0.00","Base": "$90.00","PO Number": "","MFG WWW": "","PO Earnings": "","Landed": "$0.00","MFG Notes": "","TotalPrice": "$90.00","Manufacturer": "Test Lights Inc, North","Profit": "$0.00","PO Total": "","$Freight Allowed": "Minimum Order","PO Numbers": "","PO AgencyTotalEarnings": "","Earnings": "$9.00","Net": "$90.00"},{"Freight Is": "Auto Calculate","MFG Quote": "","PO Notes": "","Overage": "$0.00","Spec/Ord/Dest": "Split","Commission": "$54.00","Cost": "$0.00","Base": "$540.00","PO Number": "",MFG WWW: "","PO Earnings": "","Landed": "$0.00","MFG Notes": "","TotalPrice": "$540.00","Manufacturer": "Test Lights Inc, West","Profit": "$0.00","PO Total": "","$Freight Allowed": "Plus Freight","PO Numbers": "","PO AgencyTotalEarnings": "","Earnings": "$54.00","Net": "$540.00"}

 

Customers

(could be multiple per quote)

Request: “Customers”:”comma delimited list of possible fields”

Note: “Customers”:”*” is supported.

Response: “QuoteLines”:{{“field”:”value”,”field”:”value”,etc.}]

Fields:

  • Column
  • CompanyName
  • CustomerID
  • IncludeLamps
  • RepresentativeID
  • Revision
  • WinLoss
  • RevisionDate
  • LotPrice
  • Markup

Example:

Customers: [{"RevisionDate":"2012/10/22","CompanyName":"ABC Distributors","IncludeLamps":true,"WinLoss":0,"LotPrice":"$0.00","Revision":0,"Column":0,"Markup":"0.00","CustomerID":"ABC DIST","RepresentativeID":""},{"RivisionDate":"2012/10/22","CompanyName":"Customer 1","IncludeLamps":true,"WinLoss":0,"LotPrice":"$0.00","Revision":0,"Column":0,"Markup":"0.00","CustomerID":"CUSTOMER","RepresentativeID":""}]

 

Customer Contact

(for customer - could be multiple per customer)

Request: “CustomerContact”:”comma delimited list of possible fields”

Note: “CustomerContact”:”*” is supported.

Response: “Contact”:{{“field”:”value”,”field”:”value”,etc.}]

Fields:

  • First Name
  • Middle Name
  • Last Name
  • Email

 Example:

"Customers":[{"CompanyName":"ABC Distributors","CustomerID":"ABC DIST",”Contact”:{"FirstName": "John","LastName": "Doe"}}]

 

Specifiers

(could be multiple per quote)

Request: “Specifiers”:”comma delimited list of possible fields”

Note: “Specifiers”:”*” is supported.

Response: “Specifiers”:{{“field”:”value”,”field”:”value”,etc.}]

Fields

  • Company Name
  • Customer ID
  • FreeForm (description)
  • Role
  • Influence
  • SalesUserID

 Example:

"Specifiers":[{"Role":"Architect","CompanyName":"ABC","FreeForm":"","Influence":0},{"Role":"Engineer","CompanyName":"DEF","FreeForm":"","Influence":0}]

 

Specifier Contact

(could be multiple per specifier)

Request: “SpecifierContact”:”comma delimited list of possible fields”

Note: “SpecifierContact”:”*” is supported.

Response: “Contact”:{{“field”:”value”,”field”:”value”,etc.}]

Fields

  • First Name
  • Middle Name
  • Last Name
  • Email

Example:

"Specifiers": [{"Role": "ARCHIT.","CompanyName": "ABC Architects","Contact":{"FirstName": "John","LastName": "Doe"}}]

 

User Tags

(could be multiple per quote)

Request: “UserTag”:”comma delimited list of possible fields”

Note: “UserTag”:”*” is supported.

Response: “UserTags”:{{“field”:”value”,”field”:”value”}]

Fields

  • Tag Key
  • Tag Value

Example:

"UserTags": [{"TagKey": "Order Type","TagValue": "Residential"}] 

 

Example of a software-based call with all available options:

{
"UpdateDate":"5/1/2023:5/20/2023",
"QuoteHeader":"*",
"PhaseHeader":"*",
"QuoteLine":"*",
"Manufacturers":"*",
"Customers":"*",
"CustomerContact":"*",
"Specifiers":"*",
"SpecifierContact":"*",
"USerTag":"*"
}

 

Example of a Browser-based call with all available options:

<WebDatabaseURL>/API?ajax=OrderTS&DBID=<value>&UpdateDate=<value>&QuoteHeader=*&PhaseHeader=*&QuoteLine=*&Manufacturers=*&Customers=*&CustomerContact=*&Specifiers=*&SpecifierContact=*&USerTag=*&APICallCache=#

 

Articles in this section

Was this article helpful?
1 out of 1 found this helpful

Comments

0 comments

Please sign in to leave a comment.