FAQ
Q: Can I create a destination without Kafka connector?
A: Yes. You can use database-only or configurations:
// Database only "connectorConfig": { "mariaDb": { "connectorType": "MARIADB", "datasourceName": "MY_DATASOURCE", "databaseName": "events_db" } }
Q: How do I know which templateId to use?
A: Run get-all-message-templates to see available templates:
./CliTool.sh get-all-message-templates
Template Selection Guide:
- Journey (ID: 1): Publishing to HCL Journey for customer journey orchestration
- Interact (ID: 2): Real-time offer delivery to HCL Interact
- CDP (ID: 3): Customer data platform synchronization
- Generic (ID: 4): Generic integrations or non-standard formats
Q: Can I use multiple feed mappings in one destination?
A: Yes. The feedAttributeMapping array can contain multiple feed
mappings:
"feedAttributeMapping": [ { "feedId": 1, "attributes": { ... } }, { "feedId": 2, "attributes": { ... } }, { "feedId": 3, "attributes": { ... } } ]
This allows one destination to handle events from multiple feeds.
Q: What happens if I specify both Kafka and Database connectors?
A: Events are published to both destinations:
- Published to Kafka topic (async, high-throughput)
- Persisted to MariaDB database (for audit, compliance)
Both operations occur for every triggered event. This is useful for:
- Audit logging: Keep database records while streaming to Kafka
- Multi-channel delivery: Kafka for real-time, database for batch processing
- Compliance: Maintain immutable audit trail in database
Q: How do I update just the Kafka topic without changing other settings?
A: You must provide the complete destination configuration in update payload. To change only the topic:
- Get current
configuration:
./CliTool.sh get-destination-by-id -id 42 > current.json - Edit
current.json- change only the topic field - Update:
./CliTool.sh update-destination -id 42 -f current.jsonNote: Future enhancement may support partial updates (PATCH). Current version requires full configuration.
Q: Can I test destination connectivity before creating?
A: Yes, use configuration validation commands:
# Validate Kafka cluster
./CliTool.sh validate-kafka-cluster -cluster "primary-kafka-cluster" -topic "events-topic"
# Validate datasource
./CliTool.sh validate-datasource -datasource "MY_DATASOURCE" -database "my_db"
Note: Check if these validation commands exist in your CLI
version.
Q: What's the difference between create-destination and create-custom-destination-template?
A:
create-destination:
- Uses pre-configured message templates (Journey, Interact, CDP, Generic)
- Template already exists in Detect
- Only specify
templateIdand template-specificmessageConfig
create-custom-destination-template:
- Creates a new custom message template (no destination is persisted)
- Defines template structure via the 'templateConfig' map and a FreeMarker 'template' body
- Use when standard templates don't fit your use case; then reference the newly created template's ID in a subsequent 'create-destination' call
Q: How do I list all destinations without pagination?
A: Use a large page size:
# Retrieve up to 1000 destinations in one call
./CliTool.sh get-all-destinations -page 0 -size 1000
Note: For very large numbers, iterate through pages:
# Get all destinations across multiple pages
for page in 0 1 2 3 4; do
./CliTool.sh get-all-destinations -page $page -size 100 >> all-destinations.txt
done