40 lines
1.2 KiB
Ruby
40 lines
1.2 KiB
Ruby
# Script to update existing test conversations with Funnel Data
|
|
[7, 8, 9, 10, 11, 12, 13, 14, 15].each do |id|
|
|
conv = Conversation.find_by(id: id)
|
|
next unless conv
|
|
|
|
puts "Updating Conversation ##{id}..."
|
|
|
|
# Find or create insight
|
|
insight = conv.crm_insights.first
|
|
insight ||= conv.crm_insights.create!(
|
|
account_id: conv.account_id,
|
|
contact_id: conv.contact_id,
|
|
status: :success,
|
|
generated_at: Time.current,
|
|
structured_data: {}
|
|
)
|
|
|
|
data = insight.structured_data || {}
|
|
|
|
# Helper to mock messages if none exist (unlikely for these test ones but safe)
|
|
msg_ids = conv.messages.pluck(:id)
|
|
|
|
data['funnel'] = {
|
|
'stage' => 'availability',
|
|
'confidence' => 0.85,
|
|
'reason' => 'Cliente demostrou interesse e perguntou disponibilidade (Simulação).',
|
|
'evidence_message_ids' => msg_ids,
|
|
'updated_at' => Time.current.iso8601
|
|
}
|
|
|
|
# Ensure other requisite fields for the sidebar to look 'normal'
|
|
data['summary_text'] = 'Resumo automático para teste do funil (Dados Injetados Manualmente).'
|
|
data['intent'] = 'Reserva Rapida'
|
|
data['urgency'] = 'high'
|
|
data['commercial_status'] = 'Interessado'
|
|
|
|
insight.update!(structured_data: data)
|
|
puts "Conversation ##{id} UPDATED successfully."
|
|
end
|