1. Overview

Microservice containing the business logic for bom management

1.1. URI scheme

Host : localhost
BasePath : /

1.2. Tags

  • bom-family-controller : Bom Family Controller

  • bom-formulation-controller : Bom Formulation Controller

  • product-controller : Product Controller

  • user-settings-controller : User Settings Controller

2. Resources

2.1. Bom-family-controller

Bom Family Controller

2.1.1. Add New BOM Family

POST /bom/bomFamilies
Parameters
Type Name Description Schema

Body

bomFamily
required

bomFamily

BomFamilyCreateInfo

Responses
HTTP Code Description Schema

201

Created.

BomFamilyInfo

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Consumes
  • application/json

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.1.2. Get BOM Families

GET /bom/bomFamilies
Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.1.3. Add New Master Bill Of Material

POST /bom/bomMasters
Parameters
Type Name Description Schema

Body

bomMaster
required

bomMaster

BomMasterRequest

Responses
HTTP Code Description Schema

200

OK

object

201

Created.

BomMasterResponse

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Consumes
  • application/json

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.1.4. Get BOM Masters

GET /bom/bomMasters
Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.1.5. Get BOM Master by id

GET /bom/bomMasters/{id}
Parameters
Type Name Description Schema

Path

id
required

id

integer (int32)

Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2. Bom-formulation-controller

Bom Formulation Controller

2.2.1. Create BOM Formulation

POST /bomFormulations
Parameters
Type Name Description Schema

Body

bomFormulationRequest
required

bomFormulationRequest

BomFormulationForCreate

Responses
HTTP Code Description Schema

201

Created

object

400

Bad Request

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

503

Service unavailable

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.2. Get All BOM formulations

GET /bomFormulations
Parameters
Type Name Description Schema Default

Query

bomFormulationDescription
optional

bomFormulationDescription to get a list of BOM formulation details.

string

Query

page
optional

Results page you want to retrieve (0..N)

integer (int32)

Query

productId
optional

productID to get a list of BOM formulation details.

integer (int64)

Query

size
optional

Number of records per page.

integer (int32)

20

Responses
HTTP Code Description Schema

200

OK

BomFormulationInfoResults

401

Unauthorized

No Content

503

Service Unavailable

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.3. Update BOM Formulation

PUT /bomFormulations
Parameters
Type Name Description Schema

Body

bomFormulationUpdateRequest
required

bomFormulationUpdateRequest

BomFormulationForUpdate

Responses
HTTP Code Description Schema

200

Success

object

400

Bad Request

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

503

Service unavailable

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.4. Get BOM formulation by Id

GET /bomFormulations/{formulationId}
Parameters
Type Name Description Schema

Path

formulationId
required

formulation id to get a BOM formulation

integer (int64)

Responses
HTTP Code Description Schema

200

OK

BomFormulationInfo

401

Unauthorized

No Content

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

503

Service Unavailable

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.5. Create BOM Formulation Items

POST /bomFormulations/{formulationId}/items
Parameters
Type Name Description Schema

Path

formulationId
required

formulationId

integer (int64)

Body

bomFormulationItems
required

bomFormulationItems

< BomFormulationItemForCreate > array

Responses
HTTP Code Description Schema

201

Created

object

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.6. Get BOM items by BOM formulationId

GET /bomFormulations/{formulationId}/items
Parameters
Type Name Description Schema

Path

formulationId
required

formulationId to get a list of BOM items

integer (int64)

Responses
HTTP Code Description Schema

200

OK

object

401

Unauthorized

No Content

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

503

Service Unavailable

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.7. Update BOM Formulation Items

PUT /bomFormulations/{formulationId}/items
Parameters
Type Name Description Schema

Path

formulationId
required

formulationId

integer (int64)

Body

bomFormulationItemsForUpdate
required

bomFormulationItemsForUpdate

< BomFormulationItemForUpdate > array

Responses
HTTP Code Description Schema

200

Success

object

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.8. Delete BOM Formulation Items

DELETE /bomFormulations/{formulationId}/items
Parameters
Type Name Description Schema

Path

formulationId
required

formulationId

integer (int64)

Query

formulationItemIds
required

formulationItemIds

string

Responses
HTTP Code Description Schema

204

No Content

object

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.2.9. Create/Update/Delete BOM Formulation Items

PUT /bomFormulations/{formulationId}/items/save
Parameters
Type Name Description Schema

