Module: Facebook::Messenger::Subscriptions

Includes:
HTTParty
Defined in:
lib/facebook/messenger/subscriptions.rb

Overview

Module Subscriptions handles subscribing and unsubscribing Applications

to Pages.

Defined Under Namespace

Classes: Error

Class Method Summary collapse

Class Method Details

.raise_errors(response) ⇒ Object

If there is any error in response, raise error.

Parameters:

  • response (Hash)

    Response from facebook.

Returns:

  • Raise the error.

Raises:



75
76
77
# File 'lib/facebook/messenger/subscriptions.rb', line 75

def raise_errors(response)
  raise Error, response['error'] if response.key? 'error'
end

.subscribe(access_token:, subscribed_fields: []) ⇒ Boolean

Function subscribe the facebook app to page.

Parameters:

  • access_token (String)

    Access token of page to which bot has to subscribe.

Returns:

  • (Boolean)

    TRUE

Raises:

See Also:



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/facebook/messenger/subscriptions.rb', line 30

def subscribe(access_token:, subscribed_fields: [])
  response = post '/subscribed_apps',
                  headers: { 'Content-Type' => 'application/json' },
                  body: {
                    access_token: access_token,
                    subscribed_fields: subscribed_fields
                  }.to_json

  raise_errors(response)

  true
end

.unsubscribe(access_token:) ⇒ Boolean

Function unsubscribe the app from facebook page.

Parameters:

  • access_token (String)

    Access token of page from which app has to unsubscribe.

Returns:

  • (Boolean)

    TRUE

Raises:

See Also:



55
56
57
58
59
60
61
62
63
# File 'lib/facebook/messenger/subscriptions.rb', line 55

def unsubscribe(access_token:)
  response = delete '/subscribed_apps', query: {
    access_token: access_token
  }

  raise_errors(response)

  true
end