Class: Peddler::APIs::ServicesV1

Inherits:
Peddler::API show all
Defined in:
lib/peddler/apis/services_v1.rb,
lib/peddler/apis/services_v1/poa.rb,
lib/peddler/apis/services_v1/buyer.rb,
lib/peddler/apis/services_v1/error.rb,
lib/peddler/apis/services_v1/seller.rb,
lib/peddler/apis/services_v1/address.rb,
lib/peddler/apis/services_v1/payment.rb,
lib/peddler/apis/services_v1/warning.rb,
lib/peddler/apis/services_v1/error_list.rb,
lib/peddler/apis/services_v1/fixed_slot.rb,
lib/peddler/apis/services_v1/range_slot.rb,
lib/peddler/apis/services_v1/recurrence.rb,
lib/peddler/apis/services_v1/technician.rb,
lib/peddler/apis/services_v1/appointment.rb,
lib/peddler/apis/services_v1/job_listing.rb,
lib/peddler/apis/services_v1/reservation.rb,
lib/peddler/apis/services_v1/service_job.rb,
lib/peddler/apis/services_v1/linked_asset.rb,
lib/peddler/apis/services_v1/money_amount.rb,
lib/peddler/apis/services_v1/warning_list.rb,
lib/peddler/apis/services_v1/item_delivery.rb,
lib/peddler/apis/services_v1/scope_of_work.rb,
lib/peddler/apis/services_v1/range_capacity.rb,
lib/peddler/apis/services_v1/associated_item.rb,
lib/peddler/apis/services_v1/date_time_range.rb,
lib/peddler/apis/services_v1/appointment_slot.rb,
lib/peddler/apis/services_v1/appointment_time.rb,
lib/peddler/apis/services_v1/fulfillment_time.rb,
lib/peddler/apis/services_v1/service_location.rb,
lib/peddler/apis/services_v1/encryption_details.rb,
lib/peddler/apis/services_v1/availability_record.rb,
lib/peddler/apis/services_v1/fixed_slot_capacity.rb,
lib/peddler/apis/services_v1/range_slot_capacity.rb,
lib/peddler/apis/services_v1/appointment_resource.rb,
lib/peddler/apis/services_v1/availability_records.rb,
lib/peddler/apis/services_v1/fulfillment_document.rb,
lib/peddler/apis/services_v1/service_job_provider.rb,
lib/peddler/apis/services_v1/appointment_resources.rb,
lib/peddler/apis/services_v1/fulfillment_documents.rb,
lib/peddler/apis/services_v1/item_delivery_promise.rb,
lib/peddler/apis/services_v1/appointment_time_input.rb,
lib/peddler/apis/services_v1/update_schedule_record.rb,
lib/peddler/apis/services_v1/add_appointment_request.rb,
lib/peddler/apis/services_v1/appointment_slot_report.rb,
lib/peddler/apis/services_v1/service_upload_document.rb,
lib/peddler/apis/services_v1/update_schedule_request.rb,
lib/peddler/apis/services_v1/set_appointment_response.rb,
lib/peddler/apis/services_v1/update_schedule_response.rb,
lib/peddler/apis/services_v1/create_reservation_record.rb,
lib/peddler/apis/services_v1/fixed_slot_capacity_query.rb,
lib/peddler/apis/services_v1/get_service_jobs_response.rb,
lib/peddler/apis/services_v1/range_slot_capacity_query.rb,
lib/peddler/apis/services_v1/update_reservation_record.rb,
lib/peddler/apis/services_v1/create_reservation_request.rb,
lib/peddler/apis/services_v1/fixed_slot_capacity_errors.rb,
lib/peddler/apis/services_v1/range_slot_capacity_errors.rb,
lib/peddler/apis/services_v1/update_reservation_request.rb,
lib/peddler/apis/services_v1/cancel_reservation_response.rb,
lib/peddler/apis/services_v1/create_reservation_response.rb,
lib/peddler/apis/services_v1/update_reservation_response.rb,
lib/peddler/apis/services_v1/get_appointment_slots_response.rb,
lib/peddler/apis/services_v1/reschedule_appointment_request.rb,
lib/peddler/apis/services_v1/service_document_upload_destination.rb,
lib/peddler/apis/services_v1/assign_appointment_resources_request.rb,
lib/peddler/apis/services_v1/assign_appointment_resources_response.rb,
lib/peddler/apis/services_v1/set_appointment_fulfillment_data_request.rb,
lib/peddler/apis/services_v1/create_service_document_upload_destination.rb,
lib/peddler/apis/services_v1/get_service_job_by_service_job_id_response.rb,
lib/peddler/apis/services_v1/cancel_service_job_by_service_job_id_response.rb,
lib/peddler/apis/services_v1/complete_service_job_by_service_job_id_response.rb,
sig/peddler/apis/services_v1.rbs