Path

formulationId
required

formulationId

integer (int64)

Body

bomFormulationItemsForSave
required

bomFormulationItemsForSave

BomFormulationItemsForSave

Responses
HTTP Code Description Schema

200

Success

object

401

Unauthorized

HttpErrorResponse

404

Not Found

HttpErrorResponse

500

Internal Server error

HttpErrorResponse

Consumes
  • application/json

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.3. Product-controller

Product Controller

2.3.1. Get all engineering units

GET /engineeringUnits
Parameters
Type Name Description Schema

Query

page
optional

Results page you want to retrieve (0..N)

integer (int32)

Query

size
optional

Number of records per page.

integer (int32)

Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.3.2. Get Products

GET /products
Parameters
Type Name Description Schema

Query

material
optional

material

string

Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.3.3. Get units

GET /units
Responses
HTTP Code Description Schema

200

OK

object

400

Invalid data supplied. See message for details.

HttpErrorResponse

401

Unauthorized

HttpErrorResponse

403

Forbidden

HttpErrorResponse

404

Not Found

HttpErrorResponse

422

Unprocessable Entity

HttpErrorResponse

Produces
  • /

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.4. User-settings-controller

User Settings Controller

2.4.1. Create User settings for the logged in user

POST /v2/settings
Parameters
Type Name Description Schema

Body

userSettingsRequest
optional

User Setting Object

UserSettingRequest

Responses
HTTP Code Description Schema

201

Created

UserSettingResponseResource

204

No Content, Error retrieving created user settings

HttpErrorResponse

400

Invalid data supplied

HttpErrorResponse

401

User Unauthorized

No Content

404

App ID not found in privilege set

HttpErrorResponse

409

Conflict, User Setting already exists. Use a PUT to update

HttpErrorResponse

500

Internal Server Error

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.4.2. Get User settings for the logged in User

GET /v2/settings
Parameters
Type Name Description Schema

Query

appId
required

appId

integer (int32)

Query

viewName
required

viewName

string

Responses
HTTP Code Description Schema

200

OK

UserSettingResponseResource

400

Invalid data supplied

HttpErrorResponse

401

User Unauthorized

No Content

404

Not found, no user setting found for the user

HttpErrorResponse

500

Internal Server Error

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.4.3. Update User settings for the logged in user

PUT /v2/settings
Parameters
Type Name Description Schema

Body

request
optional

User Preference Object

UserSettingRequest

Responses
HTTP Code Description Schema

200

OK

UserSettingResponseResource

400

Invalid data supplied

HttpErrorResponse

401

User Unauthorized

No Content

404

Not Found, There is no saved User settings for the logged in user

HttpErrorResponse

500

Internal Server Error

HttpErrorResponse

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.4.4. Delete User settings for the logged in user

DELETE /v2/settings
Parameters
Type Name Description Schema

Query

appId
required

appId

integer (int32)

Query

viewName
required

viewName

string

Responses
HTTP Code Description Schema

200

OK

object

204

Success

string

400

Invalid data supplied

HttpErrorResponse

401

User Unauthorized

No Content

404

Not Found, User Setting not found

HttpErrorResponse

500

Internal Server Error

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

2.4.5. Get Privilege Sets

GET /v2/settings/apps
Parameters
Type Name Description Schema

Query

appName
optional

appName

string

Responses
HTTP Code Description Schema

200

OK

< PrivilegeSet > array

400

Invalid data supplied

HttpErrorResponse

401

User Unauthorized

No Content

404

Not found, no user setting found for the user

HttpErrorResponse

500

Internal Server Error

HttpErrorResponse

Produces
  • application/json

Security
Type Name Scopes

oauth2

access_token

default

oauth2

client_creds

default

oauth2

resource_owner

default

oauth2

implicit_grant

default

3. Definitions

3.1. BomFamilyCreateInfo

Name Description Schema

description
optional

The BOM family’s description

string

3.2. BomFamilyInfo

Name Description Schema

description
optional

The BOM family’s description

string

id
optional

The unique Id of the BOM family

integer (int64)

3.3. BomFormulationForCreate

Name Description Schema

bomMasterId
optional

Bom formulation Master BOM Id.

integer (int32)

description
optional

BOM Formulation description.

string

effectiveDate
optional

Effective date and time of the formulation.

string (date-time)

expirationDate
optional

Date and time at which the formulation will expire.

