Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions fix_banners.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
$files = Get-ChildItem -Path src -Recurse -File -Include '*.md','*.markdown'
$changed = 0

$link = '<a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a>'
$footer = " <p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>`n <p>Learn more in the $link</p>`n</div>"

function MakeBanner($dep, $unsup, $content) {
$lines = @('<div class="alert alert-danger">', ' <p><strong>This API has been deprecated.</strong></p>')
if ($dep) { $lines += " <p>Deprecation Date: $dep</p>" }
if ($unsup) { $lines += " <p>Unsupported Date: $unsup</p>" }
if ($content) { $lines += " <p>$($content.Trim())</p>" }
$lines += " <p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>"
$lines += " <p>Learn more in the $link</p>"
$lines += '</div>'
return $lines -join "`n"
}

foreach ($f in $files) {
$raw = [System.IO.File]::ReadAllText($f.FullName, [System.Text.Encoding]::UTF8)
if (-not ($raw -match 'include deprecation-alert')) { continue }

$new = $raw

# Case 1: capture block + date + unsupported + content
$new = [regex]::Replace($new,
'(?s)\{%\s*capture\s+deprecation_content\s*%\}(.*?)\{%\s*endcapture\s*%\}\s*\n\s*\{%\s*include deprecation-alert\.html\s+deprecation_date="([^"]+)"\s+unsupported_date="([^"]+)"\s+content=deprecation_content\s*%\}',
{ param($m)
return MakeBanner $m.Groups[2].Value $m.Groups[3].Value $m.Groups[1].Value
})

# Case 2: capture block + date + content (no unsupported)
$new = [regex]::Replace($new,
'(?s)\{%\s*capture\s+deprecation_content\s*%\}(.*?)\{%\s*endcapture\s*%\}\s*\n\s*\{%\s*include deprecation-alert\.html\s+deprecation_date="([^"]+)"\s+content=deprecation_content\s*%\}',
{ param($m)
return MakeBanner $m.Groups[2].Value $null $m.Groups[1].Value
})

# Case 3: only deprecation_date
$new = [regex]::Replace($new,
'\{%\s*include deprecation-alert\.html\s+deprecation_date="([^"]+)"\s*%\}',
{ param($m) return MakeBanner $m.Groups[1].Value $null $null })

# Case 4: simple include (no params)
$new = $new -replace '(?m)^\s*\{%\s*include deprecation-alert\.html\s*%\}\s*$', (MakeBanner $null $null $null)

if ($new -ne $raw) {
[System.IO.File]::WriteAllText($f.FullName, $new, [System.Text.Encoding]::UTF8)
$changed++
Write-Output "Fixed: $($f.FullName.Replace((Get-Location).Path + '\','').Replace('\','/'))"
}
}
Write-Output ""
Write-Output "Total files changed: $changed"
17 changes: 10 additions & 7 deletions src/api-explorer/v3-0/AttendeeTypes.markdown
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
---
---
title: Attendee Types
layout: reference
reference-type: swagger
---

{% capture deprecation_content %}
* POST `/expense/attendeetypes`
* DELETE `/expense/attendeetypes/{id}`
{% endcapture %}

{% include deprecation-alert.html deprecation_date="05/19/2016" unsupported_date="11/19/2016" content=deprecation_content %}
<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Deprecation Date: 05/19/2016</p>
<p>Unsupported Date: 11/19/2016</p>
<p>* POST `/expense/attendeetypes`
* DELETE `/expense/attendeetypes/{id}`</p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>


{% swagger /api-explorer/v3-0/AttendeeTypes.swagger2.json %}
15 changes: 9 additions & 6 deletions src/api-explorer/v3-0/Attendees.markdown
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
---
title: Attendees
layout: reference
reference-type: swagger
---

{% capture deprecation_content %}
* DELETE `/expense/attendees/{id}`
{% endcapture %}

