'
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
heroImagesObj:
type: object
additionalProperties:
type: object
example:
- image: /images/large/357583_default_hero.jpg
- image: /images/large/357583_1_hero.jpg
- image: /images/large/357583_2_hero.jpg
currentSkuObj:
type: object
properties:
currentUOM:
type: string
color:
type: string
manufactureNumber:
type: string
unitPrice:
type: number
format: double
itemNumber:
type: string
productNumber:
type: string
uomlist:
type: array
items:
type: string
itemImage:
type: string
heroImages:
$ref: '#/components/schemas/heroImagesObj'
thumbImage:
type: string
swatchImage:
type: string
skuShortDesc:
type: string
auxiliaryImages:
type: array
items:
type: string
isAddedToFavorites:
type: boolean
skuObj:
type: object
properties:
currentUOM:
type: string
color:
type: string
unitPrice:
type: number
format: double
itemNumber:
type: string
productNumber:
type: string
productName:
type: string
itemImage:
type: string
thumbImage:
type: string
swatchImage:
type: string
skuShortDesc:
type: string
auxiliaryImages:
type: array
items:
type: string
isAddedToFavorites:
type: boolean
dtStatusObj:
type: object
properties:
displayName:
type: string
statusEndDate:
type: string
deviceTokenObj:
type: object
properties:
accountId:
type: string
orderId:
type: string
email:
type: string
dtStatus:
$ref: '#/components/schemas/dtStatusObj'
tokens:
type: array
items:
type: string
deliveryTrackingSettingsObj_getCurrentUserInfo:
type: object
properties:
email:
type: string
phone:
type: string
myOrders:
type: object
additionalProperties:
type: string
example:
requested: Text
scheduled: Email
delivered: Text&Email
allOrders:
type: object
additionalProperties:
type: string
example:
requested: Text
scheduled: Email
delivered: Text&Email
dtAccount:
type: object
additionalProperties:
type: string
example:
requested: Text
scheduled: Email
delivered: Text&Email
currentUserPermissionObj:
type: object
properties:
Place Order:
type: object
example:
Yes: true
No: false
Yes, with Approval: false
Price:
type: object
example:
Yes: true
No: false
loginReq:
type: object
properties:
username:
type: string
description: User login email address
password:
type: string
siteId:
type: string
description: Login Site
enum:
- homeSite
- dealerchoice
persistentLoginType:
type: string
enum:
- RememberMe
- RememberPassword
userAgent:
type: string
enum:
- desktop
- tablet
- mobile
apiSiteId:
type: string
description: Api Site Id
enum:
- UAT
loginRep:
type: object
properties:
messageInfo:
type: object
properties:
accountBranch:
$ref: '#/components/schemas/branchObj'
lastName:
type: string
cartLineItems:
type: integer
profileId:
type: string
firstName:
type: string
internalUser:
type: boolean
userType:
type: string
rewardsEligible:
type: boolean
lastSelectedAccount:
$ref: '#/components/schemas/accountObj'
getLoginDeclarationRep:
type: object
properties:
message:
type: string
titles:
type: array
items:
type: string
declarationContent:
type: string
CTA:
type: array
items:
type: string
getCurrentUserInfoRep:
type: object
properties:
message:
type: string
accountBranch:
$ref: '#/components/schemas/branchObj'
lastName:
type: string
cartLineItems:
type: integer
profileId:
type: string
firstName:
type: string
email:
type: string
login:
type: string
internalUser:
type: boolean
userType:
type: string
roleType:
type: string
rewardsEligible:
type: boolean
lastActivity:
type: string
lastPasswordUpdate:
type: string
registrationDate:
type: string
firstLoggedInDate:
type: string
defaultOrganization:
type: string
defaultOrganizationId:
type: string
lastSelectedAccount:
$ref: '#/components/schemas/accountObj'
deliveryTrackingSettings:
$ref: '#/components/schemas/deliveryTrackingSettingsObj_getCurrentUserInfo'
hasPrivateEVAccount:
type: boolean
profileEagleViewPurchaseStatus:
type: boolean
deviceTokens:
type: array
items:
type: string
appLogin:
type: boolean
appLastPurchaseDate:
type: string
proPlusLastPurchaseDate:
type: string
lastProPlusMobileAppLogin:
type: string
notificationDisableStatus:
type: boolean
notificationChangeTime:
type: string
currentUserPermission:
$ref: '#/components/schemas/currentUserPermissionObj'
isEVrefreshTokenValid:
type: boolean
loyaltyFlag:
type: boolean
accountsRep:
type: object
properties:
message:
type: string
totalNumRecs:
type: integer
pageNumRecs:
type: integer
accounts:
type: array
items:
$ref: '#/components/schemas/accountWithBranchObj'
branchlistRep:
type: object
properties:
message:
type: string
totalNumRecs:
type: integer
pageNumRecs:
type: integer
branches:
type: array
items:
$ref: '#/components/schemas/branchObj'
jobsRep:
type: object
properties:
message:
type: string
hasJobAccount:
type: boolean
hasJobNumber:
type: boolean
isJobAccountRequired:
type: boolean
poRequired:
type: boolean
showExtendedPO:
type: boolean
extendedPORequired:
type: boolean
jobs:
type: array
items:
$ref: '#/components/schemas/jobObj'
result:
$ref: '#/components/schemas/jobRows'
orderhistoryRep:
type: object
properties:
message:
type: string
orders:
type: array
items:
$ref: '#/components/schemas/orderHistoryObj'
result:
$ref: '#/components/schemas/orderHistoryRows'
orderdetailRep:
type: object
properties:
message:
type: string
order:
$ref: '#/components/schemas/orderHistoryObj'
lineItems:
type: array
items:
$ref: '#/components/schemas/orderHistoryLineItemObj'
DTInfo:
$ref: '#/components/schemas/DTInfoObj'
result:
$ref: '#/components/schemas/orderHistoryRows'
EVReportId:
type: integer
EVEligibleForUpgrade:
type: boolean
hasDTError:
type: boolean
warranties:
type: array
items:
type: object
properties:
itemNumber:
type: string
skuPDPDisplayTitle:
type: string
resource:
type: object
additionalProperties:
type: string
example:
Warranty: 'http://www.xxx.com/download.php,'
documents:
type: array
items:
type: object
properties:
itemNumber:
type: string
skuPDPDisplayTitle:
type: string
categoryName:
type: string
resource:
type: object
additionalProperties:
type: string
example:
General Instructrions: 'http://www.xxx.com/download.php,'
MSDS: 'http://www.xxx.com/download.php,'
Brochure: 'http://www.xxx.com/download.php,'
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/categoryObj'
itemDetailsRep:
type: object
properties:
product:
$ref: '#/components/schemas/productObj_itemDetails'
message:
type: string
specification:
type: object
additionalProperties:
type: string
example:
Shingles_Per_Square: '80,'
Algae_Resistance: '10 years,'
Coverage_Per_Square: '100 sq. ft,'
Bundles_Per_Square: '3,'
Nominal_Size: '12\x36\,'
Net_Free_Vent_Area__NFVA_: 'Vent Area,'
Exposure: '5\,'
Wind_Resistance: 60mph
resource:
type: object
additionalProperties:
type: string
example:
General Instructrions: 'http://www.xxx.com/download.php,'
Warranty: 'http://www.xxx.com/download.php,'
MSDS: 'http://www.xxx.com/download.php,'
Brochure: 'http://www.xxx.com/download.php,'
currentSKU:
$ref: '#/components/schemas/currentSkuObj'
skuList:
type: array
items:
$ref: '#/components/schemas/skuObj'
submitOrderReq:
type: object
properties:
accountId:
type: string
job:
type: object
properties:
jobName:
type: string
jobNumber:
type: string
purchaseOrderNo:
type: string
extendedPO:
type: string
orderStatusCode:
type: string
description: 'Order status: C,K -> Processing, I -> Invoiced, O -> Ready Delivery/Pick up, N -> Pending, P,R -> Delivered'
enum:
- I
- R
- P
- C
- O
- K
- 'N'
apiSiteId:
type: string
description: Api Site Id
# enum:
# # - HVR
# - ALL
lineItems:
type: array
items:
type: object
properties:
itemNumber:
type: string
quantity:
type: integer
unitOfMeasure:
type: string
description:
type: string
lineComments:
type: string
productNumber:
type: string
shipping:
$ref: '#/components/schemas/shippingObj'
payment:
$ref: '#/components/schemas/creditpurchase_req'
sellingBranch:
type: string
specialInstruction:
type: string
checkForAvailability:
type: string
default: 'yes'
pickupDate:
type: string
format: date(yyyy-mm-dd)
pickupTime:
type: string
onHold:
type: boolean
example: false
UUID:
type: string
submitOrderRep:
type: object
properties:
orderId:
type: string
mincronCCMsg:
type: string
creditpurchase_req:
type: object
properties:
cardInfo:
type: object
properties:
ExpMM:
type: string
ExpYY:
type: string
Type:
type: string
FullName:
type: string
encryptionTokenData:
type: object
properties:
LowValueToken:
type: string
addressVerificationData:
type: object
properties:
AVSZIPCode:
type: string
addItemsToOrderReq:
type: object
properties:
addItemCount:
type: integer
description: The total amount of item to add to cart
accountId:
type: string
description: The account id
specialInstructions:
type: string
description: The order special instructions
items:
type: array
items:
$ref: '#/components/schemas/addTocartItem'
shipping:
$ref: '#/components/schemas/shippingObj'
apiSiteId:
type: string
addTocartItem:
type: object
properties:
catalogRefId:
type: string
productId:
type: string
quantity:
type: integer
uom:
type: string
productNumber:
type: string
itemType:
type: string
example: Standard item or Custom Steel
description:
type: string
shippingObj:
type: object
properties:
shippingMethod:
type: string
shippingBranch:
type: string
address:
type: object
properties:
address1:
type: string
address2:
type: string
city:
type: string
postalCode:
type: string
state:
type: string
addItemsToOrderRep:
type: object
properties:
messageInfo:
type: string
example: Add item(s) to cart successful
templatelistRep:
type: object
properties:
message:
type: string
totalNumRecs:
type: integer
pageNumRecs:
type: integer
templates:
type: array
items:
$ref: '#/components/schemas/templateListObj'
templateListObj:
type: object
properties:
templateId:
type: string
templateName:
type: string
jobNumber:
type: string
lastModifiedDate:
type: string
lastModifiedUser:
$ref: '#/components/schemas/profileObj'
accountLegacyId:
type: string
isAccountClosed:
type: boolean
accountName:
type: string
createdByUser:
$ref: '#/components/schemas/profileObj'
templateItems:
type: array
items:
$ref: '#/components/schemas/templateListItemObj'
templateListItemObj:
type: object
properties:
templateItemId:
type: string
productImageUrl:
type: string
productOnErrorImageUrl:
type: string
itemOrProductDescription:
type: string
itemNumber:
type: string
nickName:
type: string
productOrItemNumber:
type: string
internalProductName:
type: string
currentVariation:
$ref: '#/components/schemas/variationTypeObj'
variations:
type: array
items:
$ref: '#/components/schemas/variationTypeObj'
unitPrice:
type: number
format: double
unitOfMeasure:
type: string
quantity:
type: integer
available:
type: boolean
imageUrl:
$ref: '#/components/schemas/imageUrlObj'
imageUrlObj:
type: object
properties:
thumbnail:
type: string
large:
type: string
profileObj:
type: object
properties:
profileId:
type: string
firstName:
type: string
lastName:
type: string
emailAddress:
type: string
variationTypeObj:
type: object
properties:
typeId:
type: string
typeName:
type: string
options:
type: array
items:
$ref: '#/components/schemas/variationOptionObj'
variationOptionObj:
type: object
properties:
optionId:
type: string
optionName:
type: string
opectionChecked:
type: boolean
skuId:
type: string
getProductInfoRep:
type: object
properties:
message:
type: string
hoverAttributes:
$ref: '#/components/schemas/hoverAttributesObj'
accounts:
type: array
items:
type: string
pricingRep:
type: object
properties:
message:
type: string
priceInfo:
type: object
additionalProperties:
type: object
example:
'253729':
BDL: 125.67
PC: 10.86
'253737':
CTN: 3663.22
'253740':
CTN: 2384.34
PC: 834.43
cartItemsRep:
type: object
properties:
cartLineItems:
type: integer
items:
type: array
items:
type: object
properties:
catalogRefId:
type: string
productId:
type: string
quantity:
type: integer
uom:
type: string
unitPrice:
type: integer
format: double
totalPrice:
type: integer
format: double
cartItemsFullRep:
type: object
properties:
atgOrderId:
type: string
lastSelectedJob:
type: object
properties:
jobName:
type: string
jobNumber:
type: string
cartLineItems:
type: integer
items:
type: array
items:
$ref: '#/components/schemas/cartItemList'
lastSelectedAccount:
$ref: '#/components/schemas/accountObjWithRewardsEligible'
getSkuUomRep:
type: object
properties:
skuIdUomList:
type: array
items:
type: string
skuIdsUomList:
type: object
additionalProperties:
type: array
items:
type: string
example:
'253729':
- BDL
- PC
'253733':
- CTN
'253740':
- BDL
- CTN
- PC
DTInfoObj:
type: object
properties:
statusStartDate:
type: string
example: '2018-05-02T08:48:44-04:00'
status:
type: string
lastUpdated:
type: string
example: '2018-05-02T08:48:44-04:00'
timeArrived:
type: string
example: '2018-05-02T08:48:44-04:00'
custPO:
type: string
type:
type: string
destination:
$ref: '#/components/schemas/DTAddressInfoObj'
projectedCompletedDate:
type: string
example: '2018-05-02T08:48:44-04:00'
latestRequestedDelivery:
type: string
example: '2018-05-02T08:48:44-04:00'
photos:
type: array
items:
type: object
properties:
largeUrl:
type: string
thumbnailUrl:
type: string
timestamp:
type: string
example: '2018-08-09T20:53:34'
orderNo:
type: string
projectedArrivalDate:
type: string
example: '2018-05-02T08:48:44-04:00'
parentOrderNo:
type: string
statusDateTimeMessage:
type: string
earliestRequestedDelivery:
type: string
example: '2018-05-02T08:48:44-04:00'
driver:
type: string
lines:
type: array
items:
$ref: '#/components/schemas/DTLineItemObj'
orgin:
$ref: '#/components/schemas/DTAddressInfoObj'
statusEndDate:
type: string
example: '2018-05-02T08:48:44-04:00'
DTAddressInfoObj:
type: object
properties:
postalCode:
type: string
state:
type: string
customerNo:
type: string
branch:
type: string
streetName:
type: string
companyName:
type: string
locationNo:
type: string
country:
type: string
city:
type: string
DTLineItemObj:
type: object
properties:
lineItemNumber:
type: string
skuNumber:
type: string
description:
type: string
quantity:
type: string
quantityUOM:
type: string
cartItemList:
type: object
properties:
itemOrProductDescription:
type: string
catalogRefId:
type: string
productId:
type: string
quantity:
type: integer
uom:
type: string
unitPrice:
type: integer
format: double
totalPrice:
type: integer
format: double
securitySchemes:
JSESSIONID:
type: apiKey
in: cookie
name: JSESSIONID
DYN_USER_ID:
type: apiKey
in: cookie
name: DYN_USER_ID
DYN_USER_CONFIRM:
type: apiKey
in: cookie
name: DYN_USER_CONFIRM
siteId:
type: apiKey
in: cookie
name: siteId
rememberPassword:
type: apiKey
in: cookie
name: rememberPassword
paths:
/login:
post:
security: []
tags:
- My Account Services
summary: User login with username/password
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/loginReq'
responses:
'200':
description: |
Login success
If failed, return messageCode, refer to messageCode doc.
Example
{ "messageCode": "1001", "messageInfo": "Validation exception" }
headers:
Set-Cookie:
description: 'set cookie JSESSIONID, DYN_USER_ID, DYN_USER_CONFIRM, siteId, rememberPassword'
schema:
type: string
example: >-
JSESSIONID=xxxx; Path=/; Secure; HttpOnly, DYN_USER_ID=xxxx;
expires=xxxx; path=/; Secure; HttpOnly, DYN_USER_CONFIRM=xxxx;
expires=xxxx; path=/; Secure; HttpOnly, siteId=homeSite;
expires=xxxx; path=/; Secure; HttpOnly, rememberPassword=xxxx;
expires=xxxx; path=/; Secure; HttpOnly
content:
application/json:
schema:
$ref: '#/components/schemas/loginRep'
'400':
description: 'Bad Request, the request method is not valid'
/logout:
post:
security: []
tags:
- My Account Services
summary: User logout
responses:
'200':
description: |
Logout success
If failed, return messageCode, refer to messageCode doc.
Example
{ "messageCode": "1001", "messageInfo": "Validation exception" }
headers:
Set-Cookie:
description: 'remove cookie JSESSIONID, DYN_USER_ID, DYN_USER_CONFIRM, siteId, rememberPassword'
schema:
type: string
example: >-
JSESSIONID=xxxx; Path=/; Secure; HttpOnly, DYN_USER_ID=xxxx;
expires=xxxx; path=/; Secure; HttpOnly, DYN_USER_CONFIRM=xxxx;
expires=xxxx; path=/; Secure; HttpOnly, rememberPassword=xxxx;
expires=xxxx; path=/; Secure; HttpOnly
content:
application/json:
schema:
type: object
properties:
messageInfo:
type: string
example: Logout successful
'400':
description: 'Bad Request, the request method is not valid'
'401':
description: 'Unauthorized, user do not login'
'500':
description: Internal exception
/getLoginDeclaration:
get:
security: []
tags:
- My Account Services
summary: Get login declaration
parameters:
- in: query
name: siteId
schema:
type: string
description: Default is `homeSite`, should be one of `homeSite`, `dealersChoice`
- in: query
name: persistentLoginType
schema:
type: string
description: Default is `RememberMe`, should be one of `RememberMe`, `RememberPassword`
- in: query
name: userAgent
schema:
type: string
description: Default is `desktop`, should be one of `desktop`, `tablet`, `mobile`
- in: query
name: apiSiteId
schema:
type: string
description: Default is `UAT`
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/getLoginDeclarationRep'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/getCurrentUserInfo:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- My Account Services
summary: Get current user details
description: |
This service returns current user information.
`dtAccount` is the deliveryTrackingSettings of current user with last selected account,
`roleType` is one of "Master Admin","Admin",and "Site User"
`isEVrefreshTokenValid` is one of "true", "false", and "null". If the value is "null", it indicates that the user does not have a private okta token.
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/getCurrentUserInfoRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/accounts:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- My Account Services
summary: List all available accounts for the user
parameters:
- in: query
name: profileId
schema:
type: string
required: true
description: User profile ID
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/accountsRep'
'400':
description: 'Bad Request, profileId does not math logged-in user'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/switchAccount:
post:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- My Account Services
summary: Change user's current account
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
accountId:
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/getCurrentUserInfoRep'
'400':
description: 'Bad Request, the request method is not valid'
'401':
description: 'Unauthorized, user do not login'
'500':
description: Internal exception
/branchlist:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Branch Services
summary: List all available branches
parameters:
- in: query
name: zipCode
schema:
type: string
required: false
description: Branch postal code
- in: query
name: city
schema:
type: string
required: false
description: Branch city
- in: query
name: pageSize
schema:
type: integer
required: false
description: Default page size is 21.
- in: query
name: pageNo
schema:
type: integer
required: false
description: 'Default page number is 1, the first page'
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/branchlistRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/jobs:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Job Service
summary: List available jobs for an account and provide the job name and number combination rule.
description: >-
1. This service calls mincron jobs service to retrieve list of jobs for the
account and provide the job name and number combination rule.
2. "isJobAccountRequired" field is outdated in the response payload. Please refer to below combination rule to render the page.
3. Job name,number and job list combination rule:
1). Job Account Drop Down: the option is selected in drop-down will be filled into "jobNumber" field when invoking /submitOrder or /submitQuote endpoint.
2). Job Name Text Field: the value will be filled into "jobName" field when invoking /submitOrder or /submitQuote endpoint.
Condition |
Display Rule |
hasJobAccount |
hasJobNumber |
hasJobs |
Job Account Drop Down |
Job Name Text Field |
| Y/N |
Y |
Y |
Show Job Account Drop Down, option values are retrieved from jobs array in the response payload. It is a required field |
Hide Job Name Text Field |
| Y |
Y/N |
N |
Hide Job Account Drop Down |
Show Job Name Text Field, customer is able to enter job name freely, and it's required |
| Y |
N |
Y |
Show Job Account Drop Down, but it is optional |
Show Job Name Text Field, and it is required. Customer is able to enter job name freely, or choose an option from job account drop down, but job name text field will be auto filled once job account selected |
| N |
N |
Y |
Show Job Account Drop Down, but it is optional |
Show Job Name Text Field, and it is optional. Customer is able to enter job name freely, or choose an option from job account drop down, but job name text field will be auto filled once job account selected |
| N |
Y/N |
N |
Hide Job Account Drop Down |
Show Job Name Text Field, but it is optional |
### PONumber and ExtendedPO Rule:
1. The [shownExtendedPO, extendedPORequired, poRequired] fields can be obtained from '/jobs', '/getCurrentOrderReview'.
2. If shownExtendedPO is Yes, only the extended PO needs to be displayed, and extendedPORequired is used to verify whether the extended PO is Required.
3. If shownExtendedPO is NO, only the regular PO needs to be displayed, and poRequired is used to verify whether the regular PO is Required.
|
Required |
|
shownExtendedPO |
extendedPORequired |
poRequired |
Display Rule |
| Y |
Y |
/ |
Only show Extended PO Text Field, and it is required. |
| Y |
N |
/ |
Only show Extended PO Text Field, but it is optional. |
| N |
/ |
Y |
Only show PO Text Field, and it is required. |
| N |
/ |
N |
Only show PO Text Field, but it is optional. |
parameters:
- in: query
name: accountId
schema:
type: string
required: true
description: Account ID
- in: query
name: pageSize
description: Default page size is 100
schema:
type: integer
- in: query
name: pageNo
description: Default page no is 1
schema:
type: integer
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/jobsRep'
'400':
description: 'Bad Request, accountId is invalid'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/orderhistory:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Order History Services
summary: List all the orders in the account
description: ''
parameters:
- in: query
name: accountId
description: Account ID
required: true
schema:
type: integer
- in: query
name: pageSize
description: Default page size is 0
schema:
type: integer
- in: query
name: pageNo
description: Default page no is 0
schema:
type: integer
- in: query
name: filter
description: >
As one of below
UPPER(OrderNumber) like UPPER('%XX%')
UPPER(PurchaseOrderNumber) like UPPER('%XX%') or UPPER(ExtendedCustomerPO) like UPPER('%XX%')
UPPER(JobName) like UPPER('%XX%')
UPPER(AtgUUID) like UPPER('%XX%')
UPPER(Ordered) > 'YYYY-MM-DD' and UPPER(Ordered) <
'YYYY-MM-DD'
UPPER(OrderStatusCode) in ('C','K')
UPPER(OrderStatusCode) in ('I')
UPPER(OrderStatusCode) in ('O')
UPPER(OrderStatusCode) in ('N')
UPPER(OrderStatusCode) in ('P','R')
'Order status: code mapping: Processing(C,K), Invoiced(I), Ready
Delivery/Pick up(O), Pending(N), Delivered(P,R)'
UPPER(PaymentStatus) like UPPER('Fully Paid')
UPPER(PaymentStatus) like UPPER('Partially Paid')
UPPER(PaymentStatus) like UPPER('Unpaid')
schema:
type: string
- in: query
name: orderBy
description: |
As one of below
OrderNumber ASC/DESC
ShippingAddress1 ASC/DESC
Total ASC/DESC
OrderStatusCode ASC/DESC
schema:
type: string
- in: query
name: queryCompany
description: Default queryCompany is true
schema:
type: boolean
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/orderhistoryRep'
'400':
description: 'Bad Request, accountId is invalid'
'401':
description: 'Unauthorized, user do not login'
'403':
description: 'Forbidden, user do not has permission to access this API'
'500':
description: Internal exception
/orderdetail:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Order History Services
summary: Get details of the order by Id
description: >-
This service will calls mincron order detail service and return order
data from mincron.
For eagleView order, specialInstruction field in response will be replaced with report address.
parameters:
- in: query
name: orderId
description: Order ID
required: true
schema:
type: string
- in: query
name: accountId
description: Account ID
required: true
schema:
type: string
- in: query
name: showDT
description: flag to show/hide DT order status info, default is true.
schema:
type: string
- in: query
name: queryCompany
description: Default queryCompany is true
schema:
type: boolean
responses:
'200':
description: |
successful operation
If failed, return messageCode, refer to *API Response Message Code*
content:
application/json:
schema:
$ref: '#/components/schemas/orderdetailRep'
'400':
description: 'Bad Request, accountId is invalid'
'401':
description: 'Unauthorized, user do not login'
'403':
description: 'Forbidden, user do not has permission to access this API'
'500':
description: Internal exception
/itemlist:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
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
required: true
schema:
type: string
- in: query
name: pageSize
description: Default page size is 21. Max Page Size can be configured in BCC, maxPageSize default value is 30.
If pageSize exceeds maxPageSize, the amount of maxPageSize items return.
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: 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
- 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
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'
'400':
description: 'Bad Request, accountId is invalid'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/items:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Catalog ITEM Services
summary: Get items details
description: This service returns product details based on Product or item Id.
parameters:
- in: query
name: productId
schema:
type: string
description: Product ID
- in: query
name: itemNumber
schema:
type: string
description: Item number(SKU ID)
- in: query
name: accountId
description: Account ID
schema:
type: string
- in: query
name: jobNumber
schema:
type: string
description: Job Number
- in: query
name: uom
schema:
type: string
description: Unit of Measure
- in: query
name: showHoverAttrs
description: 'if "true", display hover attributes'
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/itemDetailsRep'
'400':
description: 'Bad Request, accountId is invalid'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/getProductInfo:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Catalog ITEM Services
summary: Get product and related accounts info
description: |
Returns:
* hoverAttributes: each Hover attribute and its value.
* accounts: accounts ids array where product is available
parameters:
- in: query
name: productId
required: true
schema:
type: string
description: Product ID
- in: query
name: accountInfo
schema:
type: string
description: >-
If true, return all accounts as a list for which the product should
be served (accounts that have the product as available). Default is
false
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/getProductInfoRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/getSkuUom:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Catalog ITEM Services
summary: Get all the Unit of Measure (UoM) for a given sku ids
description: 'If given skuId(s) is not empty, will return skuIdUomList'
parameters:
- in: query
name: skuId
schema:
type: string
description: Single SKU ID
- in: query
name: skuIds
schema:
type: string
description: |
Multiple SKU ID list long string, seperated by commas
e.g. "253729,253737,253740"
responses:
'200':
description: |
successful operation
If failed, return messageCode, refer to messageCode doc.
Example
{ "messageCode": "1001", "message": "Validation exception" }
`253729, 253733 etc are sku id.`
`BDL, PC etc are uom of sku.`
content:
application/json:
schema:
$ref: '#/components/schemas/getSkuUomRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/pricing:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Catalog ITEM Services
summary: Get price and Unit of Measures (UoMs) for multiple line items
description: |
Returns price and unit of measure for each line item
If some of the UoM is empty, will return "EMPTY_UOM" in response
e.g.
"priceInfo": {
"253729": {
"EMPTY_UOM": 125.67
}
}
parameters:
- in: query
name: skuIds
required: true
schema:
type: string
description: >
SKU ID list long string, seperated by commas
e.g. "253729,253737,253740"
If query with UOM(optional), should add UOM after each sku id and
seperated by colon
e.g. "253729:BDL,253737,253740:PC"
If UOM is empty, will get price of all UOMs for this SKU
- in: query
name: accountId
description: Account ID
schema:
type: string
- in: query
name: jobNumber
schema:
type: string
description: Job Number
responses:
'200':
description: |
successful operation
If failed, return messageCode, refer to messageCode doc.
Example
{ "messageCode": "1001", "message": "Validation exception" }
`253729, 253737 etc. are sku id`
`BDL, PC etc. are uom of sku`
`$125.67/BDL is for sku 253729.`
`$10.86/PC is for sku 253729.`
content:
application/json:
schema:
$ref: '#/components/schemas/pricingRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/cartItems:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Catalog ITEM Services
summary: Get items in the cart
description: >
Return existing items in the cart for the user profile and selected
account
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/cartItemsFullRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/submitOrder:
post:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Submit Order Services
summary: Submit order
description: >
This service is used to submit order.
#### Request Body Validation
* apiSiteId: String, Required
* accountId: String, Max Length:6, Required
* job.jobName: String, Max Length:15
* job.jobNumber: String, Max Length:7
* purchaseOrderNo: String, Max Length:22
* extendedPO: String, Max Length:50
* shipping.shippingMethod: String, Max Length:1
* shipping.shippingBranch: String, Max Length:4
* shipping.address.address1: String, Max Length:30
* shipping.address.address2: String, Max Length:30
* shipping.address.city: String, Max Length:25
* shipping.address.postalCode: String, Max Length:10
* shipping.address.state: String, Max Length:2
* payment.cardInfo.ExpMM: String, The month is a positive integer less than 12, Required
* payment.cardInfo.ExpYY: String, Year is 2 digits, Required
* payment.cardInfo.Type: String, Required
* payment.cardInfo.FullName: String, Optional
* payment.encryptionTokenData.LowValueToken: String, Required
* payment.addressVerificationData.AVSZIPCode: String, format is xxxxx or xxxxx-xxxx, Required
* sellingBranch: String, Max Length:4
* specialInstruction: String, Max Length:234
* lineItems: Required
* lineItems.itemNumber: String, Max Length:6
* lineItems.quantity: Integer, Max Length:10, Required
* lineItems.unitOfMeasure: String, Max Length:3
* lineItems.description: String, Max Length:128
* lineItems.lineComments: String, Max Length:2048
* lineItems.productNumber: String, Max Length:40
* pickupDate: String, Format: yyyy-mm-dd
* pickupTime: String, Recommended values: ["Morning", "Afternoon",
"Anytime", "Special Request"]
* UUID: String, Max Length:100
If "checkForAvailability" is "no", will not check availability of
lineItems, otherwise will do check availability of lineItems
"Payment" is optional. If payment is passed in the parameter, payWithCredit defaults to true, and the credit card process is carried out and verified.
If payment is not passed in the parameter, the pay with cash process is carried out.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/submitOrderReq'
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/submitOrderRep'
'401':
description: 'Unauthorized, user do not login'
'403':
description: 'Forbidden, user do not has permission to access this API'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception
/addMultipleItemsToOrder:
post:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Add Multiple Items To Order
summary: Add item(s) to cart
description: |
This service is able to add item(s) to cart.
itemType can be set Standard item or Custom Steel,if no itemType inputed, default value is Standard item,if itemType = Custom Steel, should input description.
parameters:
- in: query
name: reverseItems
description: >-
if "true", will adding items to the cart in reverse order, default
is "true"
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/addItemsToOrderReq'
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/addItemsToOrderRep'
'400':
description: 'Bad Request, the request method is not valid'
'401':
description: 'Unauthorized, user do not login'
'500':
description: Internal exception
/template:
get:
security:
- JSESSIONID: []
DYN_USER_ID: []
DYN_USER_CONFIRM: []
siteId: []
rememberPassword: []
tags:
- Template Services
summary: List all templates and details for the current user
description: >-
This service is able to list all templates and the details for the
current user
parameters:
- in: query
name: account
required: false
description: 'If not empty, will filter results by given account id.'
schema:
type: string
- in: query
name: showItems
required: false
description: 'Default is false, if "true", display template items.'
schema:
type: string
- in: query
name: showItemCurrentVariation
required: false
description: >-
Default is false, if "true", display current variation of each
template item.
schema:
type: string
- in: query
name: showItemVariations
required: false
description: >-
Default is false, if "true", display variations of each template
item
schema:
type: string
- in: query
name: showPricing
description: 'Default is false, if "true", display pricing of each template item.'
schema:
type: string
- in: query
name: showItemAvailable
description: >-
Default is true, if "false", do not display item regional
availability.
schema:
type: string
- in: query
name: pageSize
description: 'Default is 10, max 100 - record count of each page.'
schema:
type: integer
format: int32
- in: query
name: pageNo
description: 'Default is 1, the first page, page number or page index.'
schema:
type: integer
format: int32
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/templatelistRep'
'401':
description: 'Unauthorized, user do not login'
'405':
description: 'Method not allowed, the request method is not valid for this API or this API is not available.'
'500':
description: Internal exception