Module: Peddler::Reports::AccountHealthReport20201118

Defined in:
lib/peddler/reports/account_health_report_2020_11_18.rb,
lib/peddler/reports/account_health_report_2020_11_18/report.rb,
lib/peddler/reports/account_health_report_2020_11_18/late_invoice.rb,
lib/peddler/reports/account_health_report_2020_11_18/warning_state.rb,
lib/peddler/reports/account_health_report_2020_11_18/account_status.rb,
lib/peddler/reports/account_health_report_2020_11_18/invoice_defect.rb,
lib/peddler/reports/account_health_report_2020_11_18/missing_invoice.rb,
lib/peddler/reports/account_health_report_2020_11_18/order_defect_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/late_shipment_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/performance_metric.rb,
lib/peddler/reports/account_health_report_2020_11_18/invoice_defect_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/valid_tracking_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/reporting_date_range.rb,
lib/peddler/reports/account_health_report_2020_11_18/account_health_rating.rb,
lib/peddler/reports/account_health_report_2020_11_18/on_time_delivery_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/listing_level_violation.rb,
lib/peddler/reports/account_health_report_2020_11_18/unit_on_time_delivery_rate.rb,
lib/peddler/reports/account_health_report_2020_11_18/pre_fulfillment_cancellation_rate.rb

Overview

The root schema comprises the entire JSON document.

Constant Summary collapse

Report =

The root schema comprises the entire JSON document.

Structure.new do
  # @return [Array<Object>] Seller's corresponding account status for each requested marketplace.
  attribute(:account_statuses, Array, from: "accountStatuses")

  # @return [Array<Object>] Seller's performance metrics for requeted marketpalces.
  attribute(:performance_metrics, Array, from: "performanceMetrics")
end
LateInvoice =

Total late invoice count in the time window.

Structure.new do
  # @return [Integer] Late invoice defects count.
  attribute(:count, Integer)

  # @return [String]
  attribute(:status, String)
end
WarningState =

Seller account warning state for 1 requested marketplace.

Structure.new do
  # @return [String] Seller account warning state status for 1 requested marketplace. It could be GOOD or BAD or
  # NONE.
  attribute(:status, String)

  # @return [String] Seller account warning type for 1 requested marketplace.
  attribute(:warning_type, String, from: "warningType")
end
AccountStatus =

Seller's corresponding account status for 1 requested marketplace.

Structure.new do
  # @return [String] A requested marketplace ID.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] Seller's account status for a requested marketplace.
  attribute(:status, String)
end
InvoiceDefect =

Total invoice defects count due to missing invoice and late invoice.

Structure.new do
  # @return [Integer] Invoice defects count.
  attribute(:count, Integer)

  # @return [String]
  attribute(:status, String)
end
MissingInvoice =

Total missing invoice count in the time window.

Structure.new do
  # @return [Integer] Missing invoice defects count.
  attribute(:count, Integer)

  # @return [String]
  attribute(:status, String)
end
OrderDefectRate =

Seller's MFN/AFN order defect rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [:self]
  attribute(:afn, :self)

  # @return [:self]
  attribute(:mfn, :self)
end
LateShipmentRate =

Seller's late shipment rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [Integer] Order defects count due to late shipment.
  attribute(:late_shipment_count, Integer, from: "lateShipmentCount")

  # @return [String]
  attribute(:order_count, String, from: "orderCount")

  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")
end
PerformanceMetric =

Report data for the program.

Structure.new do
  # @return [AccountHealthRating] Seller's account health rating within a given reporting date range for 1
  # requested marketplace.
  attribute(:account_health_rating, AccountHealthRating, from: "accountHealthRating")

  # @return [ListingLevelViolation]
  attribute(:document_requests, ListingLevelViolation, from: "documentRequests")

  # @return [ListingLevelViolation]
  attribute(:food_and_product_safety_issues, ListingLevelViolation, from: "foodAndProductSafetyIssues")

  # @return [InvoiceDefectRate] Seller's invoice defect rate within a given reporting date range for 1 requested
  # marketplace.
  attribute(:invoice_defect_rate, InvoiceDefectRate, from: "invoiceDefectRate")

  # @return [LateShipmentRate] Seller's late shipment rate within a given reporting date range for 1 requested
  # marketplace.
  attribute(:late_shipment_rate, LateShipmentRate, from: "lateShipmentRate")

  # @return [ListingLevelViolation]
  attribute(:listing_policy_violations, ListingLevelViolation, from: "listingPolicyViolations")

  # @return [String] A requested marketplace ID.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [OnTimeDeliveryRate] Seller's on-time delivery rate within a given reporting date range for 1
  # requested marketplace.
  attribute(:on_time_delivery_rate, OnTimeDeliveryRate, from: "onTimeDeliveryRate")

  # @return [OrderDefectRate] Seller's MFN/AFN order defect rate within a given reporting date range for 1
  # requested marketplace.
  attribute(:order_defect_rate, OrderDefectRate, from: "orderDefectRate")

  # @return [ListingLevelViolation]
  attribute(:other_policy_violations, ListingLevelViolation, from: "otherPolicyViolations")

  # @return [PreFulfillmentCancellationRate] Seller's pre-fulfillment cancellation rate within a given reporting
  # date range for 1 requested marketplace.
  attribute(:pre_fulfillment_cancellation_rate, PreFulfillmentCancellationRate, from: "preFulfillmentCancellationRate")

  # @return [ListingLevelViolation]
  attribute(:product_authenticity_customer_complaints, ListingLevelViolation, from: "productAuthenticityCustomerComplaints")

  # @return [ListingLevelViolation]
  attribute(:product_condition_customer_complaints, ListingLevelViolation, from: "productConditionCustomerComplaints")

  # @return [ListingLevelViolation]
  attribute(:product_safety_customer_complaints, ListingLevelViolation, from: "productSafetyCustomerComplaints")

  # @return [ListingLevelViolation]
  attribute(:received_intellectual_property_complaints, ListingLevelViolation, from: "receivedIntellectualPropertyComplaints")

  # @return [ListingLevelViolation]
  attribute(:restricted_product_policy_violations, ListingLevelViolation, from: "restrictedProductPolicyViolations")

  # @return [ListingLevelViolation]
  attribute(:suspected_intellectual_property_violations, ListingLevelViolation, from: "suspectedIntellectualPropertyViolations")

  # @return [UnitOnTimeDeliveryRate] The seller's on-time delivery rate at a unit level within a reporting date
  # range for one marketplace that you specify. This metric is only available in the US marketplace.
  attribute(:unit_on_time_delivery_rate, UnitOnTimeDeliveryRate, from: "unitOnTimeDeliveryRate")

  # @return [ValidTrackingRate] Seller's valid tracking rate within a given reporting date range for 1 requested
  # marketplace.
  attribute(:valid_tracking_rate, ValidTrackingRate, from: "validTrackingRate")

  # @return [Array<WarningState>] A list of seller warning states for 1 requested marketplace.
  attribute(:warning_states, [WarningState], from: "warningStates")
