gRPC Interface Description
The Altium 365 Generic PLM Connector expects the service to implement the gRPC endpoint defined in the CustomPLM.proto document. The following is a list of service methods with a brief description:
Endpoint | Parameters | Description |
---|---|---|
TestAccess | Auth | Used to verify that the credentials passed via the Auth parameter allow accessing the PLM service. Implementation of this method shall verify that the provided credentials allow the user to read/introduce changes to the connected PLM Service. This check, by any means, does not act as authorization/authentication of the call incoming from Altium 365. |
ReadTypeIdentifiers | TypeRequest | Part of Metadata service This endpoint shall return IDs of available item types. Examples are 'capacitor', 'resistor' etc. This data will later be used during PLM Integration configuration in Altium 365 as a list of available options for Altium types mapping. |
ReadTypes | TypeIdRequest | Part of Metadata service This endpoint shall return full information about the queried type, including its attributes list and relationship description. |
IsOperationSupported | OperationSupportedRequest | This endpoint is called by Altium 365 to determine the capabilities of the current connector implementation. Depending on the result of this call, different actions can occur during sync/publish operations |
QueryItems | QueryItemsRequest | This endpoint is a simple query service that allows Altium 365 to ask for IDs of items that match the query criteria such as item type/attribute values etc. It does not return the entire items, only their IDs. |
ReadItems | IdRequest | This endpoint shall return a list of items from the PLM service based on the requested item IDs. |
CreateItems | ItemCreateRequest | This endpoint is called by Altium 365 whenever there is a need to create new item entries on the PLM side. It is usually called in chunks of n elements at a time. It is expected that this endpoint will respond with the list of newly created items. |
UpdateItems | ItemUpdateRequest | This endpoint is called by Altium 365 whenever there is a need to update an already existing entry on the PLM service. It is usually called in chunks of n elements at a time. It is expected that this endpoint will respond with the list of newly created items. |
DeleteItems | IdRequest | This endpoint is called by Altium 365 whenever there is a need to remove an already existing entry from the PLM service. |
UploadFile | FileResource | This endpoint allows Altium 365 to upload a file to the connector side. This file is usually required by the relationship of other PLM items. There is currently no limit set for the size of such a file. This endpoint does not require Auth information as it is not intended for the file to be immediately sent to the PLM service. This will most likely happen as soon as the CreateRelationships operation is called. This endpoint can be treated as a staging area for attachments needed by the CreateRelationships operation. |
CreateRelationships | CreateRelationshipsRequest | This endpoint is called by Altium 365 whenever there is a need to create a new relationship for an item. This command passes a relationship table, which is a list of pairs of objects (parent and child) connected with each other with a given relationship type (for example, an Attachment/AffectedItems relationship). |
ReadRelationships | RelationshipRequest | This endpoint allows Altium 365 to get relationships from PLM based on the provided relationshipID and type. |
AdvanceState | AdvanceStateRequest | This endpoint is used to increase the item's lifecycle state to the next default state if the appropriate operation is marked as supported using the IsOperationSupported endpoint. |