Concur Request Event

Overview

This page will host the documentation for all the Concur Request related events that are publicly available on the public.concur.request topic in the Event Subscription Service (ESS). Subscribers will be able to subscribe to these events by following the steps described on the Event Subscription Service v4 page.

Concur Request related events are relevant for applications that are interacting with travelers before they book their trip, such as applications that context to the traveler regarding company policy, preferences, or general compliance requirements for booking travel.

Limitations

This event subscription is only available to partners who have been granted access by SAP Concur. Access to this documentation does not provide access to the subscription.

Scope Usage

Name Description
travelrequest.write Read and write Requests.

Events

This section lists all the publicly available events.

Request Status Changed Event

The statusChanged event is intended to publish a message whenever the status of a Request changes as it traverses the approval workflow during its life cycle. Subscribers of the event are able to leverage the data in the message to perform synchronous or asynchronous actions depending on their business processes. For example, this could trigger an application to make API calls to Concur Request or start of a process in a third party application.

The statusChanged event will always be published for the following status changes without any additional configuration:

  • Whenever a Request is submitted.
  • Whenever a Request is sent back to the employee by an approver/processor.
  • Whenever a Request is recalled by the employee.
  • Whenever a Request is closed.
  • Whenever a Request is reopened.
  • Whenever a Request is cancelled.
  • Whenever a Request is approved.
  • Whenever a Request stops in the legacy external validation step that is. configured using the application connector.

In addition to the above, any workflow step configured for notifications by the administrator will also be published. Please refer to the Procedure: Creating External Validations and Workflow Event Notifications section of the Workflow General - Setup Guide for more information on how the events can be configured and optimized.

Schema

statusChangd Event Payload Schema

Name Type Format Description
id string UUID Randomly generated unique identifier of this the event.
correlationId string UUID SAP Concur unique identifier used for logging/traceability.
eventType string - statusChange for Request workflow updates.
Approved: statusChange.APPROVED
Canceled: statusChange.CANCELED
Sent Back / Recalled: statusChange.SENTBACK
TMC agent (REQ_PROCESSOR1): statusChange.PENDING.TMC
Request Manager (REQ_MANAGER): statusChange.PENDING.RequestManager
Request Auditor (REQ_PROCESSOR3): statusChange.PENDING.RequestAuditor
Cost Object Approver (CO_APPROVE): statusChange.PENDING.CostObjectApprover
Authorized Approver (AUTH_APPROVE): statusChange.PENDING.AuthorizedApprover
Budget approver/manager (BDGT_APPROVE): statusChange.PENDING.BudgetManager
Risk Manager (RISK_PROCESSOR): statusChange.PENDING.RiskManager
Request Administrator (REQ_PROCESSOR_2): statusChange.PENDING.RequestAdministrator
External validation: statusChange.PENDING.ExternalValidation
Custom status: statusChange.PENDING.role (part of workflow roles)
topic string - Topic name for subscription. Supported value: public.concur.request
subTopic string - Do not use.
timeStamp string date/time The date the event was generated in UTC.
groups string UUID travelAgencyUuid linked to the Request.
scopes string - Supported value: travelrequest.write
facts map Request Facts Key-value pairs providing the content of the event.

Status Changed Facts Schema

Name Type Format Description
href string - Hyperlink to the v4 API resource for this Request (based on datacenter).
id string - Unique identifier of the Request.
requestId string - Public key of the Request (unique per customer). This corresponds to the short ID of the Request (alphanumeric).
companyId string - Unique identifier of the company of the traveler, from the profile service.
role string - TMC agent: TMC
Request Manager: RequestManager
Request Auditor: RequestAuditor
Cost Object Approver (COA): CostObjectApprover
Authorized Approver: AuthorizedApprover
Budget approver/manager: BudgetManager
Risk Manager: RiskManager
Request Administrator: RequestAdministrator
External validation: ExternalValidation
currentApprovalStatus string - Pending TMC agent: numerical (example 002003)
Pending Request Manager: Q_PEND
Pending Request Auditor: Q_PEND
Pending Cost Object Approver: Q_PECO
Pending Authorized Approver: Q_PEND
Pending Budget approver/manager: Q_PBDG
Pending Risk Manager: Q_PEND
Pending Request Administrator: Q_PEND
Pending External validation: Q_EXTV
Pending Custom step: numerical
policyId string - Unique identifier of the policy that applies to the Request.
actingUserId string - Unique identifier of the user performing the action. This is not displayed if the action is performed by the Request owner.
userId string - Unique identifier of the owner of the Request.
recipientId string - Unique identifier of the user to whom the Request is pending approval. This is not displayed if the Request is, for example, approved or pending a generic step such as TMC step.
isClosed boolean true/false If true, the Request is at the CLOSED status.
isTest boolean true/false If true, the user is a test user.
status string enum Approved: APPROVED
Canceled: CANCELED
Sent Back / Recalled: SENTBACK
Pending TMC agent: PendingTMCApproval
Pending Request Manager: PendingRequestManagerApproval
Request Auditor: PendingRequestAuditorApproval
Pending Cost Object Approver: PendingCostObjectApproverApproval
Pending Authorized Approver: PendingAuthorizedApproverApproval
Pending Budget approver/manager: PendingBudgetManagerApproval
Pending Risk Manager: PendingRiskManagerApproval
Pending Request Administrator: PendingRequestAdministratorApproval
Pending External validation: PendingExternalValidation
stepCode String enum Code provided by the admin that the client can use to differentiate between the steps.
Request Submit: if the target step (the next workflow step that the request stops at) is not configured for notifications, then step code will be NULL.
Request Send Back or Request Recall - SENDBACK
Legacy External validation post submit - EXTVAL
Legacy External validation pre-extract - EXTVAL
All other cases code step code as configured by admin in workflow configuration will be populated.
entityId String alphanumeric Unique Identifier of the Concur Entity. A valid EntityID pattern is [pdt][a-zA-Z0-9] {5,31}. It starts with p - production / d - demo/ t- test. It consists of a-zA-Z0-9 with length at least 5 but no more than 31 characters.

