Sha256: 54582d536d62a4875fe8e6def2c459b08217bd2896d6b7dcffbfcdfe75379281

Contents?: true

Size: 1.19 KB

Versions: 8

Compression:

Stored size: 1.19 KB

Contents

# typed: true
# frozen_string_literal: true

# require 'pry'

module CloudWaba
  module Models
    module Messages
      class Response < T::Struct
        extend ::T::Sig
        extend ::T::Helpers
        ##
        # {
        #   "messaging_product"=>"whatsapp",
        #   "contacts"=>[
        #     {"input"=>"+201111111111", "wa_id"=>"202222222222"}
        #   ],
        #   "messages"=>[
        #     {"id"=>"wamid.HBgMMjUIzSNRIREAMOjAFQzxRjygADgAMAD1FQExzzIQMMjzM2UMxZ=="}
        #   ]
        # } 
        prop :messaging_product, ::CloudWaba::Models::Enums::MessagingProduct
        prop :contacts, ::T::Array[::CloudWaba::Models::Contact]
        prop :message_id, ::String

        sig { params(hash: ::T::Hash[::T.untyped, ::T.untyped]).returns(::CloudWaba::Models::Messages::Response) }
        def self.parse(hash:)
          contact_wa_id = hash["contacts"][0]["wa_id"]
          message_id = hash["messages"][0]["id"]

          self.new(
            messaging_product: ::CloudWaba::Models::Enums::MessagingProduct::WhatsApp,
            contacts: [::CloudWaba::Models::Contact.new(wa_id: contact_wa_id)],
            message_id: message_id
          )
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cloud-waba-ruby-client-0.0.9 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.8 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.7 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.6 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.5 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.3 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.2 lib/cloud_waba/models/messages/response.rb
cloud-waba-ruby-client-0.0.1 lib/cloud_waba/models/messages/response.rb