servers:
- url: https://beaconproplus.com/v2/rest/com/becn/public
description: >-
Production. Added by API Evangelist; the harvested document carried no servers[].
Source: info.description of this spec: '[ PROD BASE URL: https://beaconproplus.com/v2/rest/com/becn/public ]'
openapi: 3.0.0
info:
title: Beacon Rest Services Public
version: release/7.2_siteId
description: |
This version of APIs do not require the user to login, to be able to access
services. A bearer token is required to be authorized to access the
services.
[ PROD BASE URL: *https://beaconproplus.com/v2/rest/com/becn/public* ]
[ UAT BASE URL: *https://beacon-uat.becn.com/v2/rest/com/becn/public* ]
[ DEV BASE URL: *https://beacon-dev.becn.com/v2/rest/com/becn/public* ]
### API Site ID:
Show...
Most of the APIs supports the `apiSiteId` parameter in the following locations, the parsing priority is higher to lower. For example, if this parameter appears both in request parameter and request body, will get the one in the request parameter, any other locations will be ignored.
1. `apiSiteId` in Request Parameter/URL/Query String e.g.
```
example.com/?apiSiteId=XYZ...
example.com/?...&apiSiteId=XYZ...
```
2. `apiSiteId` in Request Body/Payload e.g.
```
{
...
"apiSiteId": "XYZ",
...
}
```
Please be noted, only support when `apiSiteId` is the root element of request body. For example, the `apiSiteId` in the following request body is the second element, so this property will be ignored:
```
{
...
"foo": {
"apiSiteId": "XYZ",
}
...
}
```
3. `apiSiteId` related OAuth Token in Request Header e.g.
```
Authorization Bearer atdy9au5qtg0ofkxdewwr3169...
```
In this case, the `apiSiteId` will be parsed via the OAuth Token. For example, if one token is generated by the client id 'nigu0zjtyih7lb36l2...', then this client related api site id(pre-defined and stored in the server database) will be the value of `apiSiteId`
components:
schemas:
categoryObj:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
facetId:
type: string
categoryObj2:
type: object
properties:
categoryName:
type: string
categoryId:
type: string
recordCount:
type: integer
example: 32
facetId:
type: string
productObj_itemlist:
type: object
properties:
productImage:
type: string
productOnErrorImage:
type: string
productAdditionalOnErrorImage:
type: string
longDesc:
type: string
brand:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/categoryObj'
shortDesc:
type: string
productName:
type: string
productId:
type: string
baseProductName:
type: string
internalProductName:
type: string
url:
type: string
skuList:
type: array
items:
$ref: '#/components/schemas/skuListObj_itemlist'
skuCount:
type: integer
skuListObj_itemlist:
type: object
properties:
itemNumber:
type: string
productNumber:
type: string
itemImage:
type: string
example: /images/large/404191_default_hero.jpg
swatchImage:
type: string
example: /images/large/404191_default_swatch.jpg
skuShortDesc:
type: string
manufactureNumber:
type: string
variations:
$ref: '#/components/schemas/PDPskusVariationObj'
hoverAttributes:
$ref: '#/components/schemas/hoverAttributesObj'
hoverAttributesObj:
type: object
properties:
sellingUom:
type: string
piecesPerUom:
type: string
coverageUom:
type: string
ppCoverageUom:
type: string
lengthExposure:
type: string
widthExposure:
type: string
lengthHover:
type: string
widthHover:
type: string
ncpSellingUom:
type: string
gcpSellingUom:
type: string
sslvoDimensionIn:
type: string
sswhoDimensionOption1In:
type: string
sswhoDimensionOption2In:
type: string
sswhoDimensionOption3In:
type: string
lslvoDimensionIn:
type: string
lswhoDimensionIn:
type: string
rvlvoDimensionIn:
type: string
rvwhoDimensionIn:
type: string
nfvaHover:
type: string
nfvaUomHover:
type: string
fhLapIn:
type: string
fvLapIn:
type: string
chLapIn:
type: string
cvLapIn:
type: string
cfmValue:
type: string
cfmUom:
type: string
facetObj:
type: object
properties:
facetId:
type: string
facetName:
type: string
recordCount:
type: integer
example: 32
selected:
type: boolean
didYouMeanAndAutoCorrectionObj:
type: object
properties:
message:
type: string
items:
type: array
items:
type: object
properties:
filter:
type: string
itemlistRep:
type: object
properties:
message:
type: string
totalNumRecs:
type: integer
pageNumRecs:
type: integer
didYouMean:
$ref: '#/components/schemas/didYouMeanAndAutoCorrectionObj'
autoCorrection:
$ref: '#/components/schemas/didYouMeanAndAutoCorrectionObj'
items:
type: array
items:
$ref: '#/components/schemas/productObj_itemlist'
categories:
type: array
items:
$ref: '#/components/schemas/categoryObj2'
facets:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/facetObj'
example:
Categories:
- facetId: '2136008660'
facetName: Residential Roofing
selected: false
children:
- facetId: '2136009260'
facetName: Residential Accessories
recordCount: 216
selected: true
children:
- facetId: '2136009261'
facetName: 'Adhesives, Caulk, & Sealants'
recordCount: 1
selected: false
- facetId: '2136009263'
facetName: Fasteners
recordCount: 1
selected: false
- facetId: '2136009269'
facetName: Flashings
recordCount: 1
selected: false
Color:
- facetId: '4294967258'
facetName: Grey
recordCount: 15
selected: false
- facetId: '4294967259'
facetName: Blue
recordCount: 23
selected: false
Product Style:
- facetId: '4294967260'
facetName: R-11
recordCount: 54
selected: true
- facetId: '4294967261'
facetName: R-13
recordCount: 785
selected: true
- facetId: '4294967262'
facetName: R-15
recordCount: 642
selected: false
Brand:
- facetId: '4294967263'
facetName: Johns Manville
recordCount: 54
selected: true
- facetId: '4294967264'
facetName: Owens Corning
recordCount: 2354
selected: false
PDPskusVariationObj:
type: object
additionalProperties:
type: object
example:
color:
- White
- Dover
size:
- 12x10
thickness:
- 2mm
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: token
paths:
/itemlist:
get:
security:
- bearerAuth: []
tags:
- Catalog ITEM Services
summary: Get list of items
description: >-
This service will list all the products for selected account, based on
availability.
parameters:
- in: query
name: accountId
schema:
type: string
description: Account ID
required: true
- in: query
name: pageSize
description: Default page size is 21. max is 24
schema:
type: integer
format: int32
- in: query
name: pageNo
description: 'Default page no is 1, the first page'
schema:
type: integer
format: int32
- in: query
name: filter
description: |
Search terms
This parameter also support the following syntax:
* `productId:ID1,ID2...IDn`
* Filter by given product ID list, separated by comma. e.g. "productId:C-010001,C-010002,C-010003"
schema:
type: string
- in: query
name: cateFilter
description: Category search terms
schema:
type: string
- in: query
name: facetsFilter
description: >
Filter syntax:
* Facets search IDs, separated by comma
* e.g. "4294965847,4294965836"
* Indicate which dimension to search, `:`,
separated by comma, case insensitive, ignore white space
* e.g. "size:0ft x 2ft,packaging:100 bag,thickness:102mm,style:A Slop,color: Beige"
* Special charactors should be URL encoded then append to query
string
* e.g. raw: 'facetsFilter=Thickness:20_,Thickness:20",Thickness:20mm,Size:"9 x "12,Size:#12,Size:1! x 1!,Size:1-5/8",Size:10" x 15",Size:100' x 200',Size:2-7/8",Size:6> x 500<'
* e.g. URL encoded: 'facetsFilter=Thickness%3a20_%2cThickness%3a20%22%2cThickness%3a20mm%2cSize%3a%229+x+%2212%2cSize%3a%2312%2cSize%3a1!+x+1!%2cSize%3a1-5%2f8%22%2cSize%3a10%22+x+15%22%2cSize%3a100%27+x+200%27%2cSize%3a2-7%2f8%22%2cSize%3a6%3e+x+500%3c'
* The above syntax can be mixed together
* e.g. "size:0ft x 2ft,4294965847,packaging:100 bag,thickness:102mm,4294965836,style:A Slop,color: Beige"
schema:
type: string
- in: query
name: showSkuList
description: 'if "true", display sku list'
schema:
type: string
- in: query
name: showFacets
description: 'if "false", do not display facets. Default is "true"'
schema:
type: string
- in: query
name: enableAutoCorrection
description: Default is true, will enable auto correction for `filter`
schema:
type: string
- in: query
name: enableDidYouMean
description: Default is true, will enable did you mean features for `filter`
schema:
type: string
- in: query
name: showHoverAttrs
description: 'if "true", display Hover attributes'
schema:
type: string
- in: query
name: hoverSearch
description: 'if "true", display Hover version of search'
schema:
type: string
responses:
'200':
description: |
successful operation
If failed, return messageCode, refer to messageCode doc.
Example
{ "messageCode": "1001", "message": "Validation exception" }
content:
application/json:
schema:
$ref: '#/components/schemas/itemlistRep'
'401':
description: 'Unauthorized, user do not login'
'500':
description: Internal exception