Empty collection of tasks when sending a request to retrieve tasks
Empty collection of tasks when sending a request to retrieve tasks
This is usually caused by the selected modules in the journey builder not having the needed credentials. In this case, you encounter a To confirm this, send a
201 status code that returns an empty collection of tasks. This happens even when you have modules in the journey builder. The response looks like this:POST request to the /journey/state/fetch endpoint. You will receive a response showing the GET_CREDENTIALS_ERRORcode.To resolve this, contact your GBG GO account manager to update the credentials for your modules.When you call the
/journey/state/fetch endpoint and receive a âCOMPLETEDâ status (rather than a credentials error), this means that the journey has been successfully finished. All tasks associated with this journey instance have been completed, and no further action is required.Immediate logout after authentication
Immediate logout after authentication
If you are a new user who attempts to log in to GBG GO with valid credentials but is immediately logged out, this might be because your organization hasnât been created in the system yet. The account exists, but without an associated organization the system cannot direct you to your dashboard. As a result, the system automatically logs you out.To resolve this, contact your GBG GO account manager for help troubleshooting the issue.
Facematch task returns an error in adaptive journeys
Facematch task returns an error in adaptive journeys
In adaptive mode, the Facematch Verification module requires both face images to be submitted in the API payload. Submitting only one image causes the task to fail.
Symptom
When you run a journey in adaptive mode and reach the facematch verification task, the submit task data request returns a system error. The same journey completes successfully when executed in prefill mode.Cause
The Facematch Verification module compares two face images against each other to produce a match decision. The module needs both images available before it can run:face1Imageis the selfie image captured during the journey.face2Imageis the anchor (reference) image that the selfie is compared against.
context.subject when the journey starts, so the platform has everything it needs for facematch verification. In adaptive mode, task data is collected progressively as the journey executes. Youâre responsible for submitting both images together when the facematch verification task is presented.If only one of face1Image or face2Image is submitted, then the Facematch Verification module cannot perform the comparison and the task returns an error.Resolution
When the Facematch Verification task is reached, submitface1Image (selfie) and face2Image (anchor) together in the API payload:JSON
Why this differs from prefill
Prefill journeys front-load all subject data when the journey starts, so modules that depend on multiple inputs receive them before any task runs. Adaptive journeys collect data task-by-task, which means modules with multi-input dependencies, such as facematch verification must receive all required inputs in the API payload for that task.If a task errors in adaptive mode but works in prefill, check the moduleâs reference page for the inputs that task expects.Webhook fires before the journey completes
Webhook fires before the journey completes
The Webhook module is a variant, so when the webhook fires, the journey technically hasnât completed yet. Calling
/journey/state/fetch immediately after receiving the webhook can return a state that doesnât yet reflect journey completion.To handle this:- Implement a short delay before calling
/journey/state/fetchafter receiving the webhook. - Implement a retry mechanism on your
/journey/state/fetchcall to handle cases where the state isnât yet finalised.
Webhook arrives before you have the journey's instance ID (prefill, synchronous mode)
Webhook arrives before you have the journey's instance ID (prefill, synchronous mode)
Symptom
You start a journey that contains a Webhook module in prefill mode. Your webhook endpoint receives a POST as part of the journey execution, before theinstanceId is returned to your system. Because this is the first time your system has seen this instanceId, it isnât tracking it, so the webhook gets dropped and you canât act on it or fetch the results.Cause
In prefill mode, the/journey/start call is synchronous by default. The call only returns its response, including the instanceId, after every module in the journey has finished processing.The Webhook module runs inside the journey, as the last module before the journey completes. Its payload includes the instanceId:JSON
/journey/start call returns, so your application receives the webhook before it has the instanceId from the API response. The instanceId is in both places, but the webhook arrives first, so your system has nothing to match it against.Resolution
Run journeys that contain a Webhook module in asynchronous mode. Add"async": true to the config object in the request context when you call /journey/start:cURL
/journey/start returns the instanceId immediately and the journey processes in the background. Store the instanceId, then match the webhook against it when it arrives and call /journey/state/fetch to retrieve the result:- Call
/journey/startwith"config": { "async": true }and store the returnedinstanceId. - When the webhook arrives, look up the stored
instanceIdfrom the payload. - Call
/journey/state/fetchfor thatinstanceIdto retrieve the final state. If the state isnât finalised yet, apply the short delay or retry described in âWebhook fires before the journey completesâ above.
Why this differs from synchronous prefill
Synchronous prefill suits callers that want a single blocking request that returns the full result, with no webhook involved. When you add a Webhook module, the webhook fires from inside the journey before the synchronous response returns, so you receive the completion signal before theinstanceId. Asynchronous mode gives you the instanceId up front, so the webhook becomes a signal you can act on. It also avoids client-side timeouts on long-running prefill journeys.For all execution modes, see Step 2: Start a journey and How to use and configure a Webhook module.PEPs and Sanctions screening only matches on city and country, not the full address
PEPs and Sanctions screening only matches on city and country, not the full address
Symptom
You submit a full street address in the PEPs and Sanctions request, but the screening results only appear to consider the subjectâs name, date of birth, and country. This leads to more false positive matches than expected, particularly in ongoing monitoring (OGM).Cause
The PEPs and Sanctions screening service only uses country and city (locality) when matching an address.It does not use street-level detail. This is by design, the service compares submitted details against watchlist records, which themselves typically only hold country and city-level address data.You can see this in the available hit types. The most granular address-based match codes areFull name, DOB, city and country matched and Full name, city and country matched.There is no match type that includes street name or building number.For details, see the PEPs and Sanctions module reference.The input payload reflects this, the currentAddress object only accepts locality and country:JSON
Resolution
To improve match accuracy and reduce false positives, always populate bothcurrentAddress.locality (city or town) and currentAddress.country when they are available.Providing the city in addition to the country gives the screening service more identity elements to match against, which narrows results and lowers the false positive rate. Street-level fields are not used and do not need to be sent.