api = XCRM_API::get_instance(); } private function demo_param() { return get_option('xcrm_use_fake_data', false) ? ['demo' => 'true'] : []; } public function get_traffic_sources() { return $this->api->get('stats/traffic-sources/', $this->demo_param(), true); } public function get_revenue_sources() { return $this->api->get('stats/revenue-sources/', $this->demo_param(), true); } public function get_customer_behavior() { return $this->api->get('stats/customer-behavior/', $this->demo_param(), true); } public function get_top_products() { return $this->api->get('stats/top-products/', $this->demo_param(), true); } public function get_product_behavior($product_id) { return $this->api->get("stats/product/{$product_id}/behavior/", $this->demo_param(), true); } public function get_sales_opportunities() { return $this->api->get('stats/sales-opportunities/', $this->demo_param(), true); } public function get_abandoned_carts() { return $this->api->get('stats/abandoned-carts/', $this->demo_param(), true); } public function get_inactive_customers() { return $this->api->get('stats/inactive-customers/', $this->demo_param(), true); } public function search_contacts($query) { $params = array_merge(['q' => $query], $this->demo_param()); return $this->api->get('stats/contacts/search/', $params, true); } public function get_customer_journey($contact_id) { return $this->api->get("stats/contacts/{$contact_id}/journey/", $this->demo_param(), true); } public function get_customer_acquisition($customer_id) { return $this->api->get("stats/customer/{$customer_id}/acquisition/", $this->demo_param(), true); } public function get_data_readiness() { return $this->api->get('stats/data-readiness/', $this->demo_param(), true); } }