The purpose of this document is to cover "QuoteTS" using JSON. JSON is used to retrieve/display the fields within the OASIS "Quote Transaction Set". A JSON API perform 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, 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: <web database url>/OASIS/API?ajax=QuoteTS
JSON POST method
Browser-based call
URL: <web database url>/OASIS/API? &ajax=QuoteTS
Request: Project=Test*&QuoteHeader=*&QuoteLine=*
Find
Software-based call
Multiple Quotes
Define the OASIS quotes to use for data extraction.
Format: “Find”:{ comma delimited list… any key/value pair for an OASIS quote listing works here }.
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.
“Find”:” {"Project":"Test"} – Every quote with a project name that starts with Test
Single Quote
A single quote can be designated by including “DBID”:”value”,”QuoteID”:”value” in the listing.
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.
Single Quote
A single quote can be designated by including &DBID=value&QuoteID=value in the listing.
Overall Response
{QuoteTS:[{content for quote},{content for quote},…]}
Content
The available data that can be extracted consists of this possible content:
- QuoteHeader
- PhaseHeader
- QuoteLine
- Customer
- 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
- QuoteNumber
- 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
- 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
- QuoteID
- QuoteNumber
- 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"}
Customer
(could be multiple per quote)
Request: “Customer”:”comma delimited list of possible fields”
Note: “Customer”:”*” 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
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
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": "Project Type","TagValue": "Residential"}]
Comments
0 comments
Please sign in to leave a comment.