{% include deprecation-alert.html deprecation_date="05/19/2016" unsupported_date="11/19/2016" content=deprecation_content %}
<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Deprecation Date: 05/19/2016</p>
<p>Unsupported Date: 11/19/2016</p>
<p>* DELETE `/expense/attendees/{id}`</p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>

{% swagger /api-explorer/v3-0/Attendees.swagger2.json %}
10 changes: 6 additions & 4 deletions src/api-explorer/v3-0/ListItems.markdown
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
---
---
title: List Items
layout: reference
reference-type: swagger
---

{% include deprecation-alert.html %}

<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>
{% swagger /api-explorer/v3-0/ListItems.swagger2.json %}
10 changes: 6 additions & 4 deletions src/api-explorer/v3-0/Lists.markdown
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
---
---
title: Lists
layout: reference
reference-type: swagger
---

{% include deprecation-alert.html %}

<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>
{% swagger /api-explorer/v3-0/Lists.swagger2.json %}
7 changes: 6 additions & 1 deletion src/api-explorer/v3-0/Users.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ layout: reference
reference-type: swagger
---

{% include deprecation-alert.html deprecation_date="08/22/2021" content=deprecation_content %}
<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Deprecation Date: 08/22/2021</p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>

{% swagger /api-explorer/v3-0/Users.swagger2.json %}
2 changes: 1 addition & 1 deletion src/api-guides/invoice/payment-provider-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Editable By: This depends on the customer configuration

### <a name="Overview-Scopes-and-Obtaining-Invoices-pending-payment"></a>Overview Scopes and Obtaining Invoices pending payment

[Overview, Scopes, an Obtaining Invoices pending payment](/api-reference/invoice/v1.invoice-pay.html)
[Overview, Scopes, an Obtaining Invoices pending payment](/api-reference/invoice/v4.invoice-pay.html)

### <a name="Discounts"></a>Discounts on invoices

