Module: Peddler::Reports::SellingPartnerRepeatPurchase

Defined in:
lib/peddler/reports/selling_partner_repeat_purchase.rb,
lib/peddler/reports/selling_partner_repeat_purchase/report.rb,
lib/peddler/reports/selling_partner_repeat_purchase/data_by_asin.rb,
lib/peddler/reports/selling_partner_repeat_purchase/report_options.rb,
lib/peddler/reports/selling_partner_repeat_purchase/report_specification.rb

Overview

The Repeat Purchase report shares data on the quantity of repeated purchases of the selling partner's items. Data is available at different date range aggregation levels: WEEK, MONTH, QUARTER. Requests can span multiple reporting periods. In this report, "asin" is an ASIN in the selling partner's catalog.

Constant Summary collapse

Report =

The Repeat Purchase report shares data on the quantity of repeated purchases of the selling partner's items. Data is available at different date range aggregation levels: WEEK, MONTH, QUARTER. Requests can span multiple reporting periods. In this report, "asin" is an ASIN in the selling partner's catalog.

Structure.new do
  # @return [Array<DataByAsin>]
  attribute(:data_by_asin, [DataByASIN], from: "dataByAsin")

  # @return [Hash] Summarizes the original report request.
  attribute(:report_specification, ReportSpecification, from: "reportSpecification")
end
DataByASIN =

Contains repeat purchase analytics data for each ASIN in the selling partner's catalog

Structure.new do
  # @return [String] Amazon Standard Identification Number.
  attribute(:asin, String)

  # @return [Date] The end date of the data contained within the object.
  attribute(:end_date, Date, from: "endDate")

  # @return [Integer] The number of orders. An order may include multiple quantities of a product and differs from
  # ordered units.
  attribute(:orders, Integer)

  # @return [Float] Fraction of unique customers that are repeat customers.
  attribute(:repeat_customers_pct_total, Float, from: "repeatCustomersPctTotal")

  # @return [Money] Ordered revenue from repeat customers. Returns are not reflected.
  attribute(:repeat_purchase_revenue, Money, from: "repeatPurchaseRevenue")

  # @return [Float] Fraction of repeatPurchaseRevenue versus total revenue.
  attribute(:repeat_purchase_revenue_pct_total, Float, from: "repeatPurchaseRevenuePctTotal")

  # @return [Date] The start date of the data contained within the object. If the request spans multiple
  # reportPeriods, byAsin data will be shared for each of these reportPeriods.
  attribute(:start_date, Date, from: "startDate")

  # @return [Integer] Number of unique customers who placed an order containing the asin.
  attribute(:unique_customers, Integer, from: "uniqueCustomers")
end
ReportOptions =

Report options specifying parameters such as reportPeriod.

Structure.new do
  # @return [String] Determines what granularity of data is expected in the report. Valid values are: WEEK, MONTH,
  # QUARTER.
  attribute(:report_period, String, from: "reportPeriod")
end
ReportSpecification =

Summarizes the original report request.

Structure.new do
  # @return [Date] Determines the end date of the report - the time component is ignored. For WEEK, MONTH and
  # QUARTER reportPeriods, this value must correspond to the last day in the specified reportPeriod. For example,
  # dataEndTime must be a Saturday for the WEEK reportPeriod.
  attribute(:data_end_time, Date, from: "dataEndTime")

  # @return [Date] Determines the start date of the report - the time component is ignored. For WEEK, MONTH and
  # QUARTER reportPeriods, this value must correspond to the first day in the specified reportPeriod. For example,
  # dataStartTime must be a Sunday for the WEEK reportPeriod.
  attribute(:data_start_time, Date, from: "dataStartTime")

  # @return [Array<String>] This parameter must match the marketplaceId of the selling partner account. This
  # report type supports only one marketplaceId per report. Specifying multiple marketplaces will result in
  # failure to generate the report.
  attribute(:marketplace_ids, [String], from: "marketplaceIds")

  # @return [ReportOptions] Report options specifying parameters such as reportPeriod.
  attribute(:report_options, ReportOptions, from: "reportOptions")

  # @return [String] The report type.
  attribute(:report_type, String, from: "reportType")
end

Class Method Summary collapse

Class Method Details

.parse(hash) ⇒ Object



14
15
16
# File 'lib/peddler/reports/selling_partner_repeat_purchase.rb', line 14

def parse(hash)
  Report.parse(hash)
end