Skip to content

Commit 88d79b6

Browse files
Merge branch 'main' into docs/HOTEL-20922
2 parents e8a592a + 38b3c7a commit 88d79b6

File tree

82 files changed

+7215
-694
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+7215
-694
lines changed

src/_data/sidebars/api-explorer.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
children:
6969
- title: Allocations
7070
url: https://api.sap.com/api/ConcurExpense/overview
71+
- title: Attendee Types
72+
url: https://api.sap.com/api/ConcurAttendeeTypes/overview
7173
- title: Attendees
7274
url: https://api.sap.com/api/ConcurAttendees/overview
7375
- title: Budget
@@ -76,6 +78,8 @@
7678
url: https://api.sap.com/api/ConcurExpenseCards/overview
7779
- title: Cash Advance
7880
url: https://api.sap.com/api/ConcurExpenseCashAdvance/overview
81+
- title: Cash Advance Associations
82+
url: https://hub.sap.com/api/ConcurExpense/overview
7983
- title: Change Notification
8084
url: https://api.sap.com/api/ConcurChangeNotification/overview
8185
- title: Comments

src/_data/sidebars/api-guides.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@
55
children:
66
- title: Expense - Associating External Attendees to Expense Entries
77
url: /api-guides/attendees/external-attendees-to-expense-entries.html
8+
- title: Authentication
9+
url: ''
10+
children:
11+
- title: Tutorial 1. Create Tokens Required for SAP Concur API Access
12+
url: /api-guides/authentication/concur-get-refresh-token/concur-get-refresh-token.html
13+
- title: Tutorial 2. Refresh Token Management Automation
14+
url: /api-guides/authentication/concur-refresh-token-management/concur-refresh-token-management.html
15+
- title: Tutorial 3. Call SAP Concur APIs Using A Multiple Use Bearer Token
16+
url: /api-guides/authentication/concur-calling-apis/concur-calling-apis.html
817
- title: eReceipts Integration
918
url: /api-guides/e-receipts.html
1019
- title: Event Subscription Service v4 Guide

src/_data/sidebars/api-reference.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@
7777
- title: Common
7878
url: ''
7979
children:
80+
- title: Attendee Types v4
81+
url: /api-reference/common/attendees/v4.admin-attendee-types.html
8082
- title: Attendees v4
8183
url: /api-reference/common/attendees/v4.attendees.html
8284
- title: Connection Requests v3.2
@@ -115,6 +117,8 @@
115117
url: /api-reference/direct-connects/hotel-service-4/v4.endpoints.html
116118
- title: Hotel Service Change Notification
117119
url: /api-reference/direct-connects/hotel-service-4/v4.change-notification-get-started.html
120+
- title: Single PNR Solution for CHS
121+
url: /api-reference/direct-connects/hotel-service-4/v4.single-pnr-solution.html
118122
- title: Schemas
119123
url: /api-reference/direct-connects/hotel-service-4/v4.schemas.html
120124
- title: Document Compliance Gateway v4
@@ -172,6 +176,8 @@
172176
url: /api-reference/expense/expense-report/v4.allocations.html
173177
- title: Attendee Associations v4
174178
url: /api-reference/expense/expense-report/v4.expense-attendee-associations.html
179+
- title: Cash Advance Associations v4
180+
url: /api-reference/expense/expense-report/v4.expense-cash-advance-associations.html
175181
- title: Comments v4
176182
url: /api-reference/expense/expense-report/v4.comments.html
177183
- title: Exceptions v4

src/_data/sidebars/event-topics.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
url: /event-topics/
33
- title: Document Tax Compliance Event
44
url: /event-topics/expense/v4.document-compliance-events.html
5-
- title: Concur Expense Event
5+
- title: Concur Expense Report Events
66
url: /event-topics/expense/v4.expense-events.html
77
- title: Identity Change Event
88
url: /event-topics/profile/v4.identity-events.html

