Sha256: e5131884a19c48a3f60a5740e6b83ff9e41f6f12175d086e6c8df4446932cdc0

Contents?: true

Size: 1.72 KB

Versions: 6

Compression:

Stored size: 1.72 KB

Contents

# typed: strict
# frozen_string_literal: true

require_relative "request"
require_relative "response"

module WhatsappSdk
  module Api
    class BusinessProfile < Request
      DEFAULT_FIELDS = 'about,address,description,email,profile_picture_url,websites,vertical'

      # Get the details of business profile.
      #
      # @param phone_number_id [Integer] Phone Number Id.
      # @return [WhatsappSdk::Api::Response] Response object.
      sig { params(phone_number_id: Integer).returns(WhatsappSdk::Api::Response) }
      def details(phone_number_id)
        response = send_request(
          http_method: "get",
          endpoint: "#{phone_number_id}/whatsapp_business_profile?fields=#{DEFAULT_FIELDS}"
        )

        WhatsappSdk::Api::Response.new(
          response: response,
          data_class_type: WhatsappSdk::Api::Responses::BusinessProfileDataResponse
        )
      end

      # Update the details of business profile.
      #
      # @param phone_number_id [Integer] Phone Number Id.
      # @param params [Hash] Params to update.
      # @return [WhatsappSdk::Api::Response] Response object.
      sig do
        params(
          phone_number_id: Integer, params: T::Hash[T.untyped, T.untyped]
        ).returns(WhatsappSdk::Api::Response)
      end
      def update(phone_number_id:, params:)
        # this is a required field
        params[:messaging_product] = 'whatsapp'

        response = send_request(
          http_method: "post",
          endpoint: "#{phone_number_id}/whatsapp_business_profile",
          params: params
        )

        WhatsappSdk::Api::Response.new(
          response: response,
          data_class_type: WhatsappSdk::Api::Responses::SuccessResponse
        )
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
whatsapp_sdk-0.9.2 lib/whatsapp_sdk/api/business_profile.rb
whatsapp_sdk-0.9.1 lib/whatsapp_sdk/api/business_profile.rb
whatsapp_sdk-0.9.0 lib/whatsapp_sdk/api/business_profile.rb
whatsapp_sdk-0.8.0 lib/whatsapp_sdk/api/business_profile.rb
whatsapp_sdk-0.7.3 lib/whatsapp_sdk/api/business_profile.rb
whatsapp_sdk-0.7.2 lib/whatsapp_sdk/api/business_profile.rb