Sample Events

{
    "id": "c19290aa-6eba-4f22-9736-ffc9ddfa8e7b",
    "correlationId": "800832c2-9467-4bb8-9c5b-3977d12975e7",
    "eventType": "statusChange.PENDING.RequestManager",
    "topic": "concur.request",
    "timeStamp": "2019-01-04T14:06:07.117Z",
    "data": null,
    "subtopic": null,
    "facts": {
        "companyId": "cef1dee9-c4d9-4bd0-9237-01a3978bfda4",
        "isClosed": "false",
        "isTest": "false",
        "recipientId": "55b671dd-ee55-4817-a228-90f5077ec61c",
        "requestId": "LLU9",
        "actingUserId": "ee4a3a2a-2f7a-482c-abd6-82435c9b20c4",
        "id": "61BA94410046F747910760EA925A7CE6",
        "href": "https://sea-raas.concurasp.com/v4/requests/61BA94410046F747910760EA925A7CE6",
        "userId": "6136f053-0cfc-49a4-80d2-e20383c27215",
        "entityId":"p006zecvr9",
        "policyId":"F4C8BD31CA9D4D6292795BE687EB9B2A",
        "status": "PendingRequestManagerApproval",
        "role" : "RequestManager",
        "currentApprovalStatus": "Q_PEND",
        "stepCode": "PENDMGRA"
    }
},
{
    "id": "87087aa8-6729-4d8a-804c-85294ab038fc",
    "correlationId": "5ee7f56c-95f8-4bec-8cc4-536161411c74",
    "eventType": "statusChange.APPROVED",
    "topic": "concur.request",
    "timeStamp": "2019-01-04T14:06:07.934Z",
    "data": null,
    "subtopic": null,
    "facts": {
        "companyId": "39d88963-dd68-4be2-9a2d-b5843e6247bd",
        "isClosed": "false",
        "isTest": "false",
        "requestId": "CN4T",
        "actingUserId": "55b671dd-ee55-4817-a228-90f5077ec61c",
        "id": "E1D6A41596D5B04F87F991E66CFBD3F9",
        "href": "https://sea-raas.concurasp.com/v4/requests/E1D6A41596D5B04F87F991E66CFBD3F9",
        "userId": "6136f053-0cfc-49a4-80d2-e20383c27215",
        "entityId":"p006zecvr9",
        "policyId":"F4C8BD31CA9D4D6292795BE687EB9B2A",
        "status": "APPROVED",
        "role" : "",
        "currentApprovalStatus" : "",
        "stepCode": "REQAPPR"
    }
},
{
    "id": "5880f720-c615-46bc-82cf-dda4e17801eb",
    "correlationId": "6ca7794c-bd91-44ae-86ac-d0f59e1f38c7",
    "eventType": "statusChange.PENDING.TMC",
    "topic": "concur.request",
    "timeStamp": "2019-02-28T12:26:58.049Z",
    "data": null,
    "subtopic": null,
    "facts": {
        "companyId": "39d88963-dd68-4be2-9a2d-b5843e6247bd",
        "isClosed": "false",
        "isTest": "false",
        "requestId": "3334",
        "actingUserId": "6136f053-0cfc-49a4-80d2-e20383c27215",
        "id": "E3DB373BA8A52341AFCA01860B4FC9B6",
        "href": "https://sea-raas.concurasp.com/v4/requests/E3DB373BA8A52341AFCA01860B4FC9B6",
        "userId": "6136f053-0cfc-49a4-80d2-e20383c27215",
        "entityId":"p006zecvr9",
        "policyId":"F4C8BD31CA9D4D6292795BE687EB9B2A",
        "status": "PendingTMCApproval",
        "role": "TMC",
        "currentApprovalStatus" : "002003",
        "stepCode": "PENDTMCA"
    }
}

On this page