CPR Debugging Guide
Checking CPR Logs
To investigate what happened with a transaction:
- Go to the CPR Debugging Dashboard on Kibana
- Search with:
"transactionid:<id>" AND "appId:<id>" - The logs will contain different events that happened for the transactionId
How to read the logs
Each event follows the format <api>-<event>.
For example, get-transaction-state-started is sent when the get-transaction-state API has started.
Alternatively, you can check the Metabase table for CPR logs.
Still Not Resolved?
If debugging steps don't resolve the issue:
- Raise the query in
#platform-sdks-requestsfollowing the Engineering Team Escalation Matrix - Highlight all debugging steps performed and insights gained
Auth Token Reference Table
| authenticateOnResume | phoneNumber/email | uniqueId embedded? | uniqueId created in BE? | CPR Auth enabled? |
|---|---|---|---|---|
no | not passed | yes | yes | not enabled |
no | passed | yes | yes | not enabled |
yes | not passed | no | no | enabled |
yes | passed | no | yes | enabled |
Common Raised Issues
CPR API returning uniqueid-conflict or uniqueid invalid error
Cause: The uniqueId passed by the client is not the same as the uniqueId in CPR backend DB. This generally happens when a different uniqueId is passed for the same transactionId on a subsequent call.
Example:
- For transactionId
user_123, initiallyaf8d0354-9d07-4c04-af5c-162bcb1ad753was passed - Later, a different uniqueId is passed → API returns
uniqueId-conflict
To investigate the stored uniqueId:
- Raise a request in
#permissionswith category:Permission For: AWS - PII Data Access - S3 Object Paths format:
prod-cross-platform-resume-ind/*/<appId>/<transactionId>/*
Example:
prod-cross-platform-resume-ind/*/c4xyy7/89974141/*
For multiple transactionIds under one appId:
prod-cross-platform-resume-ind/*/c4xyy7/* - Once permission is granted, download the data from the
prod-cross-platform-resume-indbucket to check the uniqueId passed in the headers