Class: MWS::Subscriptions::Client

Inherits:
Peddler::Client show all
Defined in:
lib/mws/subscriptions/client.rb

Overview

The Amazon MWS Subscriptions API section enables you to subscribe to receive notifications that are relevant to your business with Amazon. With the operations in the Subscriptions API section, you can register to receive important information from Amazon without having to poll the Amazon MWS service. Instead, the information is sent directly to you when an event occurs to which you are subscribed.

Instance Attribute Summary

Attributes inherited from Peddler::Client

#auth_token, #body, #merchant_id, #path, #primary_marketplace_id, #version

Instance Method Summary collapse

Methods inherited from Peddler::Client

#aws_endpoint, #defaults, #error_handler, #headers, #initialize, #marketplace, #marketplace_id, #marketplace_id=, on_error, #on_error, #operation, path, #run, version

Constructor Details

This class inherits a constructor from Peddler::Client

Instance Method Details

#create_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Creates a new subscription



76
77
78
79
80
81
82
# File 'lib/mws/subscriptions/client.rb', line 76

def create_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('CreateSubscription')
    .add('MarketplaceId' => marketplace_id)
    .add(build_subscription(notification_type, sqs_queue_url))

  run
end

#delete_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Deletes a subscription



109
110
111
112
113
114
115
116
117
118
# File 'lib/mws/subscriptions/client.rb', line 109

def delete_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('DeleteSubscription')
    .add(
      'MarketplaceId' => marketplace_id,
      'NotificationType' => notification_type
    )
    .add(build_destination(sqs_queue_url))

  run
end

#deregister_destination(sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Removes an existing destination from the list of registered destinations



35
36
37
38
39
40
41
# File 'lib/mws/subscriptions/client.rb', line 35

def deregister_destination(sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('DeregisterDestination')
    .add('MarketplaceId' => marketplace_id)
    .add(build_destination(sqs_queue_url))

  run
end

#get_service_statusPeddler::XMLParser

Gets the service status of the API



152
153
154
155
# File 'lib/mws/subscriptions/client.rb', line 152

def get_service_status
  operation('GetServiceStatus')
  run
end

#get_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Gets a subscription



91
92
93
94
95
96
97
98
99
100
# File 'lib/mws/subscriptions/client.rb', line 91

def get_subscription(notification_type, sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('GetSubscription')
    .add(
      'MarketplaceId' => marketplace_id,
      'NotificationType' => notification_type
    )
    .add(build_destination(sqs_queue_url))

  run
end

#list_registered_destinations(marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Lists all registered destinations



48
49
50
51
52
53
# File 'lib/mws/subscriptions/client.rb', line 48

def list_registered_destinations(marketplace_id = primary_marketplace_id)
  operation('ListRegisteredDestinations')
    .add('MarketplaceId' => marketplace_id)

  run
end

#list_subscriptions(marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Lists current subscriptions



125
126
127
128
129
130
# File 'lib/mws/subscriptions/client.rb', line 125

def list_subscriptions(marketplace_id = primary_marketplace_id)
  operation('ListSubscriptions')
    .add('MarketplaceId' => marketplace_id)

  run
end

#register_destination(sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Registers a new destination to receive notifications



21
22
23
24
25
26
27
# File 'lib/mws/subscriptions/client.rb', line 21

def register_destination(sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('RegisterDestination')
    .add('MarketplaceId' => marketplace_id)
    .add(build_destination(sqs_queue_url))

  run
end

#send_test_notification_to_destination(sqs_queue_url, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Sends a test notification to an existing destination



61
62
63
64
65
66
67
# File 'lib/mws/subscriptions/client.rb', line 61

def send_test_notification_to_destination(sqs_queue_url, marketplace_id = primary_marketplace_id)
  operation('SendTestNotificationToDestination')
    .add('MarketplaceId' => marketplace_id)
    .add(build_destination(sqs_queue_url))

  run
end

#update_subscription(notification_type, sqs_queue_url, enabled, marketplace_id = primary_marketplace_id) ⇒ Peddler::XMLParser

Updates a subscription



140
141
142
143
144
145
146
# File 'lib/mws/subscriptions/client.rb', line 140

def update_subscription(notification_type, sqs_queue_url, enabled, marketplace_id = primary_marketplace_id)
  operation('UpdateSubscription')
    .add('MarketplaceId' => marketplace_id)
    .add(build_subscription(notification_type, sqs_queue_url, enabled))

  run
end