class Attio::Webhook
def prepare_params_for_create(params)
def prepare_params_for_create(params) # Handle both url and target_url parameters for convenience target_url = params[:target_url] || params["target_url"] || params[:url] || params["url"] validate_target_url!(target_url) subscriptions = params[:subscriptions] || params["subscriptions"] validate_subscriptions!(subscriptions) { data: { target_url: target_url, subscriptions: Array(subscriptions).map do |sub| # Ensure each subscription has a filter sub = sub.is_a?(Hash) ? sub : {"event_type" => sub} sub["filter"] ||= {"$and" => []} # Default empty filter sub end } } end