end
InvoiceDefectRate =

Seller's invoice defect rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [InvoiceDefect] Total invoice defects count due to missing invoice and late invoice.
  attribute(:invoice_defect, InvoiceDefect, from: "invoiceDefect")

  # @return [LateInvoice] Total late invoice count in the time window.
  attribute(:late_invoice, LateInvoice, from: "lateInvoice")

  # @return [MissingInvoice] Total missing invoice count in the time window.
  attribute(:missing_invoice, MissingInvoice, from: "missingInvoice")

  # @return [String]
  attribute(:order_count, String, from: "orderCount")

  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")
end
ValidTrackingRate =

Seller's valid tracking rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [Integer] The number of shipments within a given reporting date range for 1 requested marketplace.
  attribute(:shipment_count, Integer, from: "shipmentCount")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")

  # @return [Integer] Shipment with valid tracking count within a given reporting date range for 1 requested
  # marketplace.
  attribute(:valid_tracking_count, Integer, from: "validTrackingCount")
end
ReportingDateRange =

ReportingDateRange with start timestamp and end timestamp defined.

Structure.new do
  # @return [String] Reporting start date in UTC.
  attribute(:reporting_date_from, String, from: "reportingDateFrom")

  # @return [String] Reporting end date in UTC.
  attribute(:reporting_date_to, String, from: "reportingDateTo")
end
AccountHealthRating =

Seller's account health rating within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String] Seller's overall Account Health Rating status within a given reporting date range for 1
  # requested marketplace. It could be GREAT or WARNED
  attribute?(:account_health_rating_status, String, from: "accountHealthRatingStatus")
end
OnTimeDeliveryRate =

Seller's on-time delivery rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [Integer] On-time delivered shipment count within a given reporting date range for 1 requested
  # marketplace.
  attribute(:on_time_delivery_count, Integer, from: "onTimeDeliveryCount")

  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [Float] The number of shipments with valid tracking associated within a given reporting date range for
  # 1 requested marketplace.
  attribute(:shipment_count_with_valid_tracking, Float, from: "shipmentCountWithValidTracking")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")
end
ListingLevelViolation =

Seller's listing level violation metric within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [String]
  attribute(:defects_count, String, from: "defectsCount")

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")
end
UnitOnTimeDeliveryRate =

The seller's on-time delivery rate at a unit level within a reporting date range for one marketplace that you specify. This metric is only available in the US marketplace.

Structure.new do
  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")

  # @return [Integer] The total unit count within a reporting date range for one marketplace that you specify.
  attribute(:total_unit_count, Integer, from: "totalUnitCount")

  # @return [Integer] The on-time delivery unit count within a reporting date range for one marketplace that you
  # specify.
  attribute(:unit_on_time_delivery_count, Integer, from: "unitOnTimeDeliveryCount")
end
PreFulfillmentCancellationRate =

Seller's pre-fulfillment cancellation rate within a given reporting date range for 1 requested marketplace.

Structure.new do
  # @return [Integer] The number of seller faulted cancelled orders within a given reporting date range for 1
  # requested marketplace.
  attribute(:cancellation_count, Integer, from: "cancellationCount")

  # @return [String]
  attribute(:order_count, String, from: "orderCount")

  # @return [String]
  attribute(:rate, String)

  # @return [ReportingDateRange]
  attribute(:reporting_date_range, ReportingDateRange, from: "reportingDateRange")

  # @return [String]
  attribute(:status, String)

  # @return [String]
  attribute(:target_condition, String, from: "targetCondition")

  # @return [String]
  attribute(:target_value, String, from: "targetValue")
end

Class Method Summary collapse

Class Method Details

.parse(hash) ⇒ Object



12
13
14
# File 'lib/peddler/reports/account_health_report_2020_11_18.rb', line 12

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