24 lines
940 B
Ruby
Executable File
24 lines
940 B
Ruby
Executable File
class Whatsapp::IncomingMessageZapiService < Whatsapp::IncomingMessageBaseService
|
|
include Events::Types
|
|
include Whatsapp::ZapiHandlers::ConnectedCallback
|
|
include Whatsapp::ZapiHandlers::DisconnectedCallback
|
|
include Whatsapp::ZapiHandlers::ReceivedCallback
|
|
include Whatsapp::ZapiHandlers::DeliveryCallback
|
|
include Whatsapp::ZapiHandlers::MessageStatusCallback
|
|
|
|
def perform
|
|
return if processed_params[:type].blank?
|
|
|
|
Rails.configuration.dispatcher.dispatch(PROVIDER_EVENT_RECEIVED, Time.zone.now, inbox: inbox, event: processed_params[:type],
|
|
payload: processed_params)
|
|
|
|
event_prefix = processed_params[:type].underscore
|
|
method_name = "process_#{event_prefix}"
|
|
if respond_to?(method_name, true)
|
|
send(method_name)
|
|
else
|
|
Rails.logger.warn "Z-API unsupported event: #{processed_params.inspect}"
|
|
end
|
|
end
|
|
end
|