Expand Down
10 changes: 5 additions & 5 deletions src/api-reference/authentication/app-center-learn-more.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
title: Learn More About Scopes
layout: reference
---
Expand Down Expand Up @@ -44,7 +44,7 @@ Scope|User Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
`expense.config.expensetypes.restricted.read`<a name="expense.config.policies.restricted.read"></a>|Get a list of expense types applicable to a user based on a policy|[Expense Configuration v4](/api-reference/expense/expense-config/v4.expense.config.html)
`expense.config.paymenttypes.restricted.read`<a name="expense.config.policies.restricted.read"></a>|Get a list of all payment types applicable to a user|[Expense Configuration v4](/api-reference/expense/expense-config/v4.expense.config.html)
`expense.exchangerate.writeonly` <a name="expense-exchangerate-writeonly"></a> |Create custom exchange rates|[Exchange Rate v4](/api-reference/expense/exchange-rate/v4.exchange-rate.html)
`expense.report.read` <a name="expense-report-read"></a> |Get information about expense reports|[Comments v4](/api-reference/expense/expense-report/v4.comments.html), [Reports v4](/api-reference/expense/expense-report/v4.reports.html), [Allocations v4](/api-reference/expense/expense-report/v4.allocations.html), [Expenses v4](/api-reference/expense/expense-report/v4.expenses.html), [Itemizations v4](/api-reference/expense/expense-report/v4.expense-itemization.html), [Attendee Associations v4](/api-reference/expense/expense-report/v4.expense-attendee-associations.html), [Exceptions v4](/api-reference/expense/expense-report/v4.exceptions.html), [Expense Tax v4](/api-reference/expense/expense-report/v4.expense-tax.html), [Cash Advance Associations v4](/api-reference/expense/expense-report/v4.expense-cash-advance-associations.html)
`expense.report.read` <a name="expense-report-read"></a> |Get information about expense reports|[Comments v4](/api-reference/expense/expense-report/v4.comments.html), [Reports v4](/api-reference/expense/expense-report/v4.reports.html), [Allocations v4](/api-reference/expense/expense-report/v4.allocations.html), [Expenses v4](/api-reference/expense/expense-report/v4.expenses.html), [Itemizations v4](/api-reference/expense/expense-report/expense-itemization.html), [Attendee Associations v4](/api-reference/expense/expense-report/v4.expense-attendee-associations.html), [Exceptions v4](/api-reference/expense/expense-report/v4.exceptions.html), [Expense Tax v4](/api-reference/expense/expense-report/v4.expense-tax.html), [Cash Advance Associations v4](/api-reference/expense/expense-report/v4.expense-cash-advance-associations.html)
`expense.report.readwrite` <a name="expense-report-readwrite"></a> |Read and write expense report headers|[Comments v4](/api-reference/expense/expense-report/v4.comments.html), [Reports v4](/api-reference/expense/expense-report/v4.reports.html), [Allocations v4](/api-reference/expense/expense-report/v4.allocations.html), [Expenses v4](/api-reference/expense/expense-report/v4.expenses.html), [Attendee Associations v4](/api-reference/expense/expense-report/v4.expense-attendee-associations.html), [Exceptions v4](/api-reference/expense/expense-report/v4.exceptions.html), [Expense Tax v4](/api-reference/expense/expense-report/v4.expense-tax.html), [Cash Advance Associations v4](/api-reference/expense/expense-report/v4.expense-cash-advance-associations.html)
`expense.report.tax.readwrite` <a name="expense-report-tax-readwrite"></a> |Read and Write information about tax details of an expense on a report|[Expense Tax v4](/api-reference/expense/expense-report/v4.expense-tax.html)
`expense.report.workflowstatus.write` <a name="expense-report-workflowstatus-write"></a> |Approve or Send Back the Report in the workflow|[Comments v4](/api-reference/expense/expense-report/v4.comments.html), [Reports v4](/api-reference/expense/expense-report/v4.reports.html)
Expand All @@ -71,7 +71,7 @@ Scope|User Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
`INVPO` <a name="invpo"></a> |Create or update purchase orders|[Invoice Purchase Orders v3](/api-reference/invoice/v3.purchase-order.html)
`INVTV` <a name="invtv"></a> |View tax invoices and update validation status|[Invoice Sales Tax Validation Request v3](/api-reference/invoice/v3.sales-tax-validation.html)
`INVVEN` <a name="invven"></a> |Vendors search and retrieve list of vendors|[Invoice Vendor v3](/api-reference/invoice/v3.vendor.html), [Invoice Vendor Group Swagger](/api-explorer/v3-0/VendorGroup.html), [Invoice Vendor Bank Swagger](/api-explorer/v3-0/VendorBank.html)[Vendor 3.1](/api-reference/invoice/v3.1.vendor.html)
`ITINER` <a name="itiner"></a> |Get, add, or update travel itineraries and bookings|[Itinerary Web Service](/api-reference/travel/itinerary-tmc-thirdparty/), [Travel-Booking Resource](/api-reference/travel/itinerary/booking/booking-resource.html), [Itinerary Service](/api-reference/travel/itinerary/itinerary.html), [Travel-Trips v1.1](/api-reference/travel/itinerary/trip/trip-resource.html), [Travel Services](/api-reference/travel/travel.html), [Trip Approval v1](/api-reference/travel/trip-approval/trip-approval-resource.html)
`ITINER` <a name="itiner"></a> |Get, add, or update travel itineraries and bookings|[Itinerary Web Service](/api-reference/travel/itinerary-tmc-thirdparty/), [Travel-Booking Resource](/api-reference/travel/itinerary/booking/booking-resource.html), [Itinerary Service](/api-reference/travel/itinerary/itinerary.html), [Travel-Trips v1.1](/api-reference/travel/itinerary/trip/trip-resource.html), [Trip Approval v1](/api-reference/travel/itinerary/trip/trip-resource.html)
`LIST` <a name="list"></a> |Use and update drop-down lists configured by your company|[List Item v3](/api-reference/common/list-item/v3.list-item.html), [List v1](/api-reference/common/list-item/v1.list-item.html), [List v1 Resource](/api-reference/common/list-item/v1.list-resource.html), [Get List of List v1](/api-reference/common/list-item/v1.list-resource-get.html), [Post New List v1](/api-reference/common/list-item/v1.list-resource-post.html), [Budget v4](/api-reference/budget/getting-started.html)
`locality.read` <a name="locality-read"></a> |Allows the application to only view location-related information using the SAP Concur Localities API|[Localities v5](/api-reference/common/locations/v5.localities.html)
`locate.location.read` <a name="locate-location-read"></a> |Allows the application to only view the SAP Concur Locate user location|[User Location v4](/api-reference/locate/v4.userLocations.html)
Expand All @@ -83,7 +83,7 @@ Scope|User Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
`purchaserequest.read` <a name="purchaserequest-read"></a> |Allows you to retrieve purchase requests|[Purchase Request v4](/api-reference/invoice/v4.purchase-request-get-started.html)
`purchaserequest.write` <a name="purchaserequest-write"></a> |Allows you to create new purchase requests|[Purchase Request v4](/api-reference/invoice/v4.purchase-request-get-started.html)
`quickexpense.writeonly` <a name="quickexpense-writeonly"></a> |Write quick expense|[Quick Expense v4](/api-reference/expense/quick-expense/v4.quick-expense.html)
`RCTIMG` <a name="rctimg"></a> |Add or update receipt and OCR images|[Receipt Image v3](/api-reference/image/)
`RCTIMG` <a name="rctimg"></a> |Add or update receipt and OCR images|[Receipt Image v3](/api-reference/image/v3.image.html)
`receipts.read` <a name="receipts-read"></a> |Read receipt data|[Receipts v4](/api-reference/receipts/get-started.html),[Document Compliance Gateway v4](/api-reference/document-compliance-gateway/V4.document-compliance-gateway.html)
`receipts.write` <a name="receipts-write"></a> |Read receipt data and post receipts|[Receipts v4](/api-reference/receipts/get-started.html),[Document Compliance Gateway v4](/api-reference/document-compliance-gateway/V4.document-compliance-gateway.html)
`receipts.writeonly` <a name="receipts-writeonly"></a> |Post receipts on your behalf|[Receipts v4](/api-reference/receipts/get-started.html), [Quick Expense v4](/api-reference/expense/quick-expense/v4.quick-expense.html)
Expand Down Expand Up @@ -119,7 +119,7 @@ Scope|User Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
`TRVPRF` <a name="trvprf"></a> |Access and update Concur Travel profile information|[Travel Profile v2](/api-reference/travel-profile/v2.profile-service.html), [Travel Profile v2 Resource](/api-reference/travel-profile/v2.profile-resource.html)
`TRVPTS` <a name="trvpts"></a> |Access user balances and post travel points redemptions|[Travel Profile v1 Travel Points](/api-reference/travel-profile/v1.loyalty-program-resource.html)
`TRVREQ` <a name="trvreq"></a> |Add, update, or delete authorization requests|[Travel Request v3](/api-reference/request/v3.request.html)
`TWS` <a name="tws"></a> |Approve or reject travel itineraries|[Trip Approvals](/api-reference/travel/trip-approval/trip-approval-resource.html)
`TWS` <a name="tws"></a> |Approve or reject travel itineraries|[Trip Approvals](/api-reference/travel/itinerary/trip/trip-resource.html)
`UNUTX` <a name="unutx"></a> |Unused tickets|[Travel Profile v2 Unused Tickets](/api-reference/travel-profile/v2.profile-resource.html#UnusedTickets)
`user.read` <a name="user-read"></a> |Read profile information|[Profile](/api-reference/profile/v1.getting-started.html), [User API (Profile v1)](/api-reference/profile/v1.user.html), [Comments v4](/api-reference/expense/expense-report/v4.comments.html), [Reports v4](/api-reference/expense/expense-report/v4.reports.html), [Allocations v4](/api-reference/expense/expense-report/v4.allocations.html), [Expenses v4](/api-reference/expense/expense-report/v4.expenses.html), [Quick Expense v4](/api-reference/expense/quick-expense/v4.quick-expense.html), [Expense Configuration v4](/api-reference/expense/expense-config/v4.expense.config.html)
`user.write` <a name="user-write"></a> |Read and update profile information|[Profile](/api-reference/profile/v1.getting-started.html), [User API (Profile v1)](/api-reference/profile/v1.user.html)
Expand Down
18 changes: 9 additions & 9 deletions src/api-reference/authentication/authorization-pre-2017.markdown
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
title: Pre-2017 Authorization (Deprecated)
layout: reference
redirect_from:
Expand All @@ -7,15 +7,15 @@ redirect_from:

# Pre-2017 Authorization (Deprecated)

{% capture deprecation_content %}

If you are a new partner or an existing one creating a new app, please refer to the [new authentication version documentation](/api-reference/authentication/getting-started.html).

Please contact your Partner Enablement representative before starting any new development to ensure a smooth and successful certification process.

{% endcapture %}
<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Deprecation Date: 02/04/2017</p>
<p>If you are a new partner or an existing one creating a new app, please refer to the [new authentication version documentation](/api-reference/authentication/getting-started.html).

{% include deprecation-alert.html deprecation_date="02/04/2017" content=deprecation_content %}
Please contact your Partner Enablement representative before starting any new development to ensure a smooth and successful certification process.</p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>

## Access tokens <a name="access-tokens"></a>
An access token is a long-lived token used to make API calls.
Expand Down
4 changes: 2 additions & 2 deletions src/api-reference/budget/v4.budget-header.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
---
---
title: Budget v4 - Budget Item
layout: reference
---
Expand Down Expand Up @@ -1577,7 +1577,7 @@ Name|Type|Format|Description
Name|Type|Format|Description
---|---|---|---
`featureTypeCode`|`string`|-|**Required** The product that this expense type applies to: Purchase Request, Invoice (Payment Request), Expense, or Request. Supported values: `PURCHASE_REQUEST`, `PAYMENT_REQUEST`, `EXPENSE`, `REQUEST`
`expenseTypeCode`|`string`|-|**Required** The alphanumeric code that describes an expense type. (Example: `MEALS`, `AC_CATER`) Valid expense type codes are returned by the GET /budgetCategory/expenseType method described in the [Budget Category service](/api-reference/budget/budget-category.html).
`expenseTypeCode`|`string`|-|**Required** The alphanumeric code that describes an expense type. (Example: `MEALS`, `AC_CATER`) Valid expense type codes are returned by the GET /budgetCategory/expenseType method described in the [Budget Category service](/api-reference/budget/v4.budget-category.html).
`name`|`string`|-|**READ ONLY** The name for this expense type if it maps to an expense type set up in your SAP Concur product(s).
`id`|`string`|-|The budget service's key for this object.

Expand Down
10 changes: 6 additions & 4 deletions src/api-reference/callouts/request-validation.markdown
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
---
---
title: Travel Request Validation
layout: reference
---

# Travel Request Validation

{% include deprecation-alert.html %}

<div class="alert alert-danger">
<p><strong>This API has been deprecated.</strong></p>
<p>Partners and customers using a deprecated API should contact SAP Concur and discuss moving to the latest versions.</p>
<p>Learn more in the <a href="/tools-support/deprecation-policy.html">API Lifecycle &amp; Deprecation Policy.</a></p>
</div>
Requests in the SAP Concur platform can be validated in an external system by using a combination of callouts and web services.

This guide provides a step by step overview of how to set up and use the external validation functionality for Requests. This guide does not provide instruction on the process of programming the application connector, but provides an overview of the required functionality.
Expand Down
Loading