Editar

Compartir a través de


Establish a connection from a CLM system to Supply Chain Management (preview)

[This article is prerelease documentation and is subject to change.]

This article explains how a third-party contract lifecycle management (CLM) provider can simplify the process of establishing connections by efficiently configuring the contract management parameters in Microsoft Dynamics 365 Supply Chain Management and initiating the connection. The process can be initiated from the CLM system. It seamlessly transfers all the required configuration settings to the Supply Chain Management system.

Most of the code examples in this article show how to fetch configuration information. However, a CLM provider can also use the same APIs to post configuration settings. Therefore, the provider can remotely configure the connection for their Supply Chain Management customers.

Access the data integration APIs

Learn which data integration APIs are available in Data integration APIs. There, you can also learn how to enable change tracking, and how to authenticate with Supply Chain Management so that your CLM system can access the data entities that are described in this article.

Available data entities

To streamline the connection process, Supply Chain Management offers built-in data entities that enable external CLM systems to automatically configure parameters and establish the connection. The following table describes the available data entities.

Entity Target entity Public name (OData) Purpose Direction
CLM integration service instance CLMIntegrationServiceInstanceEntity CLMIntegrationServiceInstances Set up contract management parameters. CLM → Supply Chain Management
CLM integration external navigation links CLMIntegrationExternalNavigationLinkEntity CLMIntegrationExternalNavigationLinks Set up external navigation links. CLM → Supply Chain Management
CLM integration external navigation link key-value pairs CLMIntegrationExternalNavigationLinkKeyValueEntity CLMIntegrationExternalNavigationLinkKeyValues Set up query strings for external navigation links. CLM → Supply Chain Management

The following illustration shows the integration.

Diagram that shows the integration.

Important

Your CLM system must update the relevant status fields in the CLM integration service instance entity so that they reflect the Connection status indicator.

CLM integration service instance entity

The CLM integration service instance entity provides information about the instance of the CLM integration service that contains contract management parameters.

Physical name Property Type Description
ID (entity key) ID Int The parameter key. The value should always be set to 0.
InstanceName Connection name String The connection name.
BaseURL Base URL String The base URL.
ExternalNavigationBaseURL External navigation base URL String The external navigation base URL.

The following example shows a request query for the CLM integration service instance entity.

GET https://[baseURI]/data/CLMIntegrationServiceInstances

The following example shows a response to the preceding query.

{
    "ID": 0,
    "InstanceName": "CLM instance",
    "BaseURL": "https://clm-instance.com",
    "ExternalNavigationBaseURL": "https://clm-instance.com"
}

The CLM integration external navigation links entity provides information about external navigation links.

Physical name Property Type Description
ServiceInstanceName Connection name String The instance name.
NavigationType (entity key) Navigation type Enum The navigation type. The possible values are ViewContract, EditContract, NewContract, NewContractFromPurchAgreement, and AmendContract.
NavigationName Navigation name String The navigation name.
RelativeURL Relative URL String The relative URL.
Action Action Enum The action that is performed. The possible values are OpenInNewTab and OpenInExistingTab.

The following example shows a request query for the CLM integration external navigation links entity.

GET https://[baseURI]/data/CLMIntegrationExternalNavigationLinks

The following example shows a response to the preceding query.

{
    "ServiceInstanceName": "CLM instance",
    "NavigationType": "ViewContract",
    "NavigationName": "View contract",
    "RelativeURL": "/view",
    "Action": "OpenInNewTab"
}

The CLM integration external navigation link key-value pairs entity provides information about the key-value pairs for external navigation links.

Physical name Property Type Description
NavigationType (entity key) Navigation type Enum The navigation type. The possible values are ViewContract, EditContract, NewContract, NewContractFromPurchAgreement, and AmendContract.
KeyValueType (entity key) Key-value type Enum The key-value type. QueryString is the only allowed value. (The other possible value, Header, isn't supported.)
Key (entity key) Key String The key.
Value Value String The value.

The following example shows a request query for the CLM integration external navigation link key-value pairs entity.

GET https://[baseURI]/data/CLMIntegrationExternalNavigationLinkKeyValues

The following example shows a response to the preceding query.

{
    "NavigationType": "ViewContract",
    "KeyValueType": "QueryString",
    "Key": "id",
    "Value": "%CLMIntegrationContractTable.ExternalContractId%"
}

Update the connection status

To clearly reflect the connection status, the CLM system must use the CLM integration external navigation links entity to update the following two statuses:

  • CLMIntegrationServiceInstanceEntity.EstablishmentStatus – This status indicates whether a connection was established, so that the external CLM system can communicate with Supply Chain Management. The following values are used to report the connection status:

    • NotStarted – Establishment of a connection hasn't yet begun.
    • Success – A connection was successfully established.
    • Error – Establishment of a connection failed.
  • CLMIntegrationServiceInstanceEntity.ConfigurationStatus – This status indicates whether external navigation links were configured. The following values are used to report the configuration status:

    • NotStarted – Configuration of external navigation links hasn't yet begun.
    • Success – External navigation links were successfully configured.
    • Error – Configuration of external navigation links failed.

Administrators can read status information on the Contract management parameters page in Supply Chain Management. Learn more in Enable and configure CLM integration.

The following example shows a request query to update the status on the CLM integration service instance entity.

PATCH https://[baseURI]/data/CLMIntegrationServiceInstances(ID=0)
{
    "EstablishmentStatus": "Success",
    "ConfigurationStatus": "Error"
}