Overview

Selling Partner API for Services

With the Services API, you can build applications that help service providers get and modify their service orders and manage their resources.

Defined Under Namespace

Classes: AddAppointmentRequest, Address, Appointment, AppointmentResource, AppointmentResources, AppointmentSlot, AppointmentSlotReport, AppointmentTime, AppointmentTimeInput, AssignAppointmentResourcesRequest, AssignAppointmentResourcesResponse, AssociatedItem, AvailabilityRecord, AvailabilityRecords, Buyer, CancelReservationResponse, CancelServiceJobByServiceJobIdResponse, CompleteServiceJobByServiceJobIdResponse, CreateReservationRecord, CreateReservationRequest, CreateReservationResponse, CreateServiceDocumentUploadDestination, DateTimeRange, EncryptionDetails, Error, ErrorList, FixedSlot, FixedSlotCapacity, FixedSlotCapacityErrors, FixedSlotCapacityQuery, FulfillmentDocument, FulfillmentDocuments, FulfillmentTime, GetAppointmentSlotsResponse, GetServiceJobByServiceJobIdResponse, GetServiceJobsResponse, ItemDelivery, ItemDeliveryPromise, JobListing, LinkedAsset, MoneyAmount, Payment, Poa, RangeCapacity, RangeSlot, RangeSlotCapacity, RangeSlotCapacityErrors, RangeSlotCapacityQuery, Recurrence, RescheduleAppointmentRequest, Reservation, ScopeOfWork, Seller, ServiceDocumentUploadDestination, ServiceJob, ServiceJobProvider, ServiceLocation, ServiceUploadDocument, SetAppointmentFulfillmentDataRequest, SetAppointmentResponse, Technician, UpdateReservationRecord, UpdateReservationRequest, UpdateReservationResponse, UpdateScheduleRecord, UpdateScheduleRequest, UpdateScheduleResponse, Warning, WarningList

Constant Summary

Constants inherited from Peddler::API

Peddler::API::TRANSIENT_STATUSES

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint, #retries

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #delete, #endpoint_uri, #get, #http, #initialize, #must_sandbox!, #patch, #percent_encode, #post, #put, #request, #sandbox, #sandbox?, #stringify_array, #timestamp, #user_agent

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#add_appointment_for_service_job_by_service_job_id(service_job_id, body, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Adds an appointment to the service job indicated by the service job identifier specified.



130
131
132
133
134
# File 'lib/peddler/apis/services_v1.rb', line 130

