Concur documentation:
- API reference on retirement date and migration
- List v3 & List item v3 (deprecated)
- List v4 & List item v4
SAP Concur has deprecated the List v3 API and List item v3 API, replacing them with List v4 and List item v4. If you have existing integrations with Concur, it's important to review your flows to ensure they do not call the endpoints scheduled for retirement.
This article explains how to find deprecated endpoints and replace them with the new endpoints.
Endpoint replacement
The following table lists the endpoints scheduled for retirement in the near future:
Deprecated endpoint | Replacement endpoint |
Get All Lists – v3 | Get All Lists – v4 |
Get a Single List by ID | Get a List by List ID |
Create a New List – v3 | Create a New List – v4 |
Retrieve All List Items Based on the Search Criteria |
Retrieve First-level Children Items of a List |
Retrieve a List Item by ID – v3 | Retrieve a List Item by ID – v4 |
Create a New List Item | Create a List Item |
Update a List Item – v3 | Update a List Item – v4 |
Delete a List Item – v3 | Delete a List Item – v4 |
Updating a custom (DIY) flow
Follow the steps below to convert your existing flow configurations from deprecated to replacement operations.
Tip: If your Concur integration was based on a Celigo Quickstart integration template, you might find it simpler to reinstall the template, since the latest versions already include the List v4 and List item v4 API calls. Then, apply the corresponding changes that you’ve made to the flows for your business logic, as described in Refreshing an integration based on an SAP Concur template, below.
A. Find deprecated endpoints in existing flows
- In integrator.io, navigate to Connections.
- Search for Concur Expense or Concur Invoice.
- In your first matching Concur connection, from the Actions overflow (...) menu, select Used by. A list of all items that use this connection appears.
- Right-click the first flow step in the list and select your browser’s option to open it in a new tab.
- Review the configuration for any of the deprecated endpoints listed in the table below:
API | Operation |
Common : Lists v3 (deprecated) [Export] |
Gets all lists (deprecated), Gets a single list by ID (deprecated) |
Common : List Item v3 (deprecated) [Export] |
Retrieve all list items based on the search criteria (deprecated), Retrieve a list item by ID (deprecated) |
Common: Lists v3 (deprecated) [Import] |
Create a list (deprecated) |
Common : List Item v3 (deprecated) [Import] |
Create a list item (deprecated), Update a list item (deprecated), Create or Update List Item (deprecated), Delete a list item (deprecated) |
When you encounter a deprecated endpoint, first copy the path parameter and search parameter values to a reference document to back them up when replacing the endpoints, following the instructions in the next section.
Examples of parameter replacement
B. Update flows to use replacement endpoints
For each export and import that is using a Deprecated API, find its corresponding Replacement API in the chart below, and select the new API name and operation.
Deprecated | Replacement | ||
API | Operation | API | Operation |
Common : Lists v3 [Export] |
Gets all lists | Common : Lists v4 | Get All Lists |
Common : Lists v3 [Export] |
Gets a single list by ID | Common : Lists v4 | Get a List by List ID |
Common: Lists v3 [Import] |
Create a list | Common : Lists v4 | Create a list |
Common : List Item v3 [Export] | Retrieve all list items based on the search criteria | Common : List Items v4 | Retrieve First Level Children Items of a List |
Common : List Item v3 [Export] |
Retrieve a list item by ID | Common : List Items v4 | Retrieve a List Item by ID |
Common : List Item v3 [Import] |
Create a list item | Common : List Items v4 | Create a List Item |
Common : List Item v3 [Import] |
Update a list item | Common : List Items v4 | Update a List Item |
Common : List Item v3 [Import] |
Create or Update List Item | Common : List Items v4 | Create or Update List Item |
Common : List Item v3 [Import] |
Delete a list item | Common : List Items v4 | Delete a list item |
For example, if the existing export is configured as follows:
- API name: Common : Lists v3 (Deprecated)
- Operation: Gets a single list by ID
Then, convert it according to the table, as follows, and as shown in the images below:
- API name: Common : Lists v4
- Operation: Get a List by List ID
and click to launch the search parameters
C. Add transformation rules
The responses from the Concur deprecated and replacement list endpoints are different, as demonstrated below:
As shown above, the deprecated endpoint contains the field ID, while the response of the new endpoint has id. Also, the path Items.ID is now content.id.
The new fields will affect the source record values in all of the affected flows’ import mapping. The easiest way to maintain the mapping is to add transformation rules in the export. After converting the new response data format to the old one, the mapping should work correctly.
Example response formats
Get all lists, deprecated operation response format:
{ "Items": { "ConnectorID": "5678900011", "DisplayCodeFirst": true, "ExternalThreshold": 0, "ID": "a80a5070-3951-4316-886a-a60ab790f06b", "IsVendorList": true, "Name": "Airlines", "SearchCriteriaCode": "TEXT", "URI": "string" }, "NextPage": "string" }
Get All Lists, new operation response format:
{ "content": [ { "id": "a80a5070-3951-4316-886a-a60ab790f06b", "value": "Airlines", "levelCount": 1, "searchCriteria": "TEXT", "displayFormat": "(CODE) TEXT", "category": { "id": "a2dfc451-8f3c-410e-a5f2-20d79c8fc3dc", "type": "Vendor" }, "isReadOnly": false, "isDeleted": false } ] }
Define transformation panel with id renamed, giving its value to ID
Example transformation with Retrieve all list items based on the search criteria (deprecated) fields converted to Retrieve First Level Children Items of a List
D. Update import mappings
The responses from the deprecated and replacement Concur endpoints are different, as illustrated here:
So, after performing the changes mentioned in C. Add transformation rules, the next step is to change the mappings to remove the padlocked fields shown above.
Note that in the deprecated endpoints, as illustrated in the example below, the field name was ListID, the new endpoint name is listid, and the Concur Import field is updated.
E. Remove unneeded transformation rules
Your legacy flows may have transformation rules applied to import flow steps, especially if you based them on an SAP Concur template. For example, the transformation rule applied in Import Concur list items (create) is no longer required for the Concur List item v4 response.
Click the Transformation rules ( ) button to the right of the import to edit these values, delete each unnecessary rule, and click Save.
Continue to revise the field mappings for the remaining flows, according to the examples provided above.
Refreshing an integration based on an SAP Concur template
The current versions of SAP Concur Celigo Quickstart integration templates have been upgraded to List v4 and List item v4 APIs. If you’ve built your integrations by modifying a template, it might be quickest to make the parallel changes from your modified list-related flows to a clean template installation, as described below:
- Go to the integrator.io Marketplace (U.S. | EU) and open Concur Expense or Concur Invoice.
- Find the template you had previously installed for your Concur account type and additional endpoint, and click Preview to start the installation process:
- Acumatica – By default, SAP Concur lists are not available in any of the Concur – Acumatica templates installed from the Celigo Marketplace. The flow Concur lists to Acumatica departments is available only upon request.
- NetSuite You don’t have to worry about overwriting your current integration; each new template installation produces a standalone integration in its own tile.
- Check the flows related to lists, such as Concur lists to NetSuite departments and NetSuite departments to Concur list items, and compare the new configurations with your integration’s flows.
- Copy the path parameters, search parameters, filter rules, and mappings (if any extra included) from your flow and paste them into the newly installed flow.
- Delete the v3 list flows from your integration.
- Detach the newly updated flows from the installed template integration, and attach each flow to your existing Concur integration.
Comments
Please sign in to leave a comment.