string (date-time)

productIds
optional

Associated products with the formulation.

< integer (int64) > array

quantityPrecision
optional

The number of decimal places to which the Quantity will be displayed.

integer (int32)

standardQuantity
optional

Quantity this formulation produces.

number (double)

uom
optional

Units of measure used in Quantity.

integer (int64)

3.4. BomFormulationForUpdate

Name Description Schema

bomMasterId
optional

Bom formulation Master BOM Id.

integer (int32)

description
optional

BOM Formulation description.

string

effectiveDate
optional

Effective date and time of the formulation.

string (date-time)

expirationDate
optional

Date and time at which the formulation will expire.

string (date-time)

id
optional

BOM Formulation id to update.

integer (int64)

productIds
optional

Associated products with the formulation.

< integer (int64) > array

quantityPrecision
optional

The number of decimal places to which the Quantity will be displayed.

integer (int32)

standardQuantity
optional

Quantity this formulation produces.

number (double)

uom
optional

Units of measure used in Quantity.

integer (int64)

3.5. BomFormulationInfo

Name Description Schema

bomFamilyId
optional

integer (int32)

bomMasterId
optional

Bom formulation Master BOM Id.

integer (int32)

createdBy
optional

User that created the formulation

string

createdOn
optional

Date that the formulation was created.

string (date-time)

description
optional

Formulation description of a BOM

string

effectiveDate
optional

Formulation effective date

string (date-time)

expirationDate
optional

Formulation expiration date

string (date-time)

id
optional

BOM Formulation id

integer (int64)

lastModifiedBy
optional

User that last modified the formulation.

string

lastModifiedOn
optional

Date that the formulation was last modified.

string (date-time)

products
optional

< ProductResponse > array

quantityPrecision
optional

Quantity Precision

integer (int32)

standardQuantity
optional

standard quantity

number (double)

uom
optional

Eng unit Id

integer (int64)

uomCode
optional

string

3.6. BomFormulationInfoResult

Name Description Schema

bomMasterId
optional

Bom formulation Master BOM Id.

integer (int32)

createdBy
optional

User that created the formulation

string

createdOn
optional

Date that the formulation was created.

string (date-time)

description
optional

Formulation description of a BOM

string

effectiveDate
optional

Formulation effective date

string (date-time)

expirationDate
optional

Formulation expiration date

string (date-time)

id
optional

BOM Formulation id

integer (int64)

lastModifiedBy
optional

User that last modified the formulation.

string

lastModifiedOn
optional

Date that the formulation was last modified.

string (date-time)

links
optional

< Link > array

productIds
optional

Associated products with the formulation.

< integer (int64) > array

quantityPrecision
optional

Quantity Precision

integer (int32)

standardQuantity
optional

standard quantity

number (double)

uom
optional

Eng unit Id

integer (int64)

3.7. BomFormulationInfoResults

Name Schema

content
optional

< BomFormulationInfoResult > array

links
optional

< Link > array

page
optional

PageMetadata

3.8. BomFormulationItemForCreate

Name Description Schema

alias
optional

bom formulation item alias

string

lowerTolerance
optional

The minimum quantity, measured in the selected engineering units, of the formulation item that must be used in the formulation.

number (double)

lowerTolerancePrecision
optional

The number of decimal places to which the Lower Tolerance will be displayed.

integer (int32)

productId
optional

Product id to add to the formulation.

integer (int64)

quantity
optional

Quantity of selected product used in this formulation.

number (double)

quantityPrecision
optional

The number of decimal places to which the Quantity will be displayed.

integer (int32)

scrapFactor
optional

Percentage of this formulation item that is expected to be lost during production of the formulation. For example, if 100 units of Product XYZ is required with a scrap factor of 1%, then you should have a 101 units on hand when preparing to produce the product.

number (double)

storageUnit
optional

Unit currently storing the selected product.

integer (int64)

uom
optional

Engineering units used to measure Quantity.

integer (int64)

upperTolerance
optional

The maximum quantity, measured in the selected engineering units, of the formulation item that can be used in the formulation.

number (double)

upperTolerancePrecision
optional

The number of decimal places to which the Upper Tolerance will be displayed.

integer (int32)

3.9. BomFormulationItemForUpdate

Name Description Schema

alias
optional

bom formulation item alias

string

id
optional

bom formulation item id to update.

integer (int64)

lowerTolerance
optional

