Propel Software (Propel PLM) change API
The change API from Propel Software (Propel PLM) — 3 operation(s) for change.
The change API from Propel Software (Propel PLM) — 3 operation(s) for change.
openapi: 3.0.0
info:
version: '3.0'
title: Get Bom Assembly change API
license:
name: MIT
servers:
- url: https://{endpoint}/services/apexrest/{namespace}/v2
variables:
endpoint:
description: This is the Salesforce instance url. It is the URL when using Salesforce Classic, i.e. propel.my.salesforce.com
namespace:
default: PDLM
description: This value should default to PDLM for production environments. For dev environments, provide the namespace to your dev org.
tags:
- name: change
paths:
/change/{changeId}:
put:
summary: Update Change Order
description: Update existing change order to add/remove a list of affected items and update change detail fields
operationId: changePut
tags:
- change
parameters:
- name: changeId
in: path
description: Change Id or Change Number
required: true
schema:
type: string
format: string
- name: forceAdd
in: query
description: Force add any affected items that are currently on an existing change, by removing them from the previous change prior to adding.
required: false
schema:
type: boolean
format: boolean
default: false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeBody'
responses:
'200':
description: Updated change order
content:
application/json:
schema:
$ref: '#/components/schemas/Change'
get:
summary: Change (Release Package)
description: Get a change order's details along with related information such as Affected Items, Bills of Materials, Approved Manufacturers Lists, and Attachments. This endpoint is useful for integrations with downstream systems such as ERP.
operationId: getChangeOrder
tags:
- change
parameters:
- name: changeId
in: path
description: Change Id Or Change Number
required: true
schema:
type: string
format: string
- name: affectedItems
in: query
description: Include affected items including details fields and costing information.
required: false
schema:
type: boolean
format: boolean
default: false
- name: bom
in: query
description: Include the BOM for each affected item in the payload, only includes the first level. affectedItems parameter must be true.
required: false
schema:
type: boolean
format: boolean
default: false
- name: amls
in: query
description: Include AMLs for each affected item in the payload. affectedItems parameter must be true.
required: false
schema:
type: boolean
format: boolean
default: false
- name: attachments
in: query
description: Include information about Change attachments. If affectedItems is true, Item attachments will also be included.
required: false
schema:
type: boolean
format: boolean
default: false
- name: useXMLexportFieldset
in: query
description: Use the XML Export field set to determine which fields will be returned in the response. Default is false to return all fields.
required: false
schema:
type: boolean
format: boolean
default: false
- name: limit
in: query
description: Used to limit the number of affected items included in the response
required: false
schema:
type: integer
format: integer
default: 0
- name: page
in: query
description: Page number to provide if number of affected items exceeds limit provided or Propel limit of 1000
required: false
schema:
type: integer
format: integer
default: 0
responses:
'200':
description: Change Order details fields. Optionally includes Affected Item, BOM, and AML data for downstream system integrations.
content:
application/json:
schema:
$ref: '#/components/schemas/ReleasePackage'
'404':
description: Change Order not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/change:
post:
operationId: createChange
summary: Create Change
tags:
- change
security:
- salesforceOAuth: []
requestBody:
required: true
content:
application/json:
example:
categoryName: ECO
itemNames:
- 100-00030
responses:
'200':
description: Success
'400':
description: Bad request — invalid payload or field
'401':
description: Unauthorized — missing or invalid OAuth bearer token
'404':
description: Not found — the requested record does not exist
'500':
description: Salesforce Apex REST internal error
/change/{itemNumber}:
get:
operationId: getChangeOrder
summary: Get Change (Release Package)
tags:
- change
security:
- salesforceOAuth: []
parameters:
- name: itemNumber
in: path
required: true
schema:
type: string
description: Item Number or record Id
responses:
'200':
description: Success
'400':
description: Bad request — invalid payload or field
'401':
description: Unauthorized — missing or invalid OAuth bearer token
'404':
description: Not found — the requested record does not exist
'500':
description: Salesforce Apex REST internal error
components:
schemas:
Assembly:
type: object
description: Assembly row represented in a BOM.
required:
- id
- name
- level
properties:
Id:
type: string
description: Id of the child Item record
PDLM__Item_Number__c:
type: string
description: Name of the child Item record
PDLM__Level__c:
type: string
description: BOM level of assembly row. In the format of 1, 1.1, 2, 2.1, 2.2, 2.2.1
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Assembly__c object.
Document:
type: object
description: Document records attached to items
required:
- id
properties:
id:
type: string
description: Id of the Attachment (Document__c) record
name:
type: string
description: Name of the attachment
PDLM__Document_Version__c:
type: string
description: The latest content version ID associated with the attachment. This contains the files latest base64 encoded content.
PDLM__External_Attachment_URL__c:
type: string
description: URL of the attachment if applicable.
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Document__c object.
AffectedItem:
type: object
required:
- id
- name
properties:
Id:
type: string
description: Id of the associated Item Revision record
Name:
type: string
description: Name of the item record associated to the affected item
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Affected_Item__c object.
AffectedItem_2:
type: object
required:
- id
- name
properties:
Id:
type: string
description: Id of the associated Item Revision record
Name:
type: string
description: Name of the item record associated to the affected item
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Change__c object.
bom:
type: array
items:
$ref: '#/components/schemas/Assembly'
aml:
type: array
items:
$ref: '#/components/schemas/Manufacturer'
attachments:
type: array
items:
$ref: '#/components/schemas/Document'
ChangeBody:
type: object
properties:
addAffectedItems:
type: array
items:
type: string
format: string
removeAffectedItems:
type: array
items:
type: string
format: string
details:
type: object
properties:
PDLM__Description__c:
type: string
format: string
Custom_Field__c:
type: string
format: string
Attachment:
type: object
description: Attachments added to change, quality or AML records
required:
- id
properties:
Id:
type: string
description: The content version ID associated with the file. This contains the file's latest base64 encoded content.
ContentDocumentId:
type: string
description: Id of the Attachment (ContentDocument record)
ContentSize:
type: number
description: Size of the file
IsLatest:
type: boolean
description: Size of the file
Title:
type: string
description: Name of the file
VersionNumber:
type: number
description: The version number associated with the file
ReleasePackage:
type: object
required:
- id
- name
properties:
Id:
type: integer
format: int64
Name:
type: string
affectedItems:
type: array
items:
$ref: '#/components/schemas/AffectedItem_2'
attachments:
type: array
items:
$ref: '#/components/schemas/Attachment'
next:
type: string
description: URL to retrieve the next page of affected items associated to this release package. Will only be provided if number of affected items exceeds provided limit or Propel limit of 1000
Manufacturer:
type: object
description: Manufacturer Part representing AML rows
required:
- id
properties:
Id:
type: string
description: Id of the Manufacturer Part record
Name:
type: string
description: Name of the Manufacturer Part record
PDLM__Manufacturer__c:
type: string
description: Id of the Account record representing the manufacturer
PDLM__Manufacturer_Name__c:
type: string
PDLM__Primary_Key__c:
type: string
description: Primary key unique identifier for the Manufacturer Part record
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Manufacturer_Part__c object.
attachments:
type: array
items:
$ref: '#/components/schemas/Attachment'
Error:
type: object
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string
Change:
type: object
required:
- Id
- Name
properties:
Id:
type: integer
format: int64
Name:
type: string
Custom_Field__c:
type: string
description: Placeholder for any custom fields an org may have on the Change__c object.
affectedItems:
type: array
items:
$ref: '#/components/schemas/AffectedItem'