Class: ShopifyAPI::Ping::Conversation

Inherits:
Base show all
Defined in:
lib/shopify_api/resources/ping/conversation.rb

Instance Method Summary collapse

Methods inherited from Base

activate_session, #as_json, clear_session, #encode, #headers, init_prefix, init_prefix_explicit, #persisted?

Methods included from Countable

#count

Methods inherited from ActiveResource::Base

delete, headers

Instance Method Details

#failed_delivery(message_id:, delivery_timestamp:, details:) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/shopify_api/resources/ping/conversation.rb', line 30

def failed_delivery(message_id:, delivery_timestamp:, details:)
  delivery_details = ShopifyAPI::Ping::DeliveryConfirmation.new(
    conversation_id: id,
    message_id: message_id,
    delivery_confirmation_details: {
      delivered: false,
      confirmation_timestamp: delivery_timestamp,
      details: details,
    }
  )
  delivery_details.save
  delivery_details
end

#send_message(message_attrs) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/shopify_api/resources/ping/conversation.rb', line 8

def send_message(message_attrs)
  message = ShopifyAPI::Ping::Message.new(
    message_attrs.merge(conversation_id: id)
  )

  message.save
  message
end

#successful_delivery(message_id:, delivery_timestamp:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/shopify_api/resources/ping/conversation.rb', line 17

def successful_delivery(message_id:, delivery_timestamp:)
  delivery_details = ShopifyAPI::Ping::DeliveryConfirmation.new(
    conversation_id: id,
    message_id: message_id,
    delivery_confirmation_details: {
      delivered: true,
      confirmation_timestamp: delivery_timestamp,
    }
  )
  delivery_details.save
  delivery_details
end