Class: Whatsapp::Webhook::Status::Conversation

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/whatsapp/webhook/status/conversation.rb

Overview

The conversation window a status update was billed/attributed to.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, origin_type:, expiration_timestamp: nil) ⇒ Conversation

Returns a new instance of Conversation.



20
21
22
23
24
# File 'lib/ruby/whatsapp/webhook/status/conversation.rb', line 20

def initialize(id:, origin_type:, expiration_timestamp: nil)
  @id = id
  @origin_type = origin_type
  @expiration_timestamp = expiration_timestamp
end

Instance Attribute Details

#expiration_timestampString?

Returns:

  • (String, nil)


18
19
20
# File 'lib/ruby/whatsapp/webhook/status/conversation.rb', line 18

def expiration_timestamp
  @expiration_timestamp
end

#idString?

Returns:

  • (String, nil)


10
11
12
# File 'lib/ruby/whatsapp/webhook/status/conversation.rb', line 10

def id
  @id
end

#origin_typeString?

Returns e.g. "service", "marketing", "utility", "authentication".

Returns:

  • (String, nil)

    e.g. "service", "marketing", "utility", "authentication".



14
15
16
# File 'lib/ruby/whatsapp/webhook/status/conversation.rb', line 14

def origin_type
  @origin_type
end

Class Method Details

.deserialize(data) ⇒ Conversation

Parameters:

  • data (Hash)

    The raw conversation hash.

Returns:



29
30
31
32
33
34
35
36
37
# File 'lib/ruby/whatsapp/webhook/status/conversation.rb', line 29

def deserialize(data)
  data ||= {}

  new(
    id: data["id"],
    origin_type: data.dig("origin", "type"),
    expiration_timestamp: data["expiration_timestamp"]
  )
end