Migrating digital channels from Zendesk to Genesys Cloud feels like upgrading from simple ticket comments to live interaction overlays, but the webhook integration is hitting a wall. In Zendesk, we relied on static JSON payloads for ticket updates, but Genesys Cloud’s interaction API seems much stricter about schema validation.
When attempting to push a Zendesk ticket update to GC via the POST /api/v2/interactions/events:put endpoint, the system returns a 400 Bad Request with error code API_REQUEST_INVALID. The error message states: Field 'type' is required but missing in nested object 'routing'.
The Zendesk payload maps the ticket status to a GC interaction state, but the routing object structure appears different than expected. In Zendesk, an ‘Open’ ticket with a pending reply is clear. In GC, how does the WebRTC softphone handoff handle this metadata? Specifically, is the routing object expecting a specific skill group ID format that differs from Zendesk’s tag system?
Environment details:
- Genesys Cloud Version: 2023-10 (Release 10)
- Zendesk API Version: v2
- Integration: Custom Node.js middleware handling the webhook
Has anyone seen this specific API_REQUEST_INVALID error when mapping Zendesk tags to GC routing skills? Any example payloads for the routing object would be incredibly helpful to bridge this gap.