Workforce Management API Reference
Learn how to use the Workforce Management (WFM) Integration API to customize the way your web application integrates with Workforce Management.
The Workforce Management Integration API Reference documentation is available for download from this page.
This feature requires special provisioning to be performed by Genesys. For information about using this feature in your deployment, contact your Genesys representative.
Direct downloads
Find your release number in the table below and download the file to access the most recent Workforce Management Integration API Reference documentation.
Release | Direct Download | Last Updated | File Size |
---|---|---|---|
WFM 8.5 Integration API Reference Documentation | WFM_API_docs_85.zip | September 27, 2022 | 27.5 MB |
Viewing the documentation
After downloading and extracting the zip file, go to the docs folder and open the index.html file in your browser.
Using this API
To use this API, you must first do the following:
- Use GAuth REST API (oAuth2) to authenticate the user and obtain an access token.
- Once the access token is obtained, use the following to obtain WFM user information, including userId, user type, and other details:
WFM REST API method GET /wfm/api/v3/system/userinfo
- ImportantThe
/userinfo
call can return a 403 (Forbidden) error code if an authenticated user is not provisioned in WFM.
The LocateServerLogin and OpenSessionLogin SOAP API methods are not supported for this API. Instead, you must use the corresponding LocateServer and OpenSession SOAP API methods. Otherwise, this SOAP API works similar to the API for WFM on-premises except that each request will have the access token attached as a Bearer token in the Authorization header.
This example shows an access token being attached to the request:
private static < T > void setAccessToken(T port, String accessToken)
{
BindingProvider bp = (BindingProvider) port;
java.util.Map < String, Object > context = bp.getRequestContext();
Map < String, List < String >> requestHeaders = (Map < String, List < String >> ) context.get(MessageContext.HTTP_REQUEST_HEADERS);
if (requestHeaders == null) {
requestHeaders = new HashMap < String, List < String >> ();
context.put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);
}
requestHeaders.put("Authorization", Collections.singletonList("Bearer " + accessToken));
context.put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);
}
…
WFMLocatorService800Soap locator = getService800Soap(WFMLocatorService800Soap.class,
"/LocatorService/WFMLocatorService800.wsdl", "WFMLocatorService800", "WFMLocatorService800Soap", "https://<some URL>");
setAccessToken(locator, access_token); // Attach access token to the request
locator.LocateServer(…)