Class: MuffinMan::Reports::V20210630
Constant Summary
collapse
- SANDBOX_REPORT_TYPES =
"FEE_DISCOUNTS_REPORT,GET_AFN_INVENTORY_DATA".freeze
- SANDBOX_PROCESSING_STATUSES =
"IN_QUEUE,IN_PROGRESS".freeze
- SANDBOX_REPORT_TYPE =
"GET_MERCHANT_LISTINGS_ALL_DATA".freeze
- SANDBOX_START_TIME =
"2019-12-10T20:11:24.000Z".freeze
- SANDBOX_CANCEL_REPORT_ID =
"ID".freeze
- SANDBOX_MARKETPLACE_IDS =
%w[
A1PA6795UKMFR9
ATVPDKIKX0DER
].freeze
- SANDBOX_REPORT_ID =
"ID323".freeze
- SANDBOX_REPORT_DOCUMENT_ID =
"0356cf79-b8b0-4226-b4b9-0ee058ea5760".freeze
- GET_REPORTS_PARAMS =
%w[
reportTypes
processingStatuses
marketplaceIds
pageSize
createdSince
createdUntil
nextToken
].freeze
Constants inherited
from SpApiClient
SpApiClient::ACCESS_TOKEN_URL, SpApiClient::AWS_REGION_MAP, SpApiClient::SERVICE_NAME, SpApiClient::UNPROCESSABLE_ENTITY_STATUS_CODE
Instance Attribute Summary
Attributes inherited from SpApiClient
#access_token_cache_key, #aws_access_key_id, #aws_secret_access_key, #client_id, #client_secret, #config, #credentials, #local_var_path, #pii_data_elements, #query_params, #refresh_token, #region, #request_body, #request_type, #sandbox, #scope, #sts_iam_role_arn
Instance Method Summary
collapse
Methods inherited from SpApiClient
#initialize
Instance Method Details
#cancel_report(report_id) ⇒ Object
64
65
66
67
68
69
|
# File 'lib/muffin_man/reports/v20210630.rb', line 64
def cancel_report(report_id)
report_id = sandbox ? SANDBOX_CANCEL_REPORT_ID : report_id
@local_var_path = "/reports/2021-06-30/reports/#{report_id}"
@request_type = "DELETE"
call_api
end
|
#create_report(report_type, marketplace_ids, start_time = nil, end_time = nil, report_options = {}) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/muffin_man/reports/v20210630.rb', line 39
def create_report(report_type, marketplace_ids, start_time = nil, end_time = nil, report_options = {})
report_type = sandbox ? SANDBOX_REPORT_TYPE : report_type
marketplace_ids = sandbox ? SANDBOX_MARKETPLACE_IDS : marketplace_ids
start_time = sandbox ? SANDBOX_START_TIME : start_time
@local_var_path = "/reports/2021-06-30/reports"
@request_body = {
"reportType" => report_type,
"marketplaceIds" => marketplace_ids
}
@request_body["dataStartTime"] = start_time unless start_time.nil?
@request_body["dataEndTime"] = end_time unless end_time.nil?
@request_body["reportOptions"] = report_options unless report_options.empty?
@request_type = "POST"
call_api
end
|
#get_report(report_id) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/muffin_man/reports/v20210630.rb', line 56
def get_report(report_id)
report_id = sandbox ? SANDBOX_REPORT_ID : report_id
@local_var_path = "/reports/2021-06-30/reports/#{report_id}"
@request_type = "GET"
@request_body = nil
call_api
end
|
#get_report_document(report_document_id) ⇒ Object
71
72
73
74
75
76
|
# File 'lib/muffin_man/reports/v20210630.rb', line 71
def get_report_document(report_document_id)
report_document_id = sandbox ? SANDBOX_REPORT_DOCUMENT_ID : report_document_id
@local_var_path = "/reports/2021-06-30/documents/#{report_document_id}"
@request_type = "GET"
call_api
end
|
#get_report_document_body(report_document_id) ⇒ Object
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/muffin_man/reports/v20210630.rb', line 78
def get_report_document_body(report_document_id)
response = get_report_document(report_document_id)
parsed_response=JSON.parse(response.body)
report=Net::HTTP.get(URI.parse(parsed_response['url']))
begin
unless (parsed_response['compressionAlgorithm']).nil?
input = StringIO.new(report)
report = Zlib::GzipReader.new(input).read
end
report
rescue Zlib::GzipFile::Error
report
end
end
|
#get_reports(params = {}) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/muffin_man/reports/v20210630.rb', line 26
def get_reports(params = {})
@local_var_path = "/reports/2021-06-30/reports"
if sandbox
params = {
"reportTypes" => SANDBOX_REPORT_TYPES,
"processingStatuses" => SANDBOX_PROCESSING_STATUSES
}
end
@query_params = params.slice(*GET_REPORTS_PARAMS)
@request_type = "GET"
call_api
end
|