Is there a clean way to ensure channel_id is included in the bulk export manifest for WhatsApp messages? The current job configuration drops this field, breaking our chain of custody validation for the EU legal hold request.
export_job:
type: digital_messages
channel: whatsapp
destination:
type: s3
bucket: gen-legal-eu
metadata_inclusion: [timestamp, participant_id]
The API returns 200 OK, but the resulting JSON lacks the required channel identifier. Platform version 2024-08, Architect v4.2.
It depends, but typically the issue stems from how the manifest schema is interpreted during the initial job setup. When simulating bulk exports for digital channels like WhatsApp, the platform often defaults to a minimal metadata set unless explicitly overridden in the request body. The 200 OK response only confirms the job started, not that the schema validation passed for your custom fields.
Try updating the metadata_inclusion array to include channel_id directly in the POST request payload, rather than relying on the default configuration. Here is a sample JSON structure that usually resolves this:
{
"type": "digital_messages",
"channel": "whatsapp",
"metadata_fields": ["timestamp", "participant_id", "channel_id"]
}
Check the Export API Documentation for the exact field names. If the field still drops, it might be a rate limit issue on the manifest generation service, which can happen when high-concurrency jobs hit the S3 destination simultaneously. Monitor the job status endpoint for any hidden errors.
It varies, but usually the manifest schema needs explicit mapping. Use genesyscloud_export with a custom CSV schema to force channel_id inclusion.