Class: MethodRuby::Resources::Webhooks

Inherits:
Object
  • Object
show all
Defined in:
lib/method_ruby/resources/webhooks.rb

Overview

Webhook subscriptions

Instance Method Summary collapse

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.

Parameters:



173
174
175
# File 'lib/method_ruby/resources/webhooks.rb', line 173

def initialize(client:)
  @client = client
end

Instance Method Details

#create(type:, url:, method_version:, auth_token: nil, expand_event: nil, hmac_secret: nil, metadata: nil, idempotency_key: nil, request_options: {}) ⇒ MethodRuby::Models::WebhookCreateResponse

Some parameter documentations has been truncated, see Models::WebhookCreateParams for more details.

Creates a new webhook subscription for the specified event type.

Parameters:

  • type (Symbol, MethodRuby::Models::WebhookCreateParams::Type)

    Body param: The event type this webhook subscribes to.

  • url (String)

    Body param: URL to receive webhook events.

  • method_version (Symbol, MethodRuby::Models::WebhookCreateParams::MethodVersion)

    Header param: API version to use for this request. This spec targets ‘2025-12-01

  • auth_token (String)

    Body param: Authentication token to include in outbound webhook request headers.

  • expand_event (Boolean)

    Body param: Whether to include the full resource data in the webhook payload.

  • hmac_secret (String)

    Body param: HMAC secret used to sign outbound webhook deliveries. This value is

  • metadata (Hash{Symbol=>Object}, nil)

    Body param: Arbitrary key-value metadata attached to the resource.

  • idempotency_key (String)

    Header param: Idempotency key for safely retrying a write request. Reuse the sam

  • request_options (MethodRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/method_ruby/resources/webhooks.rb', line 35

def create(params)
  parsed, options = MethodRuby::WebhookCreateParams.dump_request(params)
  header_params = {method_version: "method-version", idempotency_key: "idempotency-key"}
  @client.request(
    method: :post,
    path: "webhooks",
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: MethodRuby::Models::WebhookCreateResponse,
    security: {secret_key: true},
    options: options
  )
end

#delete(webhook_id, method_version:, idempotency_key: nil, request_options: {}) ⇒ MethodRuby::Models::WebhookDeleteResponse

Some parameter documentations has been truncated, see Models::WebhookDeleteParams for more details.

Deletes a webhook subscription.

Parameters:

Returns:

See Also:



155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/method_ruby/resources/webhooks.rb', line 155

def delete(webhook_id, params)
  parsed, options = MethodRuby::WebhookDeleteParams.dump_request(params)
  @client.request(
    method: :delete,
    path: ["webhooks/%1$s", webhook_id],
    headers: parsed.transform_keys(
      method_version: "method-version",
      idempotency_key: "idempotency-key"
    ),
    model: MethodRuby::Models::WebhookDeleteResponse,
    security: {secret_key: true},
    options: options
  )
end

#list(method_version:, request_options: {}) ⇒ MethodRuby::Models::WebhookListResponse

Some parameter documentations has been truncated, see Models::WebhookListParams for more details.

Returns all active and requires-attention webhooks for the authenticated team.

Parameters:

Returns:

See Also:



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/method_ruby/resources/webhooks.rb', line 125

def list(params)
  parsed, options = MethodRuby::WebhookListParams.dump_request(params)
  @client.request(
    method: :get,
    path: "webhooks",
    headers: parsed.transform_keys(method_version: "method-version"),
    model: MethodRuby::Models::WebhookListResponse,
    security: {secret_key: true},
    options: options
  )
end

#retrieve(webhook_id, method_version:, request_options: {}) ⇒ MethodRuby::Models::WebhookRetrieveResponse

Some parameter documentations has been truncated, see Models::WebhookRetrieveParams for more details.

Returns a single webhook by its identifier.

Parameters:

Returns:

See Also:



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/method_ruby/resources/webhooks.rb', line 65

def retrieve(webhook_id, params)
  parsed, options = MethodRuby::WebhookRetrieveParams.dump_request(params)
  @client.request(
    method: :get,
    path: ["webhooks/%1$s", webhook_id],
    headers: parsed.transform_keys(method_version: "method-version"),
    model: MethodRuby::Models::WebhookRetrieveResponse,
    security: {secret_key: true},
    options: options
  )
end

#update(webhook_id, status:, method_version:, idempotency_key: nil, request_options: {}) ⇒ MethodRuby::Models::WebhookUpdateResponse

Some parameter documentations has been truncated, see Models::WebhookUpdateParams for more details.

Updates an existing webhook’s status.

Parameters:

Returns:

See Also:



97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/method_ruby/resources/webhooks.rb', line 97

def update(webhook_id, params)
  parsed, options = MethodRuby::WebhookUpdateParams.dump_request(params)
  header_params = {method_version: "method-version", idempotency_key: "idempotency-key"}
  @client.request(
    method: :patch,
    path: ["webhooks/%1$s", webhook_id],
    headers: parsed.slice(*header_params.keys).transform_keys(header_params),
    body: parsed.except(*header_params.keys),
    model: MethodRuby::Models::WebhookUpdateResponse,
    security: {secret_key: true},
    options: options
  )
end