本系列API Recipes描述了与开发应用程序相关的API任务,这些应用程序适用于旅行管理公司(TMC)、旅行供应商和需要获取员工旅行相关预订数据的企业。此方法假设您是当前客户或平台合作伙伴。
检查下面的检查表,以确保您能够执行这个食谱中的任务。要查看参考信息,请单击要点中的链接
开发人员、差旅供应商和差旅管理公司将希望使用本菜谱中描述的流程。
大多数合作伙伴获取旅行数据的顺序是:
这些过程中的每一个都可以单独使用。例如,如果一个旅行供应商只想获取行程细节,他们可以遵循下面描述的获取行程细节流程。
GET Itinerary端点所需的GET行程列表位于官方SAP Concur开发人员页面中在这里.
如果您还没有将沙箱配置为获取访问权限,则可以从支持页面发出该请求在这里.记住要包括与您一起在表单中工作的SAP Concur代表的名称。
如果您已经配置了沙箱,那么GET Itinerary端点所需的GET List of Itineraries就位于正式的SAP Concur开发人员页面中在这里.
此任务检索在Oauth令牌中指定的旅行者的旅行摘要。这个端点还可以用于获取不同用户、组织或整个公司的旅行细节。当旅行管理公司(TMC)需要代表用户或公司检索旅行列表时,最常使用Get List of Itineraries。
整个公司(Oauth消费者必须具有Admin用户角色)
https://www.concursolutions.com/api/travel/trip/v1.1/?startDate= {startdate可以}&endDate = {enddate} &_createdAfterDate = {_date} &createdBeforeDate ={日期}&lastModifiedDate ={日期}&bookingType ={类型}&userid_type = login&userid_value =
个人用户(Oauth消费者)
https://www.concursolutions.com/api/travel/trip/v1.1/?startDate= {startdate可以}&endDate = {enddate} &_createdAfterDate = {_date} &createdBeforeDate ={日期}&lastModifiedDate ={日期}&bookingType ={类型}
个人用户(Oauth消费者除外)
https://www.concursolutions.com/api/travel/trip/v1.1/?startDate= {startdate可以}&endDate = {enddate} &_createdAfterDate = {_date} &createdBeforeDate ={日期}&lastModifiedDate ={日期}&bookingType ={类型}&userid_type = login_id&userid_value = {loginID}
可以查看其他示例在这里.
的名字 | 描述 |
---|---|
tripId | 这次旅行ID |
startDate可以= {日期} | url编码的UTC旅行开始日期。格式:YYYY-MM-DD。如果没有提供查询参数,则开始日期设置为今天的日期—30天。 |
endDateArunachal Pradesh,= {日期} | url编码的UTC旅行结束日期。格式:YYYY-MM-DD。如果不提供查询参数,则结束日期设置为今天的日期+ 12个月。 |
createdAfterDateArunachal Pradesh,= {日期} | url编码的UTC日期,用于表示创建旅行的时间。查询字符串将返回在该日期或之后创建的行程。与createdafterdate一起使用,用于查找在日期范围内创建的行程。格式:YYYY-MM-DD |
createdBeforeDateArunachal Pradesh,= {日期} | 旅行及其相关预订的最后修改UTC日期。此查询字符串将仅返回行程或其任何关联预订的最后修改日期大于或等于提供的时间的行程 |
lastModifiedDateArunachal Pradesh,= {日期} | 这次旅行至少包括一次这种类型的预订。形式:空中,汽车,餐饮,酒店,停车场,铁路,或乘坐 |
bookingType = {类型} | 这次旅行至少包括一次这种类型的预订。形式:空中,汽车,餐饮,酒店,停车场,铁路,或乘坐 |
userid_type = login&userid_value ={loginID} | loginID是用户的SAP Concur登录ID。可以发送ALL的userid_value来获取公司所有用户的旅行总结。userid_type和userid_value参数只能在OAuth消费者具有上面列出的用户角色之一的情况下使用。 |
includeMetadata = true&ItemsPerPage = {数量}和页面= {数量} | includeMetadata查询参数结合ItemsPerPage和Page查询参数将导致响应被划分为页面。 |
includeVirtualTrip =1 | 虚拟旅行是通过“旅行请求”产品进行离线预订的部分。将includeVirtualTrip查询参数设置为1,以便将这些行程包含在列表中 |
includeCanceledTrips ={真/假} | inclecanceledtrips查询参数也将导致请求返回状态为Canceled的行程。 |
参考样品XML GET Itinerary Details获取请求为指导。
这个过程允许开发人员、差旅供应商和差旅管理公司获得特定行程的详细信息。默认情况下,Oauth消费者应该是旅行的所有者。Get Itinerary端点还可以用于获取Oauth消费者不拥有的行程的详细信息。差旅管理公司使用这个流程代表用户获取差旅细节。这假设TMC已向SAP Concur注册,并拥有一个具有以下用户角色的有效帐户:Professional的Web Services Administrator或Standard的Can administrtor。
的名字 | 描述 |
---|---|
{tripId} | 必需的。所需行程的标识符 |
userid_type = login&userid_value ={loginID} | loginID是用户的SAP Concur登录ID。可以发送ALL的userid_value来获取公司所有用户的旅行总结。 |
systemFormat ={格式} | systemFormat查询参数可用于指定对不同系统的响应进行格式化。支持的取值为Tripit。 |
该请求返回一个包含子元素子集的旅程父元素。部分列表如下。已找到完整的列表在这里.
的名字 | 描述 |
---|---|
BookedByFirstName | 预定行程的人的名字。 |
BookedByLastName | 预定行程的人的姓。 |
BookedVia | 这次旅行的预订方法。 |
CancelComments | 行程取消时提供的评论。最大长度为256个字符。 |
评论 | 可选的评论。最大长度512个字符。 |
DateBookedLocal | 预定行程的日期,预定地点的当地时间。格式:YYYY-MM-DDThh: mm: ss |
DateCreatedUtc | 创建此旅行的日期,以UTC为单位。格式:YYYY-MM-DDThh: mm: ss |
的名字 | 描述 |
---|---|
BookingSource | 此预订的预订来源的名称。预订源是系统用来跟踪预订发生地点的文本名称。 |
DateBookedLocal | 此预订的预订来源的名称。预订源是系统用来跟踪预订发生地点的文本名称。 |
DateCreatedUtc | 以UTC为单位创建预订的日期。格式:YYYY-MM-DDThh: mm: ss |
DateModifiedUtc | 最后修改预订的日期,以UTC为单位。格式:YYYY-MM-DDThh: mm: ss |
FormOfPaymentName | 姓名、付款方式为预订。 |
FormOfPaymentType | 付款方式。 |
PassengerCount | 预订的乘客人数。 |
开发者应该建立一个定期的流程,以便在用户登录他们的网站进行预订时,对行程进行民意调查或根据需求获得行程。使用您想要其详细信息的用户的Oauth令牌作为授权,执行以下两步过程:
有关如何使用Oauth令牌为用户获取旅行列表的更多信息,请访问在这里.
得到https:// {InstanceURL} / api /旅游/旅行/ v1.1HTTP/1.1授权:OAuth{用户访问令牌}接受:应用程序/ xml
您还可以通过使用TripID获得每次旅行的详细信息。Get Trip List响应包括每个旅行的唯一TripID。
得到https:// {InstanceURL} / api /旅游/旅行/ v1.1 / {TripID}HTTP/1.1授权:OAuth{用户访问令牌}接受:应用程序/ xml
参考样品获取旅行ID的旅行详细信息为指导。
任何行程都不能包含所有可能的元素,因为响应始终是可能返回值的子集。有关完整的响应细节,请查看公开行程XSD.
一旦你有了旅行的细节,寻找那些缺少你的细分类型的旅行。
例如,如果你是TripLink汽车供应商,寻找可能包括航班,但没有租车预订的旅行。
如果你是TripLink酒店供应商,寻找可能包括航班但没有酒店预订的旅行。如果您是定期对行程进行投票,您可以选择向旅行者发送电子邮件,向他们提供您的服务,以添加到他们即将到来的行程中。例如,如果你是TripLink酒店的合作伙伴,你可以选择给旅行者发电子邮件:“如果你想为12月13日的波士顿之旅预订一家酒店,我们在市中心的酒店提供特价。登录这里,为您的旅行添加酒店预订。”
当旅行者登录你的手机应用程序或网站进行预订时,如果你正在检查即将到来的旅行,你可以选择向旅行者提供一份缺少你的细分类型的即将到来的旅行清单。例如,如果你是TripLink汽车供应商,您可以选择提供一个没有租车预订的即将到来的旅行列表,并允许旅行者轻松地将租车添加到该旅行中,使用旅行细节中的信息预先填充取车和落车地点和日期/时间。
在…的情况下用户连接通过SAP Concur平台预订酒店的客户:
这部分的信息是不拟供…使用用户连接开发人员。
旅行管理公司在获取旅行详情时,会发现GET行程回复中的以下两个要素非常有用:
行程是如何发送到SAP Concur平台的 | BookingOwner | BookingSource |
---|---|---|
手动添加的行程 | OpenBookingEmail | 手册 |
行程电邮至plans@concur.com | OpenBookingEmail | 供应商名称,如果解析器不能确定供应商,则使用Manual |
行程电邮至plans@tripit.com | TripIt | 供应商名称,如果解析器不能确定供应商,则使用Manual |
TMC使用Itinerary API发布的行程 | ConcurConnectAPI | 供应商名称 |
开放预订供应商使用行程API发布预订。折扣仍然适用。 | OpenBookingSupplier | 洲际酒店 |
在Concur Travel(即Cliqbook)或通过代理预订(并发送回Concur Travel),或通过直接连接。折扣仍然适用于代理商预订。我们无法在API中区分用户通过Concur Travel预订和通过代理预订。我们会在内部追踪 | ConcurTravel | GDS名称,或直接连接供应商名称 |
Amadeus e-Travel Management (AeTM)是一个集成了Concur Expense的在线自助预订工具。 | AmadeusETravel |
请注意作为我们身份验证基础设施安全改进的一部分,我们决定取消对用户或公司的Profile、Form of Payment和Itinerary的通知,因为它们对OAuth令牌的处理。该功能已于2020年6月取消。
Concur差旅供应商和差旅管理公司可能需要知道如何发布公司通知订阅,以便更改行程。使用下面的信息来指导你。关于这些主题的更多信息可以在SAP Concur Developer Center的资源中找到:订阅或取消订阅通知.
订阅通知,当通过Concur travel预订旅行的员工通过添加、修改或取消旅行计划而更改其旅行计划时,将收到通知邮寄公司通知订阅行程变更请求.
要创建此请求,请使用以下示例作为模板。请注意,请求参数为行程.Request XML字符串还需要公司的管理用户的宣誓令牌。用户必须具有以下用户角色之一:公司管理员(Professional)或Web服务管理员(Web Services Administrator)或标准管理员(Can administrat)。
订阅请求示例:
帖子http://www.concursolutions.com/api/company/v1.0/subscribe?type=itineraryHTTP/1.1授权:OAuth{访问令牌}...
通知被发送到合作伙伴在应用程序审查期间注册的Postback URL。对于所有通知类型,合作伙伴只能有一个回发URL。通知将包括类型、oauth_token_key、userid_type和userid_value查询参数,指定更新后的用户,如示例所示:
https://postbackurl.com?type=itinerary&oauth_token_key= {oauthtoken} &userid_type = login&userid_value = cm@example.com
虽然响应主体包括一个Notification父元素,但也有几个子元素。
元素 | 描述 |
---|---|
ObjectType | 行程 |
ObjectURI | 对象的URI。开发人员可以使用适当的GET端点和ObjectURI来获取旅行的完整细节。 |
EventDateTime | 当事件发生时。格式:YYYY-MM-DDThh: mm: ss |
EventType | 改变的类型。格式:CREATE、UPDATE、CANCEL |
上下文 | 这还没有使用,但将在未来用于指定行程中的变化。开发人员可以将其与EventType结合使用,以决定如何处理通知。 |
TripID | 旅行的唯一标识符。格式:字符串 |
取消预定行程变更的示例请求:
https://www.concursolutions.com/api/company/v1.0/unsubscribe?type=itinerary
参考样品邮寄公司通知订阅行程更改回应为指导。