def add_appointment_for_service_job_by_service_job_id(service_job_id, body, rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/appointments"
  parser = -> { SetAppointmentResponse }
  post(path, body:, rate_limit:, parser:)
end

#assign_appointment_resources(service_job_id, appointment_id, body, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Assigns new resource(s) or overwrite/update the existing one(s) to a service job appointment.



160
161
162
163
164
# File 'lib/peddler/apis/services_v1.rb', line 160

def assign_appointment_resources(service_job_id, appointment_id, body, rate_limit: 1.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/appointments/#{percent_encode(appointment_id)}/resources"
  parser = -> { AssignAppointmentResourcesResponse }
  put(path, body:, rate_limit:, parser:)
end

#cancel_reservation(reservation_id, marketplace_ids, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Cancel a reservation.



275
276
277
278
279
280
281
282
# File 'lib/peddler/apis/services_v1.rb', line 275

def cancel_reservation(reservation_id, marketplace_ids, rate_limit: 5.0)
  path = "/service/v1/reservation/#{percent_encode(reservation_id)}"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = -> { CancelReservationResponse }
  delete(path, params:, rate_limit:, parser:)
end

#cancel_service_job_by_service_job_id(service_job_id, cancellation_reason_code, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Cancels the service job indicated by the service job identifier specified.



34
35
36
37
38
39
40
41
# File 'lib/peddler/apis/services_v1.rb', line 34

def cancel_service_job_by_service_job_id(service_job_id, cancellation_reason_code, rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/cancellations"
  params = {
    "cancellationReasonCode" => cancellation_reason_code,
  }.compact
  parser = -> { CancelServiceJobByServiceJobIdResponse }
  put(path, params:, rate_limit:, parser:)
end

#complete_service_job_by_service_job_id(service_job_id, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Completes the service job indicated by the service job identifier specified.



49
50
51
52
53
# File 'lib/peddler/apis/services_v1.rb', line 49

def complete_service_job_by_service_job_id(service_job_id, rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/completions"
  parser = -> { CompleteServiceJobByServiceJobIdResponse }
  put(path, rate_limit:, parser:)
end

#create_reservation(body, marketplace_ids, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Create a reservation.



242
243
244
245
246
247
248
249
# File 'lib/peddler/apis/services_v1.rb', line 242

def create_reservation(body, marketplace_ids, rate_limit: 5.0)
  path = "/service/v1/reservation"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = -> { CreateReservationResponse }
  post(path, body:, params:, rate_limit:, parser:)
end

#create_service_document_upload_destination(body, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Creates an upload destination.



342
343
344
345
346
# File 'lib/peddler/apis/services_v1.rb', line 342

def create_service_document_upload_destination(body, rate_limit: 5.0)
  path = "/service/v1/documents"
  parser = -> { CreateServiceDocumentUploadDestination }
  post(path, body:, rate_limit:, parser:)
end

#get_appointment_slots(asin, store_id, marketplace_ids, start_time: nil, end_time: nil, rate_limit: 20.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Gets appointment slots as per the service context specified.



323
324
325
326
327
328
329
330
331
332
333
334
# File 'lib/peddler/apis/services_v1.rb', line 323

def get_appointment_slots(asin, store_id, marketplace_ids, start_time: nil, end_time: nil, rate_limit: 20.0)
  path = "/service/v1/appointmentSlots"
  params = {
    "asin" => asin,
    "storeId" => store_id,
    "marketplaceIds" => stringify_array(marketplace_ids),
    "startTime" => start_time,
    "endTime" => end_time,
  }.compact
  parser = -> { GetAppointmentSlotsResponse }
  get(path, params:, rate_limit:, parser:)
end

#get_appointmment_slots_by_job_id(service_job_id, marketplace_ids, start_time: nil, end_time: nil, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Gets appointment slots for the service associated with the service job id specified.



297
298
299
300
301
302
303
304
305
306
307
# File 'lib/peddler/apis/services_v1.rb', line 297

def get_appointmment_slots_by_job_id(service_job_id, marketplace_ids, start_time: nil, end_time: nil,
  rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/appointmentSlots"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
    "startTime" => start_time,
    "endTime" => end_time,
  }.compact
  parser = -> { GetAppointmentSlotsResponse }
  get(path, params:, rate_limit:, parser:)
end

#get_fixed_slot_capacity(resource_id, body, marketplace_ids, next_page_token: nil, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides capacity in fixed-size slots.



208
209
210
211
212
213
214
215
216
# File 'lib/peddler/apis/services_v1.rb', line 208

def get_fixed_slot_capacity(resource_id, body, marketplace_ids, next_page_token: nil, rate_limit: 5.0)
  path = "/service/v1/serviceResources/#{percent_encode(resource_id)}/capacity/fixed"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
    "nextPageToken" => next_page_token,
  }.compact
  parser = -> { FixedSlotCapacity }
  post(path, body:, params:, rate_limit:, parser:)
end

#get_range_slot_capacity(resource_id, body, marketplace_ids, next_page_token: nil, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Provides capacity slots in a format similar to availability records.



189
190
191
192
193
194
195
196
197
# File 'lib/peddler/apis/services_v1.rb', line 189

def get_range_slot_capacity(resource_id, body, marketplace_ids, next_page_token: nil, rate_limit: 5.0)
  path = "/service/v1/serviceResources/#{percent_encode(resource_id)}/capacity/range"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
    "nextPageToken" => next_page_token,
  }.compact
  parser = -> { RangeSlotCapacity }
  post(path, body:, params:, rate_limit:, parser:)
end

#get_service_job_by_service_job_id(service_job_id, rate_limit: 20.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Gets details of service job indicated by the provided serviceJobID.



20
21
22
23
24
# File 'lib/peddler/apis/services_v1.rb', line 20

def get_service_job_by_service_job_id(service_job_id, rate_limit: 20.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}"
  parser = -> { GetServiceJobByServiceJobIdResponse }
  get(path, rate_limit:, parser:)
end

#get_service_jobs(marketplace_ids, service_order_ids: nil, product_order_ids: nil, tracking_ids: nil, service_job_status: nil, page_token: nil, page_size: 20, sort_field: nil, sort_order: nil, created_after: nil, created_before: nil, last_updated_after: nil, last_updated_before: nil, schedule_start_date: nil, schedule_end_date: nil, asins: nil, required_skills: nil, store_ids: nil, rate_limit: 10.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Gets service job details for the specified filter query.



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/peddler/apis/services_v1.rb', line 94

def get_service_jobs(marketplace_ids, service_order_ids: nil, product_order_ids: nil, tracking_ids: nil,
  service_job_status: nil, page_token: nil, page_size: 20, sort_field: nil, sort_order: nil, created_after: nil,
  created_before: nil, last_updated_after: nil, last_updated_before: nil, schedule_start_date: nil,
  schedule_end_date: nil, asins: nil, required_skills: nil, store_ids: nil, rate_limit: 10.0)
  path = "/service/v1/serviceJobs"
  params = {
    "serviceOrderIds" => stringify_array(service_order_ids),
    "productOrderIds" => stringify_array(product_order_ids),
    "trackingIds" => stringify_array(tracking_ids),
    "serviceJobStatus" => stringify_array(service_job_status),
    "pageToken" => page_token,
    "pageSize" => page_size,
    "sortField" => sort_field,
    "sortOrder" => sort_order,
    "createdAfter" => created_after,
    "createdBefore" => created_before,
    "lastUpdatedAfter" => last_updated_after,
    "lastUpdatedBefore" => last_updated_before,
    "scheduleStartDate" => schedule_start_date,
    "scheduleEndDate" => schedule_end_date,
    "marketplaceIds" => stringify_array(marketplace_ids),
    "asins" => stringify_array(asins),
    "requiredSkills" => stringify_array(required_skills),
    "storeIds" => stringify_array(store_ids),
  }.compact
  parser = -> { GetServiceJobsResponse }
  get(path, params:, rate_limit:, parser:)
end

#reschedule_appointment_for_service_job_by_service_job_id(service_job_id, appointment_id, body, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Reschedules an appointment for the service job indicated by the service job identifier specified.



144
145
146
147
148
149
# File 'lib/peddler/apis/services_v1.rb', line 144

def reschedule_appointment_for_service_job_by_service_job_id(service_job_id, appointment_id, body,
  rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/appointments/#{percent_encode(appointment_id)}"
  parser = -> { SetAppointmentResponse }
  post(path, body:, rate_limit:, parser:)
end

#set_appointment_fulfillment_data(service_job_id, appointment_id, body, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Updates the appointment fulfillment data related to a given jobID and appointmentID.



175
176
177
178
# File 'lib/peddler/apis/services_v1.rb', line 175

def set_appointment_fulfillment_data(service_job_id, appointment_id, body, rate_limit: 5.0)
  path = "/service/v1/serviceJobs/#{percent_encode(service_job_id)}/appointments/#{percent_encode(appointment_id)}/fulfillment"
  put(path, body:, rate_limit:)
end

#update_reservation(reservation_id, body, marketplace_ids, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Update a reservation.



259
260
261
262
263
264
265
266
# File 'lib/peddler/apis/services_v1.rb', line 259

def update_reservation(reservation_id, body, marketplace_ids, rate_limit: 5.0)
  path = "/service/v1/reservation/#{percent_encode(reservation_id)}"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = -> { UpdateReservationResponse }
  put(path, body:, params:, rate_limit:, parser:)
end

#update_schedule(resource_id, body, marketplace_ids, rate_limit: 5.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Update the schedule of the given resource.



226
227
228
229
230
231
232
233
# File 'lib/peddler/apis/services_v1.rb', line 226

def update_schedule(resource_id, body, marketplace_ids, rate_limit: 5.0)
  path = "/service/v1/serviceResources/#{percent_encode(resource_id)}/schedules"
  params = {
    "marketplaceIds" => stringify_array(marketplace_ids),
  }.compact
  parser = -> { UpdateScheduleResponse }
  put(path, body:, params:, rate_limit:, parser:)
end