The minimum quantity, measured in the selected engineering units, of the formulation item that must be used in the formulation.

number (double)

lowerTolerancePrecision
optional

The number of decimal places to which the Lower Tolerance will be displayed.

integer (int32)

productId
optional

Product id to add to the formulation.

integer (int64)

quantity
optional

Quantity of selected product used in this formulation.

number (double)

quantityPrecision
optional

The number of decimal places to which the Quantity will be displayed.

integer (int32)

scrapFactor
optional

Percentage of this formulation item that is expected to be lost during production of the formulation. For example, if 100 units of Product XYZ is required with a scrap factor of 1%, then you should have a 101 units on hand when preparing to produce the product.

number (double)

storageUnit
optional

Unit currently storing the selected product.

integer (int64)

uom
optional

Engineering units used to measure Quantity.

integer (int64)

upperTolerance
optional

The maximum quantity, measured in the selected engineering units, of the formulation item that can be used in the formulation.

number (double)

upperTolerancePrecision
optional

The number of decimal places to which the Upper Tolerance will be displayed.

integer (int32)

3.10. BomFormulationItemsForSave

Name Schema

formulationItemsForCreate
optional

< BomFormulationItemForCreate > array

formulationItemsForDelete
optional

< integer (int64) > array

formulationItemsForUpdate
optional

< BomFormulationItemForUpdate > array

3.11. BomMasterRequest

Name Description Schema

description
optional

Description

string

familyId
optional

Family Id

integer (int32)

3.12. BomMasterResponse

Name Description Schema

description
optional

The BOM Master description

string

id
optional

The unique Id of the BOM Master

integer (int64)

3.13. Error

Name Schema

code
optional

string

details
optional

object

3.14. HttpErrorResponse

Name Schema

error
optional

Error

path
optional

string

timestamp
optional

string

Name Description Schema

deprecation
optional

string

href
optional

string

hreflang
optional

string

media
optional

string

name
optional

string

profile
optional

string

rel
optional

string

template
optional

UriTemplate

templated
optional

Example : false

boolean

title
optional

string

type
optional

string

3.16. PageMetadata

Name Schema

number
optional

integer (int64)

size
optional

integer (int64)

totalElements
optional

integer (int64)

totalPages
optional

integer (int64)

3.17. PrivilegeSet

Name Schema

category
optional

string

description
optional

string

displayName
optional

string

icon
optional

string

id
optional

integer (int32)

scope
optional

string

3.18. ProductResponse

Name Schema

productDescription
optional

string

productId
optional

integer (int64)

productName
optional

string

3.19. TemplateVariable

Name Schema

description
optional

string

name
optional

string

type
optional

enum (, ?, &, /, #, *)

3.20. TemplateVariables

Type : object

3.21. UriTemplate

Name Schema

variableNames
optional

< string > array

variables
optional

< TemplateVariable > array

3.22. UserSettingRequest

Name Description Schema

appId
optional

integer (int32)

data
optional

The application specific settings, Eg:- 'App Name' : {'property1' : 'value' , 'property2' : 'value'} }
Example : {
"AppKey1" : {
"property1" : { },
"property2" : { },
"property3" : { }
},
"AppKey2" : {
"property1" : { },
"property2" : { },
"property3" : { }
},
"AppKey3" : {
"property1" : { },
"property2" : { },
"property3" : { }
}
}

object

viewName
optional

string

3.23. UserSettingResponseResource

Name Description Schema

appId
optional

integer (int32)

data
optional

object

defaultSetting
optional

Example : false

boolean

links
optional

< Link > array

viewName
optional

string

4. Security

4.1. access_token

Type : oauth2
Flow : accessCode
Token URL : https://pawin2k19-2/uaa/oauth/authorize
Token URL : https://pawin2k19-2/uaa/oauth/token

Name Description

default

Default oauth2 scope.

4.2. resource_owner

Type : oauth2
Flow : password
Token URL : https://pawin2k19-2/uaa/oauth/token

Name Description

default

Default oauth2 scope.

4.3. implicit_grant

Type : oauth2
Flow : implicit
Token URL : https://pawin2k19-2/uaa/oauth/authorize

Name Description

default

Default oauth2 scope.

4.4. client_creds

Type : oauth2
Flow : application
Token URL : https://pawin2k19-2/uaa/oauth/token

Name Description

default

Default oauth2 scope.