We are currently migrating quality scoring logic from NICE CXone to Genesys Cloud Quality Management. The CXone form uses string values for Satisfaction while the target Genesys Cloud evaluation expects integer values (1-5). When sending a POST request to /quality/v2/evaluations, we receive a 400 Bad Request error stating Invalid value type for field ID. The environment is US-East-1, Platform Version 23.09.0. We have verified the form IDs match using the GET endpoint. Is there a transformation step required before submission?
In CIC we used to handle data types automatically during export. The Genesys Cloud API is stricter than PureConnect Quality Management tools. Trying to force string integers causes failures without explicit type casting in the payload. This migration path is more complex than expected.
Business continuity requires robust error handling for these submissions. If the API returns a 400, do not retry immediately without data correction. Implement an idempotency key to prevent duplicate evaluation records during network blips. Ensure the WFM system logs the payload before sending.
Solution Steps
- Retrieve Form Definition First
Use GET /quality/v2/forms/{formId} to check field types. - Cast Values Correctly
Convert strings to integers in the JSON body.
{
"evaluationFormId": "uuid-here",
"fieldValues": [
{
"fieldId": "field-123",
"value": 5,
"type": "integer"
}
]
}
FWIW YMMV based on form configuration.