Class: Whatsapp::Webhook::Status
- Inherits:
-
Object
- Object
- Whatsapp::Webhook::Status
show all
- Defined in:
- lib/ruby/whatsapp/webhook/status.rb,
lib/ruby/whatsapp/webhook/status/pricing.rb,
lib/ruby/whatsapp/webhook/status/conversation.rb
Overview
A single statuses[] entry from the messages webhook field — a delivery
status update (sent/delivered/read/failed) for a message you sent.
Defined Under Namespace
Classes: Conversation, Pricing
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(id:, status:, timestamp:, recipient_id:, conversation: nil, pricing: nil, errors: []) ⇒ Status
Returns a new instance of Status.
36
37
38
39
40
41
42
43
44
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 36
def initialize(id:, status:, timestamp:, recipient_id:, conversation: nil, pricing: nil, errors: [])
@id = id
@status = status
@timestamp = timestamp
@recipient_id = recipient_id
@conversation = conversation
@pricing = pricing
@errors = errors
end
|
Instance Attribute Details
26
27
28
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 26
def conversation
@conversation
end
|
#errors ⇒ Array<Error>
34
35
36
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 34
def errors
@errors
end
|
#id ⇒ String?
Returns The wamid of the message this status is about.
10
11
12
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 10
def id
@id
end
|
30
31
32
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 30
def pricing
@pricing
end
|
#recipient_id ⇒ String?
22
23
24
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 22
def recipient_id
@recipient_id
end
|
#status ⇒ String?
Returns "sent", "delivered", "read", or "failed".
14
15
16
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 14
def status
@status
end
|
#timestamp ⇒ String?
18
19
20
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 18
def timestamp
@timestamp
end
|
Class Method Details
.deserialize(data) ⇒ Status
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/ruby/whatsapp/webhook/status.rb', line 49
def deserialize(data)
data ||= {}
new(
id: data["id"],
status: data["status"],
timestamp: data["timestamp"],
recipient_id: data["recipient_id"],
conversation: data["conversation"] ? Conversation.deserialize(data["conversation"]) : nil,
pricing: data["pricing"] ? Pricing.deserialize(data["pricing"]) : nil,
errors: Array(data["errors"]).map { |error_data| Error.deserialize(error_data) }
)
end
|