请求V4.0 API为指定的旅行者提供旅行请求信息。请求v4.0允许申请拉动和发布有关旅行者旅行请求的信息。

目标观众

观众 描述
SAP Concur TMC Partners计划开发SAP Concur认证申请以支持请求V4.0 API和代理提案。
二次 SAP Concur客户谁希望开发内部应用程序,以支持请求v4.0。内部开发的应用程序不需要认证,但是,本文档中的大多数规范应该被认为是SAP Concur应用程序开发和支持的最佳实践。

先决条件

您应该熟悉核心SAP Concur应用程序和服务,如Concur Travel和Concur请求。以下技术知识和技能列表将有助于您的申请的开发和认证。

  • 商务旅行行业经验。
  • RESTful API / XML开发、JSON、OAuth 2.0和数据结构。

目标

阅读本文档后,您将对以下内容有更好的理解:

  • 如何开发SAP Concur连接器(应用程序)。
  • 如何支持请求v4.0 API:
    • 创建一个旅行请求。
    • 根据所需参数检索旅行请求摘要列表。
    • 检索旅行者的具体要求。
    • 提交旅行者的提案。
    • 回顾旅行的建议。
    • 将已接受的建议转换为旅客姓名记录(PNR)。
    • 取消的建议。
  • 保存/存储concur-correlationid
  • 支持差旅请求错误条件和信息。
  • 准备申请认证。
  • 为应用程序的启用和部署做好准备。

开发环境

以下是构建应用程序所需的一般项目列表:

  • Concur的请求,Concur的旅游或Concur的旅行和费用的专业版实例。
  • 默认配置。
  • 默认代理配置与concurrent - sabre PCC。
  • 沙箱可能没有SAP Concur Travel预订功能,这可以根据要求提供。
  • 要在公司内POST旅行建议,必须激活该公司的实例。
  • 具有唯一客户端ID、客户端秘密和适用范围的默认开发应用程序。
  • 沙箱管理员凭据与Demo/Dev用户凭据。
  • 可选:访问RESTful开发工具,如Postman或SoapUI,以审查JSON/XML请求。

序列图

应用范围

公司层面OAuth

您的应用程序将获取并存储一家公司级的OAuth刷新令牌,为每个选择申请使用您的应用程序。您将通过SAP Confur获取通过授权的24小时一次性请求令牌获得经过验证的刷新令牌。您的24小时请求令牌允许您获取六个月的刷新令牌,该令牌键入唯一的应用程序标识符,应用程序秘密和公司的UUID。刷新令牌将重复使用,以获取60分钟的访问(持票人)令牌,您的应用程序将用于对SAP Confor进行API调用来进行API调用。如果您计划在单个公司中的特定代理商或旅行配置中部署应用程序,SAP Concur将通过新角色或组在将来提供该功能。

公司认证流程图

下面的步骤是必须获得令牌的企业级刷新:

  • 获取公司名称和公司ID(也称为CliqID)。
  • 授权的SAP Concur Consultants/ pm将生成12小时的请求令牌。
  • 使用12小时请求令牌生成刷新令牌。在请求令牌到期之前,您最多有五次机会。
  • 存储和再利用refresh_token- 允许您的应用程序获得新鲜的UUID4标识符access_tokens
  • 使用access_tokens(也称为不记名令牌)来进行API调用。

获得公司级的OAuth令牌

要求

文章https://us.api.concursolutions.com/oauth2/v0/token
内容类型:应用程序/ x-www-form-urlencoded

身体

client_id:c14f2547 ####################c39 client_secret:1bfb ####  -  #################### 245CE授予_TYPE:密码用户名:3B #################################################5D331信用证:AuthToken.

响应

