Sha256: 9c1661c335635a7fb5153f953a3431150b76672db9b889ff952b18f263b5a2b5

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Whats
  module Actions
    class SendHsmMessage
      PATH = "/v1/messages"

      def initialize(client, wa_id, namespace, element_name, language, params)
        @client       = client
        @wa_id        = wa_id
        @namespace    = namespace
        @element_name = element_name
        @language     = language
        @params       = params
      end

      def call
        client.request PATH, payload
      end

      private

      attr_reader :client, :wa_id, :namespace, :element_name, :language, :params

      def payload
        {
          hsm: {
            element_name: element_name,
            language: language.is_a?(Hash) ? language : language_options(language),
            localizable_params: params,
            namespace: namespace
          },
          recipient_type: :individual,
          to: wa_id,
          type: :hsm
        }
      end

      def language_options(language)
        {
          code: language,
          policy: :deterministic
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
whatsapp-1.0.0 lib/whats/actions/send_hsm_message.rb