Class: WhopSDK::Resources::Webhooks
- Inherits:
-
Object
- Object
- WhopSDK::Resources::Webhooks
- Defined in:
- lib/whop_sdk/resources/webhooks.rb
Overview
Webhooks
Instance Method Summary collapse
-
#create(url:, api_version: nil, child_resource_events: nil, enabled: nil, events: nil, resource_id: nil, request_options: {}) ⇒ WhopSDK::Models::WebhookCreateResponse
Some parameter documentations has been truncated, see Models::WebhookCreateParams for more details.
-
#delete(id, request_options: {}) ⇒ Boolean
Deletes a webhook.
-
#initialize(client:) ⇒ Webhooks
constructor
private
A new instance of Webhooks.
-
#list(company_id:, after: nil, before: nil, first: nil, last: nil, request_options: {}) ⇒ WhopSDK::Internal::CursorPage<WhopSDK::Models::WebhookListResponse>
Returns a paginated list of webhook endpoints configured for a company, ordered by most recently created.
-
#retrieve(id, request_options: {}) ⇒ WhopSDK::Models::Webhook
Retrieves the details of an existing webhook.
- #unwrap(payload, headers:, key: @client.webhook_key) ⇒ WhopSDK::Models::InvoiceCreatedWebhookEvent, ...
-
#update(id, api_version: nil, child_resource_events: nil, enabled: nil, events: nil, url: nil, request_options: {}) ⇒ WhopSDK::Models::Webhook
Updates a webhook.
Constructor Details
#initialize(client:) ⇒ Webhooks
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Webhooks.
188 189 190 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 188 def initialize(client:) @client = client end |
Instance Method Details
#create(url:, api_version: nil, child_resource_events: nil, enabled: nil, events: nil, resource_id: nil, request_options: {}) ⇒ WhopSDK::Models::WebhookCreateResponse
Some parameter documentations has been truncated, see Models::WebhookCreateParams for more details.
Creates a new webhook
Required permissions:
-
‘developer:manage_webhook`
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 35 def create(params) parsed, = WhopSDK::WebhookCreateParams.dump_request(params) @client.request( method: :post, path: "webhooks", body: parsed, model: WhopSDK::Models::WebhookCreateResponse, options: ) end |
#delete(id, request_options: {}) ⇒ Boolean
Deletes a webhook
Required permissions:
-
‘developer:manage_webhook`
158 159 160 161 162 163 164 165 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 158 def delete(id, params = {}) @client.request( method: :delete, path: ["webhooks/%1$s", id], model: WhopSDK::Internal::Type::Boolean, options: params[:request_options] ) end |
#list(company_id:, after: nil, before: nil, first: nil, last: nil, request_options: {}) ⇒ WhopSDK::Internal::CursorPage<WhopSDK::Models::WebhookListResponse>
Returns a paginated list of webhook endpoints configured for a company, ordered by most recently created.
Required permissions:
-
‘developer:manage_webhook`
130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 130 def list(params) parsed, = WhopSDK::WebhookListParams.dump_request(params) query = WhopSDK::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "webhooks", query: query, page: WhopSDK::Internal::CursorPage, model: WhopSDK::Models::WebhookListResponse, options: ) end |
#retrieve(id, request_options: {}) ⇒ WhopSDK::Models::Webhook
Retrieves the details of an existing webhook.
Required permissions:
-
‘developer:manage_webhook`
61 62 63 64 65 66 67 68 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 61 def retrieve(id, params = {}) @client.request( method: :get, path: ["webhooks/%1$s", id], model: WhopSDK::Webhook, options: params[:request_options] ) end |
#unwrap(payload, headers:, key: @client.webhook_key) ⇒ WhopSDK::Models::InvoiceCreatedWebhookEvent, ...
174 175 176 177 178 179 180 181 182 183 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 174 def unwrap(payload, headers:, key: @client.webhook_key) if key.nil? raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument") end ::StandardWebhooks::Webhook.new(key).verify(payload, headers) parsed = JSON.parse(payload, symbolize_names: true) WhopSDK::Internal::Type::Converter.coerce(WhopSDK::Models::UnwrapWebhookEvent, parsed) end |
#update(id, api_version: nil, child_resource_events: nil, enabled: nil, events: nil, url: nil, request_options: {}) ⇒ WhopSDK::Models::Webhook
Updates a webhook
Required permissions:
-
‘developer:manage_webhook`
95 96 97 98 99 100 101 102 103 104 |
# File 'lib/whop_sdk/resources/webhooks.rb', line 95 def update(id, params = {}) parsed, = WhopSDK::WebhookUpdateParams.dump_request(params) @client.request( method: :patch, path: ["webhooks/%1$s", id], body: parsed, model: WhopSDK::Webhook, options: ) end |