{"expires_in": 3600, "scope": "openid TRVPRF PASSV COMPD EMERG TSAI TMCSP MEDIC UNUTX USER COMPANY NOTIF FOP TRVREQ ITINER user_read USER . "阅读公司。read", "token_type": "承载","access_token": "BYxVfClZpo-zw…","refresh_token":"a95caa0f-249a…","refresh_expires_in": 1517039403, "id_token": "4n7i2-e9zP9qrpc4B…","geolocation": "https://us.api.concursolutions.com "}

定义

  • expires_inValue以秒为单位返回。你的的access_token有效期为60分钟。
  • 响应中返回的范围是您的应用程序已注册要处理的范围。作用域是根据所需的功能有选择地启用的。响应中返回的值应该永远不变。如果添加了新的范围,您的应用程序将需要重新认证。
  • token_type- 承载,其中SAP Concur的回报,是一个行业标准。承载可以被解释为“允许访问此令牌的旗手。”
  • 的access_token, JWT通知SAP Concur,返回令牌的载体已被授权访问SAP Concur API,并按照已授予的范围执行指定的特定操作。的的access_token从响应时六十分钟有效。如有必要,您可以架构应用程序以扩展并使用多个访问令牌来产生多个线程。
  • refresh_token,也是JWT,是唯一的令牌,它包含获取新令牌所需的信息的access_tokenid_token.刷新令牌的有效期至少为6个月,并受到严格的存储要求的制约,以确保它们不会受到损害。刷新令牌也可以被撤销。您的应用程序应该覆盖或替换存储的刷新令牌,以防响应返回不同的refresh_token价值。
  • refresh_expires_inValue以epoch时间返回。使用提供转换功能的库。对于UI版本,请导航到https://www.epochconverter.com。
  • id_token,也是JWT,返回。对于像Travel Profile这样的公司级或企业级应用程序,不需要检索公司级经过身份验证的用户的详细信息。存储在ID令牌JWT中的信息对于基于用户级身份验证的应用程序(如Uber或Triplink供应商应用程序(如Avis或marriott))是必要的。
  • 地理位置值应该存储为应用程序的基础URI。由于SAP Concur有多个数据中心,因此可能需要从位于EMEA和美国的客户那里获取和存储数据。如果你的应用程序收到错误码16,“无效请求”,用户生活在其他地方,你的应用程序必须能够提交第二个请求到“us.api.concursolutions.com”或“eu1.api.concursolutions.com”,并存储该地理位置。地理位置还为SAP Concur标识用户存储的地理位置。
  • 存储刷新令牌、访问令牌、过期日期和实例URL(地理位置)以及关于公司概要文件的内部信息。

获得公司级刷新令牌

邮递员级别刷新令牌的示例请求

  • 用户名=公司GUID
  • 密码=请求令牌

重要的:请勿在请求头中提交任何带有上述参数的HTTP请求,否则请求将被拒绝。

显示各种令牌的图像,包括公司级别的刷新令牌

获取公司级访问令牌

存储和管理以下内容:

  • Token_type
  • Refresh_token
  • Access_token
  • 截止日期
  • 地理位置
  • Refresh_token_expiration

邮差收集获得企业级刷新令牌

对于以前的邮差邮差调用结果

请注意:在您的应用程序中,始终覆盖SAP Confur返回的刷新令牌。您可以验证或比较但覆盖refresh_token从SAP Concur的是最好的。这将确保您刷新令牌始终是有效的。

范围及范围管理

旅游申请通常会登记以下范围:

  • OpenID的
  • travelrequest.write
  • user.read
  • company.read
  • user_read
  • FOP
  • 也就是说
  • TRVREQ
  • TRVPRF
  • PASSV
  • 紧急情况
  • TSAI
  • TMCSP
  • MEDIC
  • UNUTX
  • 用户
  • NOTIF
  • 化合物
  • 公司

对这些作用域的解释记录在developer.concur.com上。如果希望应用程序包含额外的作用域或端点,则必须重新对应用程序进行认证。

地理位置

SAP Concur的有多个数据中心:

  • US = https://us.api.concursolutions.com
  • EMEA = https://emea.api.concursolutions.com
主机的位置 基于公司GUID的主机位置的刷新令牌的URL 用于旅行简介的URL
emea. https://emea.api.concursolutions.com/oauth2/v0/token https://emea.api.concursolutions.com/api/travelprofile/v2.0/profile
我们 https://us.api.concursolutions.com/oauth2/v0/token https://us.api.concursolutions.com/api/travelprofile/v2.0/profile

唯一的用户ID

UUID格式正在整个SAP Concur平台和新的OAuth方法中使用。建议您采用SAP Concur UUID作为旅行者的惟一标识符。应用程序的客户机(公司)标识符、客户机机密和身份验证令牌都是UUID格式的。即使是错误id也会以UUID格式返回。

UUID v4信息可以在这里找到:https://en.wikipedia.org/wiki/Universally_unique_identifier。这个工具也很有用:https://www.uuidgenerator.net/。

UUID现在与存储在SAP Concur中的每个用户记录一起可用。每当创建员工或旅行者记录时都会自动生成uuid——即使在350个记录类型导入期间也是如此。正如标准所指出的,UUID值(随机生成的)保证在SAP Concur中是惟一的。由于这种唯一性,UUID可以用作SAP Concur中的匹配事实和惟一标识符。您不再需要依赖XML Sync ID或Employee ID,这些ID通常不是惟一的,并且是造成大量用户记录错误和支持查询的原因。登录ID在SAP Concur中仍然是唯一的,被SAP Concur平台合作应用程序广泛采用,但还没有被XML Profile Sync广泛采用。我们不建议使用与XML配置文件同步相关联的旧同步ID。我们强烈推荐转换为支持SAP Concur UUID。

UUID是在旅行简介API暴露,它也被用在PNR编辑工具可用。在旅行简响应标签和数据看起来就像这样:e588fcc4-417f-4d6c-81de-6b51bfc9c90a SAP Concur的UUID是必需的请求V4 API。这是支持它的匹配,实际上的唯一元素。

使用请求V4.0 API

旅行计划的旅行

在创建或提交旅行请求之前,旅行者必须计划旅行的几个方面。下面是一些需要计划的事情。

  • 计划行程。
  • 酒店预订的计划。
  • 计划汽车租赁。
  • 指定要使用的航空公司。

提出旅行请求

一旦旅行者准备好了计划,他们就可以使用Concur request创建旅行请求。

步骤1:登录到SAP的Concur

一旦登录,点击要求标签:

登录后的SAP Concur页面

步骤2:创建旅行请求

登录后,选择新请求要求选项卡,并填写旅客信息。

请求头:包括请求策略,申请名称,旅行开始日期,旅行结束日期和旅行目的的详细信息。

新请求表单UI

接下来,您将填写所有部分的详细信息。这可能包括:

空气段

请求UI显示Air Segments

铁路段

请求显示轨道段的UI

酒店部分

请求显示酒店部分的UI

汽车领域

请求UI显示汽车段

点击提交请求.这个请求将被添加到您的主动差旅请求

请求UI显示所有活动的旅行请求

代理收到旅行请求通知

已经订阅了ESS服务机构将被告知,一旦游客提交的旅行请求。基于该Travel_Request_Id该机构获取旅行索取旅行者的详细信息。

获取旅行请求信息

使用状态“Submitted”获取旅行者的请求,而不解析UUID。

请注意:如果状态没有值指示,则默认情况下它会返回“所有活动”旅行请求的响应。

URI:Get / TravelRequest / V4 /请求?查看=提交的内容类型:应用程序/ JSON授权:承载

响应

{“href”:“https://us.api.concursolutions.com/travelrequest/v4/requests/8354DDF8F1C6374BAE25189266293CF9”,“id”:“8354 ddf8f1c6374bae25189266293cf9”{“数据”:[" approvalStatus ":{“代码”:“提交”、“名称”:“等待旅行社更新”},“批准”:假的,“businessPurpose”:“休闲之旅”、“canceledPostApproval”:假的,“关闭”:false, "comment": "Bon voyage\n", "creationDate": "2019-06-03T21:14:42.000Z", "endDate": "2019-08-25", "everSentBack": false, "expenses": [], "highestExceptionLevel": "NONE", "name": "Dream Trip To Paris", "owner": {"href": "https://us.api.concursolutions.com/profile/v1/users/eaf089a5-1569-31ab-95d2-7ef8dc58354a", "id":"eaf089a5-1569-31ab-95d2-7ef8dc58354a", "template": "https://us.api.concursolutions.com/profile/v1/users/{id}", "firstName": "William", "middleInitial": "p", "lastName": "Never2"}, "pendingApproval": true, "requestId": "3339", "startDate": "2019-07-26", "submitDate": "2019-06-03T21:29:50.000Z", "totalApprovedAmount": {"value": 12000, "currency":“美元”},“totalPostedAmount”:{“价值”:12000年,“货币”:“美元”},“totalRemainingAmount”:{“价值”:12000年,“货币”:“美元”},“类型”:{“代码”:“旅游”,“标签”:“旅行 " } }, { " href”:“https://us.api.concursolutions.com/travelrequest/v4/requests/C1CDF36851BF1645ABA76C92A91DE06E”、“id”:“C1CDF36851BF1645ABA76C92A91DE06E”、“approvalStatus”:{"code": " submit ", "name": "Pending Travel Agency Update"}, "approved": false, "businessPurpose": "Business Visit", "canceledPostApproval": false, "closed": false, "comment": "Book a Travel \n", "creationDate": "2019-05-30T17:47:06.000Z", "endDate": "2019-07-01", "everSentBack": false, "expenses": [], "highestExceptionLevel": "NONE", "name":“加州书”、“所有者”:{“href”:“https://us.api.concursolutions.com/profile/v1/users/eaf089a5 - 1569 - 31 - ab - 95 - d2 - 7 - ef8dc58354a”、“id”:“eaf089a5 - 1569 - 31 - ab - 95 - d2 - 7 - ef8dc58354a”、“模板”:“https://us.api.concursolutions.com/profile/v1/users/ {id}”,“firstName”:“威廉”、“middleInitial”:“p”,“姓”:“Never2”},“pendingApproval”:真的,“requestId”:“3336”,“startDate可以”:“2019-06-28”,“submitDate”:“2019 - 05 - 30 t17:51:31.000z”、“totalApprovedAmount”:{“价值”:400年,“货币”:“美元”},“totalPostedAmount”:{“价值”:400年,“货币”:“美元”},“totalRemainingAmount”:{“价值”:400年,“货币”:“美元”},“类型”:{“代码”:“旅游”,“标签”:“旅行 " } }, { " href”:"https://us.api.concursolutions.com/travelrequest/v4/requests/47ACF629CB38F54EAEAB227BFC4E09C8", "id": "47ACF629CB38F54EAEAB227BFC4E09C8", "approvalStatus": {"code": "SUBMITTED", "name": "Pending Travel Agency Update"}, "approved": false, "businessPurpose": "business Travel", "canceledPostApproval": false, "closed": false, "comment":“旅游\ n”、“创建日期”:“2019 - 05 - 30 t17:48:49.000z”、“endDate”:“2019-07-01”,“everSentBack”:假的,“费用”:[],“highestExceptionLevel”:“没有”,“名字”:“书BLR”、“老板”:{“href”:“https://us.api.concursolutions.com/profile/v1/users/eaf089a5 - 1569 - 31 - ab - 95 - d2 - 7 - ef8dc58354a”、“id”:“eaf089a5 - 1569 - 31 - ab - 95 - d2 - 7 - ef8dc58354a”、“模板”:"https://us.api.concursolutions.com/profile/v1/users/{id}", "firstName": "William", "middleInitial": "p", "lastName": "Never2"}, "pendingApproval": true, " requesttid ": "3337", "startDate": "2019-06-28", "submitDate": "2019-05-30T17:53:21.000Z", "totalApprovedAmount": {"value": 3000, "currency": "USD"}, "totalPostedAmount": {"value": {"value": 3000, "currency": "USD" }, "totalRemainingAmount": { "value": 3000, "currency": "USD" }, "type": { "code": "TRAVEL", "label": "Travel" } }, { "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/4A8BA47815C5034CB5493A1F5F57351F", "id": "4A8BA47815C5034CB5493A1F5F57351F", "approvalStatus": { "code": "SUBMITTED", "name": "Pending Travel Agency Update" }, "approved": false, "businessPurpose": "save", "canceledPostApproval": false, "closed": false, "creationDate": "2019-05-28T19:25:42.000Z", "endDate": "2019-06-12", "everSentBack": false, "expenses": [], "highestExceptionLevel": "NONE", "name": "Trip to Bangalore", "owner": { "href": "https://us.api.concursolutions.com/profile/v1/users/ba6a1658-7d6d-3659-b8a5-884319f6d724", "id": "ba6a1658-7d6d-3659-b8a5-884319f6d724", "template": "https://us.api.concursolutions.com/profile/v1/users/{id}", "firstName": "William", "middleInitial": "p", "lastName": "Never" }, "pendingApproval": true, "requestId": "3334", "startDate": "2019-06-04", "submitDate": "2019-05-28T19:29:46.000Z", "totalApprovedAmount": { "value": 3000, "currency": "USD" }, "totalPostedAmount": { "value": 3000, "currency": "USD" }, "totalRemainingAmount": { "value": 3000, "currency": "USD" }, "type": { "code": "TRAVEL", "label": "Travel" } } ], "operations": [ { "rel": "first", "href": "https://us.api.concursolutions.com/v4/requests?view=ACTIVE&limit=10&start=0&sortField=startDate&sortOrder=DESC" }, { "rel": "last", "href": "https://us.api.concursolutions.com/v4/requests?view=ACTIVE&limit=10&start=0&sortField=startDate&sortOrder=DESC" } ] }

要查看旅客的个人资料,使用“按UUID获取旅游资料。”

URI:GET https://us.api.concursolutions.com/api/travelprofile/v2.0/profile?uuid=eaf089a5-1569-31ab-95d2-7ef8dc58354a的Content-Type:application / xml进行授权:承载

响应

<?xml version = " 1.0 " encoding = " utf - 8 " ?>xmlns: xsd =“http://www.w3.org/2001/XMLSchema”xmlns: xsi =“http://www.w3.org/2001/xmlschema-instance”状态=“积极的”lognid =“wsadmin@pe30-connect.com”独特的=""><常规>< NamePrefix/>威廉< MiddleName >PE30<名字>绝不< NameSuffix/>< PreferredName/><职务高低/>< CompanyEmployeeID >1000100010003< / CompanyEmployeeID >< PreferredLanguage >< HasOpenBooking >< / HasOpenBooking >我们SAP Concur的TMC-130-PE< /公司名称>283423默认旅游类< TravelConfigID >146793< / TravelConfigID >4B81EB15-DA89-4964-987C-9A61FF01EB65一般> < /<地址/>< emailaddress >< EmailAddress联系=“真的”类型=“业务”>wsadmin@pe30-connect.com< RatePreferences >< AAARate >< / AAARate >< GovtRate >< / MilitaryRate >< / RatePreferences >/><上>< InterRowPositionCode >DontCare< / InterRowPositionCode >DontCare< / SectionPositionCode >> < /座位/><铁><上>DontCare> < /座位<教练>DontCare< NoiseComfort >DontCare<上>DontCare> < /床< BedCategory >DontCare<泊位>DontCare< /泊位><甲板>DontCare< SpaceType >DontCare< / SpaceType >< FareSpaceComfort >DontCareDontCare< / SpecialMeals ><突发事件>DontCare< RailMemberships/>铁路> < /< CarSmokingCode >DontCare< / CarSmokingCode >< / CarGPS >< CarType >DontCare< / CarType >/>< CarOther/>< / CarSkiRack >< CarTransmission >DontCare< / CarTransmission >汽车> < /<饭店>DontCare< / HotelSmokingCode >/>DontCare< PreferFoamPillows >< / PreferFoamPillows >< PreferCrib >< / PreferCrib >< / PreferRollawayBed >< PreferGym >< / PreferGym >< PreferPool >< / PreferPool >< PreferRestaurant >< PreferRoomService >< / PreferRoomService >< PreferEarlyCheckIn ><角色/>< TSAInfo/>< / ProfileResponse >

要查看旅行者的费用获取所有活动的旅行请求,使用“Get TR by requests by status= active”。

{"href":"https://us.api.concursolutions.com/travelrequest/v4/requests/8354DDF8F1C6374BAE266293CF9", "id": "8354DDF8F1C6374BAE25189266293CF9" approvalStatus": {"code": "SUBMITTED", "name": "Pending Travel Agency Update"}

通过通过travel_request_id(id:“8354DDF8F1C6374BAE25189266293CF9”)你可以得到一个旅行者的费用。

URI:获取https://us.api.concursolutions.com/travelrequest/v4/Requests/8354ddf89266293cf9内容类型:应用程序/ json授权:持票人

响应

{“href”:“https://us.api.concursolutions.com/travelrequest/v4/requests/8354DDF8F1C6374BAE25189266293CF9”,“id”:“8354 ddf8f1c6374bae25189266293cf9”、“approvalStatus”:{“代码”:“提交”、“名称”:“等待旅行社更新”},“批准”:假的,“businessPurpose”:“休闲之旅”、“canceledPostApproval”:假的,“关闭”:假的,“创建日期”:"2019-06-03T21:14:42.000Z", "endDate": "2019-08-25", "everSentBack": false, "expensePolicy": {"href": "https://us.api.concursolutions.com/expenseconfig/v4/users/null/context/TRAVELER/policies/DC9A8A67FE220F48BB1C0C7A625FB4CB", "id": "DC9A8A67FE220F48BB1C0C7A625FB4CB", "template":“https://us.api.concursolutions.com/expenseconfig/v4/users/null/context/TRAVELER/policies/ {id}},“费用”:[{“href”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/04b6e512ac2fcd4fa66697d14cc964f5?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:“04 b6e512ac2fcd4fa66697d14cc964f5”、“模板”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/ {id} ?用户id = 613 cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab "}, {" href ": " https://us.api.concursolutions.com/travelrequest/v4/expenses/5b1b4b514ce60243af70f53062dfae5b?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:“5 b1b4b514ce60243af70f53062dfae5b”、“模板”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/ {id} ?用户id = 613 cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab "}, {" href ": " https://us.api.concursolutions.com/travelrequest/v4/expenses/b6d135d95c7e904988c6569410f8114b?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:“B6D135D95C7E904988C6569410F8114B”、“模板”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/ {id} ?用户id = 613 cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab "}, {" href ": " https://us.api.concursolutions.com/travelrequest/v4/expenses/7f06becd2a87f64f87f346c94c7d095d?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:“7 f06becd2a87f64f87f346c94c7d095d”、“模板”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/ {id} ?用户id = 613 cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”}],“lastModified”:“2019 - 06 - 03 t21:29:50.000z”、“名称”:“梦巴黎之行”,“主人”:{“href”:“https://us.api.concursolutions.com/profile/v1/users/613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:"613cd9cd-9145-4806-ae6c-bfc7da54c9ab", "template": "https://us.api.concursolutions.com/profile/v1/users/{id}", "firstName": "William", "middleInitial": "p", "lastName": "Never2"}, "pendingApproval": true, "policy": {"id": "C61AF0EA030FF243ABA2C4C115E0EA50"}, "requestId": "3339", "startDate": "2019-07-26", "submitDate":“2019 - 06 - 03 t21:29:50.000z”、“totalApprovedAmount”:{“价值”:12000年,“货币”:“美元”},“totalPostedAmount”:{“价值”:12000年,“货币”:“美元”},“totalRemainingAmount”:{“价值”:12000年,“货币”:“美元”},“travelAgency”:{“href”:“https://us.api.concursolutions.com/travelrequest/v4/travelagencies/D8E1B4B94CA13B4DA1642147B600731B”,“id”:"D8E1B4B94CA13B4DA1642147B600731B", "模板":"https://us.api.concursolutions.com/travelrequest/v4/travelagencies/{id}"}, "类型":{"代码":"旅行","标签":"旅行"},"操作":[{"rel": "recall", "href": " "https://us.api.concursolutions.com/travelrequest/v4/requests/8354DDF8F1C6374BAE25189266293CF9/recall?userId=613cd9cd-9145-4806-ae6c-bfc7da54c9ab" }, { "rel": "cancel", "href": "https://us.api.concursolutions.com/travelrequest/v4/requests/8354DDF8F1C6374BAE25189266293CF9/cancel?userId=613cd9cd-9145-4806-ae6c-bfc7da54c9ab" } ] }

向旅客索取费用,通过通行证Expense_id.user_id

URI: https://us.api.concursolutions.com/travelrequest/v4/expenses/b6d135d95c7e904988c6569410f8114b?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab

响应

{“href”:“https://us.api.concursolutions.com/travelrequest/v4/expenses/b6d135d95c7e904988c6569410f8114b?userid=613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab”、“id”:“B6D135D95C7E904988C6569410F8114B”、“分配”:[{“allocationAmount”:{“价值”:1000年,“货币”:“美元”},“approvedAmount”:{“价值”:1000年,“货币”:“美元”},“allocationId”:“52 b89920babd924b8faae9328b7b37c3”、“postedAmount”:{“价值”:1000年,“货币”:“美元”},“expenseId”:“B6D135D95C7E904988C6569410F8114B”、“percentEdited”:假的,“systemAllocation”:真的,“比例”:100}],“approvedAmount”:{“价值”:1000年,“货币”:“美元”},“汇率”:{“价值”:1、“操作”:“乘”},“expenseType”:{" id ":"CARRT", "name": "Car Rental", "href": "https://us.api.concursolutions.com/expenseconfig/v4/users/613cd9cd-9145-4806-ae6c-bfc7da54c9ab/context/TRAVELER/expensetypes/CARRT", "expKey": null, "formId": null, "customFormId": null, "hasSegment": null, "formType": null, "spendCategoryCode": null, "expId": null, "formula": null, " agentvisible ":空,“caRelated”:空,“spendExpenseCode”:零},“postedAmount”:{“价值”:1000年,“货币”:“美元”},“remainingAmount”:{“价值”:1000年,“货币”:“美元”},“transactionAmount”:{“价值”:1000年,“货币”:“美元”},“transactionDate”:“2019 - 07 - 26 t00:00:00.000z”、“tripData”:{“agencyBooked”:真的,“selfBooked”:假的,“tripType”:ONE_WAY, "legs": [{"endDate": "2019-08-25", "endLocation": {"id": "D0059541F7874D3A97F53ACD163FEB7E", "countryCode": "US", "countrySubDivisionCode": "US- wa ", "city": "Seattle", "name": "Seattle", "lnKey": 83926}, "endTime": "01:00", "id": "11D37079654C4042AE5FC88D53D724F6", "returnLeg": false, "startDate": "2019-07-26", "startLocation":{"id": "0BC6B782B77349898E2CA814F5B57C08", "countryCode": "US", "countrySubDivisionCode": "US- wa ", "city": "Seattle", "name": "Seattle", "lnKey": 29857}, "startLocationDetail": "Airport Drop ", "startTime": "00:00"}], "segmentType": {"category": "REQ_SEG_CARRT", "code": "CARRT"}}}

为了让该旅客的费用类型的详细信息,通过传递ExpenseType_iduser_id

URI: https://us.api.concursolutions.com/expenseconfig/v4/users/613cd9cd - 9145 - 4806 - ae6c bfc7da54c9ab/context/traveler/expensetypes/01025

响应

{ “expenseTypeId”: “01025”, “expenseCategoryCode”:空, “expenseCode”: “其他”, “expenseCodeName”: “标准”, “hasChildren”:假的, “isDeletable”:真实的, “请将isDeleted”:假“isReadOnly“:假的, ”isSystemRecord“:假的, ”isUsedInItemizationConfig“:假的, ”isVisibilityCodeEditable“:真实的, ”itemizationType“: ”NREQ“, ”名“: ”火车“, ”parentExpenseKey“: ”反式“, ”parentName““02.交通运输”, “showOnMobile”:真实的, “spendCategoryCode”: “RAILX”, “spendCategoryName”: “火车”, “visibilityCode”: “始终”, “链接”:[{ “相对”: “自我”, “HREF”: “https://seapr1ecs.concurasp.com/expenseconfig/v4/users/613cd9cd-9145-4806-ae6c-bfc7da54c9ab/context/TRAVELER/expensetypes/01025”}]}

局提交的提案

机构存放旅行请求和支出的详细信息,并利用这些信息来创建将与游客共享的建议。

对于每个旅行者提交的旅行申请,tmc最多可以为其提交三个建议。

先决条件:

  • 登录到您的SAP Concur的差旅和费用用户配置文件。
  • 选择配置文件设置
  • 选择请求设置然后请求的信息
  • 默认旅行社下拉菜单中,选择机构。

设置默认旅行社

以下字段将帮助您向旅行者提交建议。

ProposalBatchSize

你可以在一个系列中提交最多三个提案批次每趟请求。你需要在数据元素ProposalBatchSizeProploseSequenceIndex.有关您在职位中提交的提案数量。

 proplosbatchsize    3   true 

显示提案批大小和提案序列索引的代码示例

现在,您可以提交该提案,并看到在成功提交的提案的答复。

现在你有了Itinlocator.TripId,TripLinkLocator生成。

跳闸状态

您可以跟踪我们提出使用申请ID的建议。登录是在响应中返回的线路编号和那些旅行的ID与请求ID相关联。提案提交的行程。该路线通过在值标识TripStatus.元素。

如果行程状态为“7”,则表示这是一个建议。

显示行程、行程ID、行程链接定位器和行程状态的代码示例

复习的建议

旅行者点评和选择三个提案之一。

邮差例如显示提交提案

一旦成功提交提案,您就可以看到了代理提案选择登录到您的Concur Travel帐户。

你可以看到每个类别的建议比较。

空气的建议

显示飞行选项的比较屏幕

租车建议

对比屏幕,显示汽车租赁选项

酒店的建议

比较屏幕显示酒店选项

请注意:每个旅游提交的建议,与相关的Travel_Request_IdTrip_Id.旅行者可以选择最能满足其需求的建议。

旅行社收到旅行者选择的建议通知

一旦旅行者选择了其中一个建议,旅行社就会收到通知。然后通过设置将其发送到票务TripStatus.变成“0或1”。

代码示例显示旅行状态

将建议转换为实际订座号码

每个旅行建议都是基于Travel_Request_IdTrip_Id

显示PNR的代码示例

旅行者收到已确认的预订和接收行程通知

旅行计划出现在旅行者的旅行图书馆。

SAP Concur UI显示出行库中的出行细节

旅行者的行程

SAP Concur UI显示行程详细信息

取消行程

如果旅行者的需求发生变化,您可以随时取消行程。