src/_data/sidebars/tools-support.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
- title: Developer Platform Release Notes
66
url: ''
77
children:
8+
- title: June 2025
9+
url: /tools-support/release-notes/api/2025-06-04.html
10+
- title: May 2025
11+
url: /tools-support/release-notes/api/2025-05-05.html
812
- title: April 2025
913
url: /tools-support/release-notes/api/2025-04-03.html
1014
- title: March 2025

src/_includes/header.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@
8585
<li class="column-title">Partner Resources</li>
8686
<li><a href="{{ site.baseurl }}/manage-apps/app-certification.html">App Certification</a></li>
8787
<li><a href="{{ site.baseurl }}/manage-apps/partner-applications.html">App Registration & Management</a></li>
88-
<li><a href="{{ site.baseurl }}/manage-apps/redirect.html">Go to Market</a></li>
8988
<li><a href="https://www.concur.com/en-us/app-center" target="_blank">App Center</a></li>
9089
<li><a href="https://www.concursolutions.com/" target="_blank">Login to Concur</a></li>
9190
</ul>

src/api-explorer/v4-0/HotelService.swagger2-new.json

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
{
22
"swagger": "2.0",
3+
"x-sap-shortText": "Hotel workflow endpoints.",
34
"tags": [
45
{
56
"description": "Hotel workflow endpoints",
6-
"name": "service"
7+
"name": "Service"
8+
}
9+
],
10+
"x-servers": [
11+
{
12+
"url": "https://www.concursolutions.com/api/v4.0",
13+
"description": "Concur API EndPoint"
714
}
815
],
916
"basePath": "/",
1017
"host": "hs-mock.service.cnqr.tech",
1118
"info": {
12-
"contact": {
13-
"name": "SAP Concur Developer Center",
14-
"url": "https://developer.concur.com/api-explorer/v4-0/HotelService.swagger2.json"
15-
},
16-
"description": "## Important: Please refer to [Endpoints](https://developer.concur.com/api-reference/direct-connects/hotel-service-4/v4.endpoints.html) document for detailed documentation on all endpoints for this API.\nHotelService API provides a method for Custom Hotel Source vendors to provide hotel inventory, rates and booking related functionality to users of Concur OBT (Online Booking Tool).",
17-
"title": "HotelService API",
19+
"description": "## Important: Please refer to [Endpoints](https://developer.concur.com/api-reference/direct-connects/hotel-service-4/v4.endpoints.html) document for detailed documentation on all endpoints for this API.\nHotel Service API provides a method for Custom Hotel Source vendors to provide hotel inventory, rates and booking related functionality to users of Concur OBT (Online Booking Tool).",
20+
"title": "Hotel Service API",
1821
"version": "4.0"
1922
},
2023
"paths": {
@@ -30,7 +33,8 @@
3033
"in": "header",
3134
"name": "Accept-Language",
3235
"required": false,
33-
"type": "string"
36+
"type": "string",
37+
"description": "Advertises which languages the client is able to understand"
3438
},
3539
{
3640
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -77,7 +81,7 @@
7781
},
7882
"summary": "Retrieve descriptive details about specified hotels.",
7983
"tags": [
80-
"service"
84+
"Service"
8185
]
8286
}
8387
},
@@ -93,7 +97,8 @@
9397
"in": "header",
9498
"name": "Accept-Language",
9599
"required": false,
96-
"type": "string"
100+
"type": "string",
101+
"description": "Advertises which languages the client is able to understand"
97102
},
98103
{
99104
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -140,7 +145,7 @@
140145
},
141146
"summary": "Retrieve hotel rate details",
142147
"tags": [
143-
"service"
148+
"Service"
144149
]
145150
}
146151
},
@@ -156,7 +161,8 @@
156161
"in": "header",
157162
"name": "Accept-Language",
158163
"required": false,
159-
"type": "string"
164+
"type": "string",
165+
"description": "Advertises which languages the client is able to understand"
160166
},
161167
{
162168
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -203,7 +209,7 @@
203209
},
204210
"summary": "Retrieve rates for specific hotel properties",
205211
"tags": [
206-
"service"
212+
"Service"
207213
]
208214
}
209215
},
@@ -219,7 +225,8 @@
219225
"in": "header",
220226
"name": "Accept-Language",
221227
"required": false,
222-
"type": "string"
228+
"type": "string",
229+
"description": "Advertises which languages the client is able to understand"
223230
},
224231
{
225232
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -266,7 +273,7 @@
266273
},
267274
"summary": "Reserve the given hotel rate",
268275
"tags": [
269-
"service"
276+
"Service"
270277
]
271278
}
272279
},
@@ -275,14 +282,15 @@
275282
"consumes": [
276283
"application/json"
277284
],
278-
"description": "Cancel specified reservation",
285+
"description": "Cancel specified reservation according to parameters",
279286
"operationId": "cancel",
280287
"parameters": [
281288
{
282289
"in": "header",
283290
"name": "Accept-Language",
284291
"required": false,
285-
"type": "string"
292+
"type": "string",
293+
"description": "Advertises which languages the client is able to understand"
286294
},
287295
{
288296
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -332,7 +340,7 @@
332340
},
333341
"summary": "Cancel specified reservation",
334342
"tags": [
335-
"service"
343+
"Service"
336344
]
337345
}
338346
},
@@ -348,7 +356,8 @@
348356
"in": "header",
349357
"name": "Accept-Language",
350358
"required": false,
351-
"type": "string"
359+
"type": "string",
360+
"description": "Advertises which languages the client is able to understand"
352361
},
353362
{
354363
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -401,7 +410,7 @@
401410
},
402411
"summary": "Modify specific reservation",
403412
"tags": [
404-
"service"
413+
"Service"
405414
]
406415
}
407416
},
@@ -417,7 +426,8 @@
417426
"in": "header",
418427
"name": "Accept-Language",
419428
"required": false,
420-
"type": "string"
429+
"type": "string",
430+
"description": "Advertises which languages the client is able to understand"
421431
},
422432
{
423433
"description": "This unique code can be used during troubleshooting as it identifies the API call in the log files.",
@@ -467,7 +477,7 @@
467477
},
468478
"summary": "Returns detailed information about a hotel reservation.",
469479
"tags": [
470-
"service"
480+
"Service"
471481
]
472482
}
473483
},
@@ -476,20 +486,22 @@
476486
"consumes": [
477487
"application/json"
478488
],
479-
"description": "Perform the initial search for hotels.",
489+
"description": "Perform the initial search for hotels according to params",
480490
"operationId": "search",
481491
"parameters": [
482492
{
483493
"in": "header",
484494
"name": "Accept-Language",
485495
"required": false,
486-
"type": "string"
496+
"type": "string",
497+
"description": "Advertises which languages the client is able to understand"
487498
},
488499
{
489500
"in": "header",
490501
"name": "concur-correlationid",
491502
"required": true,
492-
"type": "string"
503+
"type": "string",
504+
"description": "Correlation ID to track the record across the logs"
493505
},
494506
{
495507
"description": "Hotel search criteria",
@@ -529,7 +541,7 @@
529541
},
530542
"summary": "Perform the initial search for hotels.",
531543
"tags": [
532-
"service"
544+
"Service"
533545
]
534546
}
535547
}
@@ -2682,7 +2694,9 @@
26822694
},
26832695
"categories": {
26842696
"type": "array",
2685-
"$ref": "#/definitions/SafetyScoreCategory"
2697+
"items": {
2698+
"$ref": "#/definitions/SafetyScoreCategory"
2699+
}
26862700
}
26872701
},
26882702
"required": [
@@ -2695,15 +2709,15 @@
26952709
"description": "Safety score category classification of the hotel",
26962710
"properties": {
26972711
"type": {
2698-
"type": "enum",
2712+
"type": "string",
26992713
"enum": [ "NIGHTTIME_SAFETY", "PHYSICAL_SAFETY", "BASIC_FREEDOMS", "WOMENS_SAFETY", "THEFT", "HEALTH_AND_MEDICAL", "LGBTQ_PLUS_SAFETY"]
27002714
},
27012715
"score": {
27022716
"type": "number"
27032717
}
27042718
},
27052719
"required": [
2706-
"category",
2720+
"type",
27072721
"score"
27082722
],
27092723
"type": "object"
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

src/api-guides/e-receipts.markdown

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Depending on the connection flow, a grant will be selected for authentication. T
8282
```http
8383
POST /oauth2/v0/token HTTP/1.1
8484
Content-Type: application/x-www-form-urlencoded
85-
Host: us.api.concursolutions.com
85+
Host: glz.api.concursolutions.com
8686
```
8787
```
8888
client_id={client_id}
@@ -135,12 +135,12 @@ Depending on the connection flow, a grant will be selected for authentication. T
135135

136136
2. Your app will make a call to the authorization service.
137137

138-
> **_NOTE:_** the grant type must be accessed using the `www-` version of the API Gateway in order to avoid certificate issues with some browsers. (ex: https://www-us.api.concursolutions.com instead of https://us.api.concursolutions.com)
138+
> **_NOTE:_** the grant type must be accessed using the `www-` version of the API Gateway in order to avoid certificate issues with some browsers. (ex: https://www-glz.api.concursolutions.com instead of https://glz.api.concursolutions.com)
139139
140140
Example:
141141
```http
142142
GET /oauth2/v0/authorize?client_id={your-app-clientId}&redirect_uri={partner_redirect_URI}&response_type=code HTTP/1.1
143-
Host: https://www-us.api.concursolutions.com
143+
Host: https://www-glz.api.concursolutions.com
144144
```
145145

146146
3. The authorization service will prompt the user with two options: **Username** or **Send a link to my email**
@@ -179,7 +179,7 @@ Depending on the connection flow, a grant will be selected for authentication. T
179179
```http
180180
POST /oauth2/v0/token HTTP/1.1
181181
Content-Type: application/x-www-form-urlencoded
182-
Host: us.api.concursolutions.com
182+
Host: glz.api.concursolutions.com
183183
```
184184
```
185185
client_id={client_id}
@@ -358,7 +358,7 @@ A client’s SAP Concur account may reside one of our many data centers. During
358358

359359
You will need to be aware of the geolocation where the user exists and make the call to the APIs correctly. As you do not know the user's geolocation when you request the token for the first time, you should always make the API call using the **default** Base URI.
360360

361-
For a user hosted on both the US data center and EU data center, please use the **default** Base URI `https://us.api.concursolutions.com`.
361+
For a user hosted on both the US data center and EU data center, please use the **default** Base URI `https://glz.api.concursolutions.com`.
362362

363363
If you receive the error code 16 ("user lives elsewhere") while calling the authentication service, the error message returns a new `geolocation`. Use this new 'geolocation' as the Base URI to call the Auth API again to get the token.
364364

@@ -411,9 +411,19 @@ When making API calls, the appropriate base URI should be used. There are three
411411
* Calling other APIs.
412412

413413
The base URI for obtaining a token will use your application’s geolocation. The base URI for refreshing tokens and all other API calls will use the token’s geolocation.
414+
* GLZ = <https://glz.api.concursolutions.com>
415+
* US2 Production = <https://us2.api.concursolutions.com>
416+
* EU2 Production = <https://EU2.api.concursolutions.com>
417+
418+
When obtaining a token, your application should use the base URI corresponding to the grant type being performed, as follows:
419+
420+
| Grant Type | URI |
421+
|-|-|
422+
|Authorization| Use the GLZ base URI|
423+
|Password (credtype = authtoken)| Use the GLZ base URI
424+
|One Time Password| Use the base URI corresponding to the user’s geolocation|
414425

415-
* US Production = <https://us.api.concursolutions.com>
416-
* EU Production = <https://emea.api.concursolutions.com>
426+
When obtaining the token, the token’s geolocation will be included in the response. The token’s geolocation should be stored along with the token. Your application will then make subsequent calls using the token and the correct endpoints based on the token’s geolocation.
417427

418428
The full list of available token geolocations is available on the [Base URIs](https://developer.concur.com/platform/base-uris.html) page.
419429

0 commit comments

Comments
 (0)