Class: FlexOps::Resources::Analytics

Inherits:
Object
  • Object
show all
Defined in:
lib/flexops/resources/analytics.rb

Constant Summary collapse

BASE =
"/api/ApiProxy/api/v4/Analytics"

Instance Method Summary collapse

Constructor Details

#initialize(http) ⇒ Analytics

Returns a new instance of Analytics.



14
15
16
# File 'lib/flexops/resources/analytics.rb', line 14

def initialize(http)
  @http = http
end

Instance Method Details

#carrier_performance(start_date: nil, end_date: nil) ⇒ Object



66
67
68
# File 'lib/flexops/resources/analytics.rb', line 66

def carrier_performance(start_date: nil, end_date: nil)
  @http.get("#{BASE}/CarrierPerformance", query: date_query(start_date, end_date))
end

#carrier_summary(start_date: nil, end_date: nil) ⇒ Object



22
23
24
# File 'lib/flexops/resources/analytics.rb', line 22

def carrier_summary(start_date: nil, end_date: nil)
  @http.get("#{BASE}/CarrierSummary", query: date_query(start_date, end_date))
end

#delivery_performance(start_date: nil, end_date: nil) ⇒ Object



74
75
76
# File 'lib/flexops/resources/analytics.rb', line 74

def delivery_performance(start_date: nil, end_date: nil)
  @http.get("#{BASE}/DeliveryPerformance", query: date_query(start_date, end_date))
end

#inventory_metricsObject



30
31
32
# File 'lib/flexops/resources/analytics.rb', line 30

def inventory_metrics
  @http.get("#{BASE}/InventoryMetrics")
end

#order_metrics(start_date: nil, end_date: nil) ⇒ Object



38
39
40
# File 'lib/flexops/resources/analytics.rb', line 38

def order_metrics(start_date: nil, end_date: nil)
  @http.get("#{BASE}/OrderMetrics", query: date_query(start_date, end_date))
end

#order_trend(start_date: nil, end_date: nil) ⇒ Object



42
43
44
# File 'lib/flexops/resources/analytics.rb', line 42

def order_trend(start_date: nil, end_date: nil)
  @http.get("#{BASE}/OrderTrend", query: date_query(start_date, end_date))
end

#performance_metrics(start_date: nil, end_date: nil) ⇒ Object



62
63
64
# File 'lib/flexops/resources/analytics.rb', line 62

def performance_metrics(start_date: nil, end_date: nil)
  @http.get("#{BASE}/PerformanceMetrics", query: date_query(start_date, end_date))
end

#return_reasons(start_date: nil, end_date: nil) ⇒ Object



58
59
60
# File 'lib/flexops/resources/analytics.rb', line 58

def return_reasons(start_date: nil, end_date: nil)
  @http.get("#{BASE}/ReturnReasons", query: date_query(start_date, end_date))
end

#returns_metrics(start_date: nil, end_date: nil) ⇒ Object



50
51
52
# File 'lib/flexops/resources/analytics.rb', line 50

def returns_metrics(start_date: nil, end_date: nil)
  @http.get("#{BASE}/ReturnsMetrics", query: date_query(start_date, end_date))
end

#returns_trend(start_date: nil, end_date: nil) ⇒ Object



54
55
56
# File 'lib/flexops/resources/analytics.rb', line 54

def returns_trend(start_date: nil, end_date: nil)
  @http.get("#{BASE}/ReturnsTrend", query: date_query(start_date, end_date))
end

#shipments_trend(start_date: nil, end_date: nil) ⇒ Object



18
19
20
# File 'lib/flexops/resources/analytics.rb', line 18

def shipments_trend(start_date: nil, end_date: nil)
  @http.get("#{BASE}/ShipmentsTrend", query: date_query(start_date, end_date))
end

#shipping_cost_analytics(start_date: nil, end_date: nil) ⇒ Object



70
71
72
# File 'lib/flexops/resources/analytics.rb', line 70

def shipping_cost_analytics(start_date: nil, end_date: nil)
  @http.get("#{BASE}/ShippingCostAnalytics", query: date_query(start_date, end_date))
end

#stock_by_warehouseObject



34
35
36
# File 'lib/flexops/resources/analytics.rb', line 34

def stock_by_warehouse
  @http.get("#{BASE}/StockByWarehouse")
end

#top_destinations(start_date: nil, end_date: nil, limit: nil) ⇒ Object



26
27
28
# File 'lib/flexops/resources/analytics.rb', line 26

def top_destinations(start_date: nil, end_date: nil, limit: nil)
  @http.get("#{BASE}/TopDestinations", query: date_query(start_date, end_date).merge(limit: limit).compact)
end

#top_selling_products(start_date: nil, end_date: nil, limit: nil) ⇒ Object



46
47
48
# File 'lib/flexops/resources/analytics.rb', line 46

def top_selling_products(start_date: nil, end_date: nil, limit: nil)
  @http.get("#{BASE}/TopSellingProducts", query: date_query(start_date, end_date).merge(limit: limit).compact)
end