Class: SpreeCmCommissioner::ChatraceOrderCreator
- Inherits:
-
BaseInteractor
- Object
- BaseInteractor
- SpreeCmCommissioner::ChatraceOrderCreator
- Defined in:
- app/interactors/spree_cm_commissioner/chatrace_order_creator.rb
Instance Method Summary collapse
Instance Method Details
#call ⇒ Object
8 9 10 11 12 13 |
# File 'app/interactors/spree_cm_commissioner/chatrace_order_creator.rb', line 8 def call context.order_creator = create_order return context.fail!(message: context.order_creator.) unless context.order_creator.success? notify_user end |
#create_order ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/interactors/spree_cm_commissioner/chatrace_order_creator.rb', line 15 def create_order SpreeCmCommissioner::OrderImporter::SingleGuest.call( guest_token: guest_token, params: order_params.slice( :order_email, :order_phone_number, :variant_id, *SpreeCmCommissioner::Guest.csv_importable_columns ) ) end |
#notify_user ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/interactors/spree_cm_commissioner/chatrace_order_creator.rb', line 27 def notify_user client = Faraday.new( url: "https://#{chatrace_api_host}", headers: { 'X-ACCESS-TOKEN' => chatrace_access_token, 'Content-Type' => 'application/json' } ) response = client.post("/api/users/#{chatrace_user_id}/send/#{chatrace_return_flow_id}") context.fail!(message: 'notify_user_failed') unless response.status == 200 end |