Class: Axene::Mailer::Resources::Webhooks
- Inherits:
-
Object
- Object
- Axene::Mailer::Resources::Webhooks
- Defined in:
- lib/axene/mailer/resources/webhooks.rb
Overview
The webhooks resource: manage event subscriptions and inspect deliveries. Accessed as client.webhooks.
Instance Method Summary collapse
-
#create(url:, events:) ⇒ Hash
Create a webhook.
-
#delete(id) ⇒ nil
Delete a webhook.
-
#get_delivery(id, delivery_id) ⇒ Hash
Fetch one delivery with its full payload and the endpoint’s response.
-
#initialize(transport) ⇒ Webhooks
constructor
A new instance of Webhooks.
-
#list ⇒ Array<Hash>
List your active webhooks.
-
#list_deliveries(id, page: 0, limit: 20, status: nil) ⇒ Hash
List delivery attempts for a webhook (paginated envelope).
-
#test(id) ⇒ Hash
Queue a sample email.delivered delivery to test the endpoint.
-
#update(id, url: nil, events: nil, is_active: nil) ⇒ Hash
Update a webhook’s url, events, or active state (partial).
Constructor Details
#initialize(transport) ⇒ Webhooks
Returns a new instance of Webhooks.
10 11 12 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 10 def initialize(transport) @transport = transport end |
Instance Method Details
#create(url:, events:) ⇒ Hash
Create a webhook. The signing secret is generated and returned.
26 27 28 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 26 def create(url:, events:) @transport.request(:post, "/v1/webhooks/", body: { url: url, events: events }) end |
#delete(id) ⇒ nil
Delete a webhook.
47 48 49 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 47 def delete(id) @transport.request(:delete, "/v1/webhooks/#{Util.escape(id)}") end |
#get_delivery(id, delivery_id) ⇒ Hash
Fetch one delivery with its full payload and the endpoint’s response.
76 77 78 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 76 def get_delivery(id, delivery_id) @transport.request(:get, "/v1/webhooks/#{Util.escape(id)}/deliveries/#{Util.escape(delivery_id)}") end |
#list ⇒ Array<Hash>
List your active webhooks.
17 18 19 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 17 def list @transport.request(:get, "/v1/webhooks/") end |
#list_deliveries(id, page: 0, limit: 20, status: nil) ⇒ Hash
List delivery attempts for a webhook (paginated envelope).
66 67 68 69 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 66 def list_deliveries(id, page: 0, limit: 20, status: nil) @transport.request(:get, "/v1/webhooks/#{Util.escape(id)}/deliveries", query: { page: page, limit: limit, status: status }) end |
#test(id) ⇒ Hash
Queue a sample email.delivered delivery to test the endpoint.
55 56 57 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 55 def test(id) @transport.request(:post, "/v1/webhooks/#{Util.escape(id)}/test") end |
#update(id, url: nil, events: nil, is_active: nil) ⇒ Hash
Update a webhook’s url, events, or active state (partial). The is_active argument maps to the wire field is_active.
38 39 40 41 |
# File 'lib/axene/mailer/resources/webhooks.rb', line 38 def update(id, url: nil, events: nil, is_active: nil) @transport.request(:patch, "/v1/webhooks/#{Util.escape(id)}", body: Util.prune(url: url, events: events, is_active: is_active)) end |